-SRC=$(shell find . -name "*.ma" -a -type f)
-
-MATITA_FLAGS = -I ../..
-NODB=false
-ifeq ($(NODB),true)
- MATITA_FLAGS += -nodb
-endif
-
-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)
-
-MATITACLEAN=../../matitaclean $(MATITA_FLAGS)
-MATITACLEANOPT=../../matitaclean.opt $(MATITA_FLAGS)
-
-MATITADEP=../../matitadep $(MATITA_FLAGS)
-MATITADEPOPT=../../matitadep.opt $(MATITA_FLAGS)
-
-DEPEND_NAME=.depend
-
H=@
-all: $(SRC:%.ma=%.mo)
+MATITAOPTIONS=-onepass
-opt:
- $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all
+DIR=$(shell basename $$PWD)
-verbose:
- $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all
+MMAS = $(shell find Base-2 -name "*.mma")
+MAS = $(MMAS:%.mma=%.ma)
+XMAS = Base-2/theory.ma
-%.opt:
- $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%)
+$(DIR) all: depends
+ $(H)$(MAKE) H=$(H) --no-print-directory build
-clean_:
- $(H)rm -f __*not_for_matita
+$(DIR).opt opt all.opt: depends
+ $(H)$(MAKE) H=$(H) --no-print-directory build.opt
-clean: clean_
- $(H)$(MATITACLEAN) $(SRC)
+build: $(MAS)
+ $(H)$echo Base-2/theory.ma `../../matitadep.opt -stdout Base-2/theory.ma` >> depends
+ $(H)../../matitac $(MATITAOPTIONS) 2> /dev/null
+ $(H)rm depends
-cleanall: clean_
- $(H)rm -f $(SRC:%.ma=%.moo)
- $(H)$(MATITACLEAN) all
+build.opt: $(MAS)
+ $(H)echo Base-2/theory.ma `../../matitadep.opt -stdout Base-2/theory.ma` >> depends
+ $(H)../../matitac.opt $(MATITAOPTIONS) 2> /dev/null
+ $(H)rm depends
-depend:
- $(H)rm -f $(DEPEND_NAME)
- $(H)$(MAKE) $(DEPEND_NAME)
-.PHONY: depend
+clean:
+ $(H)../../matitaclean
+ $(H)rm -f $(MAS) depends
-%.moo:
- $(H)$(MATITAC) $<
+clean.opt:
+ $(H)../../matitaclean.opt
+ $(H)rm -f $(MAS) depends
-$(DEPEND_NAME): $(SRC)
- $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@
+clean.ma:
+ $(H)../../matitaclean.opt $(MAS)
+ $(H)rm -f $(MAS) depends
-#include $(DEPEND_NAME)
-include .depend
+depend:
+ @echo matitadep
+ $(H)../../matitadep $(foreach FILE,$(XMAS),-exclude $(FILE))
+ $(H)cat Base-2/depends >> depends
+depend.opt:
+ @echo matitadep.opt
+ $(H)../../matitadep.opt $(foreach FILE,$(XMAS),-exclude $(FILE))
+ $(H)cat Base-2/depends >> depends
+
+depends: depend.opt
+
+%.ma: %.mma
+ ../../matitac.opt $(MATITAOPTIONS) $(word 3,$(shell grep -h $< */depends)) `../../matitadep.opt -stdout $<` 2> /dev/null
+ $(H)../../matitac.opt $(MATITAOPTIONS) -dump $@ $< 2> /dev/null
+ $(H)echo $@ `../../matitadep.opt -stdout $@` >> depends
+
+include Base-2/.depend