]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/library/Makefile
ocaml 3.09 transition
[helm.git] / helm / matita / library / Makefile
index 69e33b3c768e130a34531d019f6be730b999ae20..e13b3e8a48d6c05fb5e07f19043e285192c24309 100644 (file)
@@ -1,61 +1,54 @@
-SRC=\
-       bool.ma\
-       compare.ma\
-       equality.ma\
-       logic.ma\
-       nat.ma \
-        Z.ma
+SRC=$(shell find . -name "*.ma" -a -type f)
 
-MATITAC=../scripts/do_tests.sh ../matitac ../matitaclean /dev/null
-MATITACOPT=../scripts/do_tests.sh ../matitac.opt ../matitaclean.opt /dev/null
-VERBOSEMATITAC=../matitac
-VERBOSEMATITACOPT=../matitac.opt
+MATITA_FLAGS =
+NODB=false
+ifeq ($(NODB),true)
+       MATITA_FLAGS += -nodb
+endif
 
-MATITACLEAN=../matitaclean
-MATITACLEANOPT=../matitaclean.opt
+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)
 
-MATITADEP=../matitadep
-MATITADEPOPT=../matitadep.opt
+MATITACLEAN=../matitaclean $(MATITA_FLAGS)
+MATITACLEANOPT=../matitaclean.opt $(MATITA_FLAGS)
+
+MATITADEP=../matitadep $(MATITA_FLAGS)
+MATITADEPOPT=../matitadep.opt $(MATITA_FLAGS)
 
 DEPEND_NAME=.depend
-LINKS=.matita matita.lang matita.conf.xml
 
-all: $(LINKS) $(SRC:%.ma=%.moo)
+H=@
 
-opt:
-       @make MATITAC="$(MATITACOPT)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" all
+all: $(SRC:%.ma=%.mo)
 
-verbose.opt:
-       @make MATITAC="$(VERBOSEMATITAC)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" all
+opt:
+       $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all
 
-verboseopt:
-       @make MATITAC="$(VERBOSEMATITACOPT)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" all
+verbose:
+       $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all
 
 %.opt:
-       @make MATITAC="$(MATITACOPT)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" $(@:%.opt=%)
+       $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%)
 
-clean: $(LINKS)
-       rm -f $(SRC:%.ma=%.moo)
-       $(MATITACLEAN) all
+clean:
+       $(H)$(MATITACLEAN) $(SRC)
 
-depend: $(DEPEND_NAME)
-
-%.moo:%.ma $(DEPEND_NAME) $(LINKS)
-       @[ ! -e $@ ] || $(MATITACLEAN) $< 
-       @$(MATITAC) $< || $(MATITACLEAN) $<
-
-$(DEPEND_NAME): $(SRC) $(LINKS)
-       $(MATITADEP) $(SRC) > $@
+cleanall:
+       $(H)rm -f $(SRC:%.ma=%.moo)
+       $(MATITACLEAN) all
 
-# Let's prepare the environment
-.matita:
-       ln -s ../.matita .
+depend:
+       rm -f $(DEPEND_NAME)
+       $(MAKE) $(DEPEND_NAME)
+.PHONY: depend
 
-matita.lang:
-       ln -s ../matita.lang .
+%.moo:
+       $(H)$(MATITAC) $<
 
-matita.conf.xml:
-       ln -s ../matita.conf.xml .
-#done
+$(DEPEND_NAME): $(SRC)
+       $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@
 
-include $(DEPEND_NAME)
+#include $(DEPEND_NAME)
+include .depend