.PHONY: bindir ecere libec ecp ecc ecs cleantarget clean realclean distclean ifneq ($(V),1) .SILENT: endif OBJ = obj/bin.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ _CF_DIR = ../../ include $(_CF_DIR)crossplatform.mk include $(_CF_DIR)default.cf all: bindir ecere libec ecp ecc ecs $(call cp,ecp/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) ecc/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) ecs/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJ)) @$(call echo,All done!) bindir: $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ))) ecere: @$(call echo,Building ecere...) +cd ecere && $(_MAKE) libec: @$(call echo,Building ec...) +cd libec && $(_MAKE) ecp: ecere libec @$(call echo,Building ecp...) +cd ecp && $(_MAKE) ecc: ecere libec @$(call echo,Building ecc...) +cd ecc && $(_MAKE) ecs: ecere libec @$(call echo,Building ecs...) +cd ecs && $(_MAKE) cleantarget: bindir $(call rm,$(OBJ)ecp$(E) $(OBJ)ecc$(E) $(OBJ)ecs$(E)) ifdef WINDOWS_TARGET $(call rm,$(OBJ)$(LP)ecere$(SO) $(OBJ)$(LP)ec$(SO)) endif clean: cleantarget +cd ecere && $(_MAKE) clean +cd libec && $(_MAKE) clean +cd ecp && $(_MAKE) clean +cd ecc && $(_MAKE) clean +cd ecs && $(_MAKE) clean realclean: cleantarget $(call rmr,$(OBJ)) +cd ecere && $(_MAKE) realclean +cd libec && $(_MAKE) realclean +cd ecp && $(_MAKE) realclean +cd ecc && $(_MAKE) realclean +cd ecs && $(_MAKE) realclean distclean: $(MAKE) -f $(_CF_DIR)Cleanfile distclean distclean_all_subdirs Makefile: ; $(_CF_DIR)crossplatform.mk: ; $(_CF_DIR)default.cf: ;