-SRC=$(shell find . -name "*.ma" -a -type f)
+include ../Makefile.defs
-MATITA_FLAGS = -I ../..
-NODB=false
-ifeq ($(NODB),true)
- MATITA_FLAGS += -nodb
-endif
+H=@
-MATITAC=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac $(MATITA_FLAGS)" "../../matitaclean $(MATITA_FLAGS)" /dev/null OK
-MATITACOPT=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac.opt $(MATITA_FLAGS)" "../../matitaclean.opt $(MATITA_FLAGS)" /dev/null OK
-VERBOSEMATITAC=../../matitac $(MATITA_FLAGS)
-VERBOSEMATITACOPT=../../matitac.opt $(MATITA_FLAGS)
+MATITAOPTIONS=$(MATITAUSEROPTIONS) -onepass
-MATITACLEAN=../../matitaclean $(MATITA_FLAGS)
-MATITACLEANOPT=../../matitaclean.opt $(MATITA_FLAGS)
+LOG = log.txt
-MATITADEP=../../matitadep $(MATITA_FLAGS)
-MATITADEPOPT=../../matitadep.opt $(MATITA_FLAGS)
+DIRS = Legacy-2 Base-2 LambdaDelta-2
-DEPEND_NAME=.depend
+SILENTMAKE = $(H)$(MAKE) H=$(H) -s --no-print-directory
-H=@
+MAS = $(shell find $(DIRS) -mindepth 2 -name "*.ma")
+
+all: depends
+ $(H)$(RM) $(LOG)
+ $(SILENTMAKE) build
-all: $(SRC:%.ma=%.mo)
+opt all.opt: depends
+ $(H)$(RM) $(LOG)
+ $(SILENTMAKE) build.opt
-opt:
- $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all
+%.build.opt:
+ $(SILENTMAKE) $(patsubst %.mma, %.ma, $(shell find $* -name "*.mma"))
+ $(H)echo $*/theory.ma `$(BIN)matitadep.opt -stdout $*/theory.ma` >> depends
-verbose:
- $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all
+build: $(DIRS:%=%.build.opt)
+ $(H)$(BIN)matitac $(MATITAOPTIONS) 2>> $(LOG)
+ $(H)$(RM) depends
-%.opt:
- $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%)
+build.opt: $(DIRS:%=%.build.opt)
+ $(H)$(BIN)matitac.opt $(MATITAOPTIONS) 2>> $(LOG)
+ $(H)$(RM) depends
-clean_:
- $(H)rm -f __*not_for_matita
+clean:
+ $(H)$(BIN)matitaclean $(MATITAOPTIONS)
+ $(H)rm -f $(MAS) depends
-clean: clean_
- $(H)$(MATITACLEAN) $(SRC)
+clean.opt:
+ $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS)
+ $(H)rm -f $(MAS) depends
-cleanall: clean_
- $(H)rm -f $(SRC:%.ma=%.moo)
- $(H)$(MATITACLEAN) all
+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)rm -f $(DEPEND_NAME)
- $(H)$(MAKE) $(DEPEND_NAME)
-.PHONY: depend
+ @echo matitadep
+ $(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 DIR, $(DIRS), -exclude $(DIR)/theory.ma)
+ $(H)cat $(DIRS:%=%/depends) >> depends
-%.moo:
- $(H)$(MATITAC) $<
+depends: depend.opt
-$(DEPEND_NAME): $(SRC)
- $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@
+%.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 $(DEPEND_NAME)
-include .depend
+$(foreach DIR, $(DIRS), $(eval include $(DIR)/.depend))