a84983ccd9893f5a6e983952db05dc88625dd822
[YACASL2.git] / Makefile
1 .PHONY: build check doc doxygen clean gtags htags clean_htags
2 MKDIR = mkdir -p
3 MV = mv
4 DOXYGEN = doxygen
5 GTAGS = gtags
6 HTAGS = htags
7 HTAGSFLAG = -anosx
8
9 all: build gtags
10
11 build:
12         $(MAKE) -C src
13
14 check:
15         @$(MAKE) -sC test/system
16
17 doc:
18         @$(MAKE) -sC doc
19
20 doxygen: doc_inner
21         @$(DOXYGEN)
22
23 gtags: clean_gtags
24         @if test `which $(GTAGS)`; then $(GTAGS); fi
25
26 htags: doc_inner
27         @$(MAKE) clean_htags
28         @$(MAKE) gtags
29         @$(HTAGS) $(HTAGSFLAG) $<
30         @$(MV) $</HTML $</htags
31
32 doc_inner:
33         @$(MKDIR) $@
34
35 clean: clean_cmd clean_src clean_gtags clean_systemtest clean_unittest clean_doc clean_doc_inner
36
37 clean_cmd:
38         @rm -f casl2 comet2 dumpword
39
40 clean_src:
41         @$(MAKE) -sC src clean
42
43 clean_gtags:
44         @rm -f GPATH GRTAGS GSYMS GTAGS
45
46 clean_systemtest:
47         @$(MAKE) -sC test/system/casl2 clean
48         @$(MAKE) -sC test/system/comet2 clean
49         @$(MAKE) -sC test/system/dumpword clean
50
51 clean_unittest:
52         @$(MAKE) -sC test/unit clean
53
54 clean_doc:
55         @$(MAKE) -sC doc clean
56
57 clean_doc_inner:
58         @rm -rf doc_inner
59
60 clean_htags:
61         @rm -rf doc_inner/htags
62
63 clean_doxygen:
64         @rm -rf doc_inner/doxygen