# file: src/Makefile
#
#  2001 OpenCA Group

TOP	= ..
include $(TOP)/Makefile.global-vars

COMMON_DIR = common
MODULE_DIR = modules
OCSPD_DIR  = ocspd
OPENCA_SV  = openca-sv
OPENSCEP   = openscep
WEB_DIR    = web-interfaces

SUBDIRS = \
	$(COMMON_DIR)	\
	$(MODULE_DIR)	\
	$(OPENCA_SV)	\
	$(WEB_DIR)	\
	$(OPTIONAL_C_MODULES)

## MODULES.c = \
##	openca-sv \
##	$(OPTIONAL_C_MODULES)

#---- variable settings above, rules below ----

.PHONY:	default test install-ca install-node install-ra install-ldap install-common install-pub clean clean.local distclean

default::	$(SUBDIRS)

language::
		$(MAKE) $(COMMON_DIR) SUBTARGET=$@
		$(MAKE) $(WEB_DIR) SUBTARGET=$@

$(SUBDIRS)::
		cd $@ && $(MAKE) $(SUBTARGET)

test clean distclean::
		$(MAKE) $(COMMON_DIR) SUBTARGET=$@
		@## the modules have their own spec-files
		@if [ $(package_build) != "yes" ]; then \
			echo installing modules because it is not a package build; \
			$(MAKE) $(MODULE_DIR) SUBTARGET=$@; \
			$(MAKE) $(OPENCA_SV) SUBTARGET=$@; \
		else \
			echo not installing modules because it is a package build; \
		fi

install-common::
		$(MAKE) $(COMMON_DIR) SUBTARGET=install
		@## the modules have their own spec-files
		@if [ $(package_build) != "yes" ]; then \
			echo installing modules because it is not a package build; \
			$(MAKE) $(MODULE_DIR) SUBTARGET=install; \
			$(MAKE) $(OPENCA_SV) SUBTARGET=install; \
		else \
			echo not installing modules because it is a package build; \
		fi

install-ca install-node install-ra install-ldap install-pub::
		$(MAKE) $(WEB_DIR) SUBTARGET=$@

install-node::
		@if [ x"$(OPTIONAL_C_MODULES)" != x ]; then \
			$(MAKE) $(OPTIONAL_C_MODULES) SUBTARGET=install; \
		fi

test clean distclean::
		$(MAKE) $(SUBDIRS) SUBTARGET=$@

distclean::
		#$(RM)
