]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/LAMBDA-TYPES/Makefile
...
[helm.git] / helm / software / matita / contribs / LAMBDA-TYPES / Makefile
index abadf7bd82227e530bf973a8fef8c79dd32ee3a6..a7046636cd8f2bbfbb8ed7058aa910a17d31f443 100644 (file)
@@ -1,10 +1,65 @@
-GOALS = all opt clean clean.opt
+include ../Makefile.defs
 
-DEVELS = Base-1 LambdaDelta-1 Unified
+H=@
 
-$(GOALS): 
-       @$(foreach DEVEL, $(DEVELS), $(MAKE) -C $(DEVEL) $@;) 
+MATITAOPTIONS=$(MATITAUSEROPTIONS) -onepass
 
-.PHONY: (GOALS)
+LOG = log.txt
 
-.SUFFIXES:
+DIRS = Legacy-2 Base-2
+
+SILENTMAKE = $(H)$(MAKE) H=$(H) -s --no-print-directory
+
+MAS = $(patsubst %.mma, %.ma, $(shell find $(DIRS) -name "*.mma"))
+
+all: depends
+       $(H)$(RM) $(LOG)
+       $(SILENTMAKE) build
+
+opt all.opt: depends
+       $(H)$(RM) $(LOG)
+       $(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: $(DIRS:%=%.build.opt)
+       $(H)$(BIN)matitac $(MATITAOPTIONS) 2>> $(LOG)
+       $(H)$(RM) depends
+
+build.opt: $(DIRS:%=%.build.opt)
+       $(H)$(BIN)matitac.opt $(MATITAOPTIONS) 2>> $(LOG)
+       $(H)$(RM) depends
+
+clean:
+       $(H)$(BIN)matitaclean $(MATITAOPTIONS)
+       $(H)rm -f $(MAS) depends
+
+clean.opt:
+       $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS)
+       $(H)rm -f $(MAS) depends
+
+clean.ma:
+       $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS) $(MAS)
+       $(H)$(RM) $(MAS) depends
+
+depend:
+       @echo matitadep
+       $(H)$(BIN)matitadep $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma) -exclude LambdaDelta-2/theory.ma
+       $(H)cat $(DIRS:%=%/depends) >> depends
+
+depend.opt:
+       @echo matitadep.opt
+       $(H)$(BIN)matitadep.opt $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma) -exclude LambdaDelta-2/theory.ma
+       $(H)cat $(DIRS:%=%/depends) >> depends
+
+depends: depend.opt
+
+%.ma: %.mma
+       $(H)$(BIN)matitac.opt $(MATITAOPTIONS) $(word 3,$(shell grep -h $< */depends)) `$(BIN)matitadep.opt -stdout $<` 2>> $(LOG)
+       $(H)$(BIN)matitac.opt $(MATITAOPTIONS) -dump $@ $< 2>> $(LOG)
+       $(H)echo $@ `$(BIN)matitadep.opt -stdout $@` >> depends
+
+include Legacy-2/.depend
+include Base-2/.depend