+include ../Makefile.defs
+
H=@
+S=-s
-MATITAOPTIONS=
-#-onepass
+MATITAOPTIONS=$(MATITAUSEROPTIONS) -onepass
-DIR=$(shell basename $$PWD)
+LOG = log.txt
-MMAS = $(shell find Base-2 -name "*.mma")
-MAS = $(MMAS:%.mma=%.ma)
+DIRS = Legacy-2 Base-2 LambdaDelta-2
+
+SILENTMAKE = $(H)$(MAKE) $(S) --no-print-directory H=$(H) S=$(S)
+
+MAS = $(shell find $(DIRS) -mindepth 2 -name "*.ma")
+
+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
-%.ma: %.mma
- $(H)../../matitac.opt $(MATITAOPTIONS) $< 2> /dev/null
- $(H)../../matitac.opt $(MATITAOPTIONS) -dump $@ $< 2> /dev/null
- $(H)$(MAKE) depend.opt
-
-$(DIR) all: $(MAS)
- $(H)../../matitac $(MATITAOPTIONS) 2> /dev/null
-$(DIR).opt opt all.opt: $(MAS)
- $(H)../../matitac.opt $(MATITAOPTIONS) 2> /dev/null
clean:
- $(H)../../matitaclean
- $(H)rm -f $(MAS)
- $(H)$(MAKE) depend
+ $(H)$(BIN)matitaclean $(MATITAOPTIONS)
+ $(H)rm -f $(MAS) depends
+
clean.opt:
- $(H)../../matitaclean.opt
- $(H)rm -f $(MAS)
- $(H)$(MAKE) depend.opt
+ $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS)
+ $(H)rm -f $(MAS) depends
+
+clean.ma:
+ $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS) $(MAS)
+ $(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:
- $(H)../../matitadep
- $(H)cat Base-2/depends >> depends
+ @echo matitadep
+ $(H)$(BIN)matitadep $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma)
+ $(H)cat $(DIRS:%=%/depends) >> depends
+
depend.opt:
- $(H)../../matitadep.opt
- $(H)cat Base-2/depends >> depends
+ @echo matitadep.opt
+ $(H)$(BIN)matitadep.opt $(foreach DIR, $(DIRS), -exclude $(DIR)/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 Base-2/.depend
+$(foreach DIR, $(DIRS), $(eval include $(DIR)/.depend))