-.PHONY: bindir ecere libec ecp ecc ecs clean realclean distclean
+.PHONY: bindir ecere libec ecp ecc ecs cleantarget clean realclean distclean
+ifneq ($(V),1)
.SILENT:
+endif
+
+OBJ = obj/bin.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
-OBJ = obj/bin.$(PLATFORM)/
+_CF_DIR = ../../
-include ../../crossplatform.mk
-include ../../default.cf
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
all: bindir ecere libec ecp ecc ecs
- $(call cpq,ecp/obj/bootstrap.$(PLATFORM)/ecp$(E) ecc/obj/bootstrap.$(PLATFORM)/ecc$(E) ecs/obj/bootstrap.$(PLATFORM)/ecs$(E),$(OBJ))
+ $(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 mkdirq,$(OBJ)))
-
-clean: bindir
- cd ecere && $(MAKE) clean
- cd libec && $(MAKE) clean
- cd ecp && $(MAKE) clean
- cd ecc && $(MAKE) clean
- cd ecs && $(MAKE) clean
- $(call rmq,$(OBJ)ecp$(E) $(OBJ)ecc$(E) $(OBJ)ecs$(E))
-ifdef WINDOWS_TARGET
- $(call rmq,$(OBJ)$(LP)ecere$(SO) $(OBJ)$(LP)ec$(SO))
-endif
-
-realclean:
- $(call rmrq,$(OBJ))
- cd ecere && $(MAKE) realclean
- cd libec && $(MAKE) realclean
- cd ecp && $(MAKE) realclean
- cd ecc && $(MAKE) realclean
- cd ecs && $(MAKE) realclean
-
-distclean:
- $(call rmrq,obj/)
- cd ecere && $(MAKE) distclean
- cd libec && $(MAKE) distclean
- cd ecp && $(MAKE) distclean
- cd ecc && $(MAKE) distclean
- cd ecs && $(MAKE) distclean
+ $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ)))
ecere:
@$(call echo,Building ecere...)
- cd ecere && $(MAKE)
-
+ +cd ecere && $(_MAKE)
+
libec:
@$(call echo,Building ec...)
- cd libec && $(MAKE)
+ +cd libec && $(_MAKE)
ecp: ecere libec
@$(call echo,Building ecp...)
- cd ecp && $(MAKE)
+ +cd ecp && $(_MAKE)
ecc: ecere libec
@$(call echo,Building ecc...)
- cd ecc && $(MAKE)
+ +cd ecc && $(_MAKE)
ecs: ecere libec
@$(call echo,Building ecs...)
- cd ecs && $(MAKE)
+ +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: ;