]> matita.cs.unibo.it Git - helm.git/blob - helm/matita/library/Makefile
make clean now prints what is being removed
[helm.git] / helm / matita / library / Makefile
1 SRC=$(wildcard *.ma)
2
3 MATITAC=../scripts/do_tests.sh $(DO_TESTS_OPTS) ../matitac ../matitaclean /dev/null
4 MATITACOPT=../scripts/do_tests.sh $(DO_TESTS_OPTS) ../matitac.opt ../matitaclean.opt /dev/null
5 VERBOSEMATITAC=../matitac
6 VERBOSEMATITACOPT=../matitac.opt
7
8 MATITACLEAN=../matitaclean
9 MATITACLEANOPT=../matitaclean.opt
10
11 MATITADEP=../matitadep
12 MATITADEPOPT=../matitadep.opt
13
14 DEPEND_NAME=.depend
15 LINKS=.matita matita.lang matita.conf.xml
16
17 H=@
18
19 all: $(LINKS) $(SRC:%.ma=%.moo)
20
21 opt:
22         $(H)make MATITAC="$(MATITACOPT)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" all
23
24 verbose.opt:
25         $(H)make MATITAC="$(VERBOSEMATITAC)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" all
26
27 verboseopt:
28         $(H)make MATITAC="$(VERBOSEMATITACOPT)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" all
29
30 %.opt:
31         $(H)make MATITAC="$(MATITACOPT)" MATITACLEAN="$(MATITACLEANOPT)" MATITADEP="$(MATITADEPOPT)" $(@:%.opt=%)
32
33 clean: $(LINKS)
34         $(H)rm -f $(SRC:%.ma=%.moo)
35         $(MATITACLEAN) $(SRC)
36
37 cleanall: $(LINKS)
38         $(H)rm -f $(SRC:%.ma=%.moo)
39         $(MATITACLEAN) all
40
41 depend:
42         rm $(DEPEND_NAME)
43         make $(DEPEND_NAME)
44 .PHONY: depend
45
46 %.moo:%.ma $(LINKS)
47         $(H)[ ! -e $@ ] || $(MATITACLEAN) $< 
48         $(H)$(MATITAC) $< || $(MATITACLEAN) $<
49
50 $(DEPEND_NAME): $(SRC) $(LINKS)
51         $(H)$(MATITADEP) $(SRC) > $@
52
53 # Let's prepare the environment
54 .matita:
55         $(H)ln -fs ../.matita .
56
57 matita.lang:
58         $(H)ln -fs ../matita.lang .
59
60 matita.conf.xml:
61         $(H)ln -fs ../matita.conf.xml .
62 #done
63
64 include $(DEPEND_NAME)