crossplatform.mk: add cygwin detection for disabling windows shell tools and path...
[sdk] / compiler / bootstrap / Makefile
index 5a9ff84..cd8efa2 100644 (file)
@@ -1,60 +1,66 @@
-.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 ../../include.mk
+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
-       $(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: ;