make gittagコマンドの追加
[YACASL2.git] / Makefile
1 .PHONY: all build gtags check doc info html doc-inner install uninstall install-info uninstall-info install-casl2lib uninstall-casl2lib version gittag clean clean-src clean-gtags clean-test clean-doc clean-doc-inner
2
3 GTAGS := gtags
4 RMF := rm -f
5 WHICH := which
6 ECHO := echo
7 INSTALL := install
8 SED := sed
9 CAT := cat
10 XARGS := xargs
11 GITTAG := git tag
12
13 prefix ?= ~
14 bindir ?= $(prefix)/bin
15
16 VERSIONFILES = include/package.h test/system/casl2/opt_v/0.txt test/system/comet2/opt_v/0.txt test/system/dumpword/opt_v/0.txt
17
18 all: build docall gtags
19
20 build:
21         $(MAKE) -C src all
22
23 gtags:
24         @$(WHICH) $(GTAGS) >/dev/null && $(GTAGS) || $(ECHO) "$(GTAGS): not found"
25
26 docall:
27         $(MAKE) -C doc all
28
29 info:
30         $(MAKE) -C doc info
31
32 html:
33         $(MAKE) -C doc html
34
35 doc-inner:
36         $(MAKE) -C doc_inner all
37
38 check:
39         $(MAKE) -sC test/system
40
41 install: casl2 comet2 dumpword install-info install-casl2lib
42         $(INSTALL) -d $(bindir)
43         $(INSTALL) casl2 comet2 dumpword $(bindir)/
44
45 uninstall: uninstall-info uninstall-casl2lib
46         $(RMF) $(bindir)/casl2 $(bindir)/comet2 $(bindir)/dumpword
47
48 install-info:
49         $(MAKE) -C doc install-info
50
51 uninstall-info:
52         @$(MAKE) -C doc uninstall-info
53
54 install-casl2lib:
55         $(MAKE) -C as/casl2lib install-casl2lib
56
57 uninstall-casl2lib:
58         @$(MAKE) -C as/casl2lib uninstall-casl2lib
59
60 version: VERSION $(VERSIONFILES)
61         @$(ECHO) "YACASL2 Version:" `$(CAT) VERSION`
62
63 $(VERSIONFILES): VERSION
64         $(SED) -e "s/@@VERSION@@/`cat VERSION`/g" $@.version >$@
65
66 gittag: VERSION
67         $(CAT) $@ | $(XARGS) $(GITTAG)
68
69 clean: clean-src clean-gtags clean-doc clean-doc-inner clean-version
70
71 clean-src:
72         @$(MAKE) -sC src clean
73
74 clean-gtags:
75         @$(RMF) GPATH GRTAGS GSYMS GTAGS
76
77 clean-doc:
78         @$(MAKE) -sC doc clean
79
80 clean-doc-inner:
81         @$(MAKE) -sC doc_inner clean
82
83 clean-test:
84         @$(MAKE) -sC test clean
85
86 clean-version:
87         @$(RMF) $(VERSIONFILES)