]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/LAMBDA-TYPES/Makefile
librarian: retrieval of buildable files speeded up a lot
[helm.git] / helm / software / matita / contribs / LAMBDA-TYPES / Makefile
index 9608434b6afc4f115a1e431456bada8527380578..194fc389e5933faab1403df270a975f11c85cc61 100644 (file)
@@ -1,34 +1,35 @@
 include ../Makefile.defs
 
 H=@
+S=-s
 
 MATITAOPTIONS=$(MATITAUSEROPTIONS) -onepass
 
-DIR=$(shell basename $$PWD)
-
 LOG = log.txt
 
-MMAS = $(shell find Legacy-2 Base-2 -name "*.mma") 
-MAS = $(MMAS:%.mma=%.ma)
-XMAS = Legacy-2/theory.ma Base-2/theory.ma LambdaDelta-2/theory.ma
+DIRS = Legacy-2 Base-2 LambdaDelta-2
+
+SILENTMAKE = $(H)$(MAKE) $(S) --no-print-directory H=$(H) S=$(S)
 
-$(DIR) all: depends
+MAS = $(shell find $(DIRS) -mindepth 2 -name "*.ma")
+
+all: depends
        $(H)$(RM) $(LOG)
-       $(H)$(MAKE) H=$(H) --no-print-directory build
+       $(SILENTMAKE) build
 
-$(DIR).opt opt all.opt: depends
+opt all.opt: depends
        $(H)$(RM) $(LOG)
-       $(H)$(MAKE) H=$(H) --no-print-directory build.opt
+       $(SILENTMAKE) build.opt
+
+%.build.opt:
+       $(SILENTMAKE) $(patsubst %.mma, %.ma, $(shell find $* -name "*.mma"))
+       $(H)echo $*/theory.ma `$(BIN)matitadep.opt -stdout $*/theory.ma` >> depends
 
-build: $(MAS)
-       $(H)echo Legacy-2/theory.ma `$(BIN)matitadep.opt -stdout Legacy-2/theory.ma` >> depends
-       $(H)echo Base-2/theory.ma `$(BIN)matitadep.opt -stdout Base-2/theory.ma` >> depends
+build: $(DIRS:%=%.build.opt)
        $(H)$(BIN)matitac $(MATITAOPTIONS) 2>> $(LOG)
        $(H)$(RM) depends
 
-build.opt: $(MAS)
-       $(H)echo Legacy-2/theory.ma `$(BIN)matitadep.opt -stdout Legacy-2/theory.ma` >> depends
-       $(H)echo Base-2/theory.ma `$(BIN)matitadep.opt -stdout Base-2/theory.ma` >> depends
+build.opt: $(DIRS:%=%.build.opt)
        $(H)$(BIN)matitac.opt $(MATITAOPTIONS) 2>> $(LOG)
        $(H)$(RM) depends
 
@@ -42,17 +43,20 @@ clean.opt:
 
 clean.ma:
        $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS) $(MAS)
-       $(H)rm -f $(MAS) depends
+       $(H)$(RM) $(MAS) depends
+
+clean.mma:
+#      $(H)for FILE in */*.mma ; do if [ -e ../LambdaDelta-1/$${FILE/.mma/.ma} ] ; then true ; else rm $$FILE ; fi done
 
 depend:
        @echo matitadep
-       $(H)$(BIN)matitadep $(foreach FILE,$(XMAS),-exclude $(FILE))
-       $(H)cat Legacy-2/depends Base-2/depends >> depends
-       
+       $(H)$(BIN)matitadep $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma)
+       $(H)cat $(DIRS:%=%/depends) >> depends
+
 depend.opt:
        @echo matitadep.opt
-       $(H)$(BIN)matitadep.opt $(foreach FILE,$(XMAS),-exclude $(FILE))
-       $(H)cat Legacy-2/depends Base-2/depends >> depends
+       $(H)$(BIN)matitadep.opt $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma)
+       $(H)cat $(DIRS:%=%/depends) >> depends
 
 depends: depend.opt
 
@@ -61,5 +65,4 @@ depends: depend.opt
        $(H)$(BIN)matitac.opt $(MATITAOPTIONS) -dump $@ $< 2>> $(LOG)
        $(H)echo $@ `$(BIN)matitadep.opt -stdout $@` >> depends
 
-include Legacy-2/.depend
-include Base-2/.depend
+$(foreach DIR, $(DIRS), $(eval include $(DIR)/.depend))