ecere/gui/drivers/X11: (#850,#700,#795) Improved X11/Unity fixes
[sdk] / compiler / Makefile
index 400185f..fb9e957 100644 (file)
@@ -1,23 +1,23 @@
-.PHONY: all bootstrap clean realclean distclean libec ecp ecc ecs
+.PHONY: all bootstrap cleantarget clean realclean distclean libec ecp ecc ecs fixprecompile
+ifneq "$V" "1"
 .SILENT:
+endif
 
 CONFIG := release
-OBJ = libec/obj/$(CONFIG).$(PLATFORM)/
-PRECOMPILED_SOURCES = libec/precompiled/expression.c libec/precompiled/grammar.c libec/precompiled/type.c
 
 include ../crossplatform.mk
-include ../include.mk
+include ../default.cf
 
 all: ecp ecc ecs
 
-libec:
+fixprecompile:
+       cd libec && $(MAKE) fixprecompile
+
+precompile:
+       cd libec && $(MAKE) PRECOMPILE_RULES=1 precompile
+
+libec: precompile
        @$(call echo,Building 2nd stage libec...)
-ifeq "$(wildcard libec/precompiled)" "libec/precompiled"
-ifneq "$(wildcard $(OBJ))" "$(OBJ)"
-       $(call mkdirq,$(OBJ))
-endif
-       $(call cpq,$(PRECOMPILED_SOURCES),$(OBJ))
-endif
        cd libec && $(MAKE)
 
 ecp: libec
@@ -36,9 +36,17 @@ bootstrap:
        @$(call echo,Bootstrapping eC compiling tools...)
        cd bootstrap && $(MAKE)
 
+cleantarget:
+       cd bootstrap && $(MAKE) cleantarget
+       cd libec && $(MAKE) cleantarget
+       cd ecp && $(MAKE) cleantarget
+       cd ecc && $(MAKE) cleantarget
+       cd ecs && $(MAKE) cleantarget
+
 clean:
        cd bootstrap && $(MAKE) clean
        cd libec && $(MAKE) clean
+       cd libec && $(MAKE) silentfixprecompile
        cd ecp && $(MAKE) clean
        cd ecc && $(MAKE) clean
        cd ecs && $(MAKE) clean
@@ -46,6 +54,7 @@ clean:
 realclean:
        cd bootstrap && $(MAKE) realclean
        cd libec && $(MAKE) realclean
+       cd libec && $(MAKE) silentfixprecompile
        cd ecp && $(MAKE) realclean
        cd ecc && $(MAKE) realclean
        cd ecs && $(MAKE) realclean
@@ -53,6 +62,7 @@ realclean:
 distclean:
        cd bootstrap && $(MAKE) distclean
        cd libec && $(MAKE) distclean
+       cd libec && $(MAKE) silentfixprecompile
        cd ecp && $(MAKE) distclean
        cd ecc && $(MAKE) distclean
        cd ecs && $(MAKE) distclean