SRC=$(wildcard *.ma) MATITA_FLAGS = NODB=false ifeq ($(NODB),true) MATITA_FLAGS += -nodb endif MATITAC=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac $(MATITA_FLAGS) -noprofile" "../../matitaclean $(MATITA_FLAGS)" log MATITACOPT=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac.opt $(MATITA_FLAGS) -noprofile" "../../matitaclean.opt $(MATITA_FLAGS)" log 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) opt: $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all verbose: $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all %.opt: $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%) clean: $(H)$(MATITACLEAN) $(SRC) cleanall: $(H)rm -f $(SRC:%.ma=%.moo) $(MATITACLEAN) all depend: rm -f $(DEPEND_NAME) $(MAKE) $(DEPEND_NAME) .PHONY: depend %.moo: $(H)($(MATITAC) $< && echo "ERROR: THIS SHOULD FAIL!") || \ ((diff `basename $< .ma`.log log > diff || \ (echo "ERROR: WRONG OUTPUT"; cat diff)) && rm -f log diff) || \ rm -f log diff $(DEPEND_NAME): $(SRC) $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@ #include $(DEPEND_NAME) include .depend