1 .PHONY: all srcall gtags \
5 version gittag copyright \
6 clean src-clean gtags-clean \
7 test-clean doc-clean doc_inner-clean
25 bindir ?= $(prefix)/bin
26 libdir ?= $(prefix)/share
28 VERSION := $(shell $(CAT) VERSION)
30 VERSIONGITREF := $(shell $(GIT) show-ref -s --tags $(VERSION))
32 MASTERGITREF := $(shell $(GIT) show-ref -s refs/heads/master)
34 VERSIONFILES := include/version.h \
35 test/system/casl2_opt/opt_v/0.txt \
36 test/system/comet2_opt/opt_v/0.txt \
37 test/system/dumpword/opt_v/0.txt
39 CMDFILES := casl2 comet2 dumpword casl2rev comet2monitor
41 YEAR := $(shell $(DATE) '+%Y')
43 all: copyright INSTALL build gtags
47 @(for f in $(CMDFILES); do if test ! -e $$f -o src/$$f -nt $$f; then $(CP) src/$$f $$f; fi; done)
50 $(if $(strip $(shell $(WHICH) $(GTAGS))),$(GTAGS),@$(ECHO) '$(GTAGS): not found')
52 INSTALL: doc/install.txt
62 $(MAKE) -C doc_inner all
65 $(MAKE) -sC test/system
68 $(MAKE) -sC test/system smoke
71 $(MAKE) -sC test/system smoke-valgrind
74 $(MAKE) -sC test/system valgrind
76 install: $(CMDFILES) install-info
77 $(INSTALL) -d $(bindir)
78 $(INSTALL) $(CMDFILES) $(bindir)/
81 $(MAKE) -C doc install-info
83 uninstall: uninstall-info
84 $(RM) $(prefix $(bindir)/,$(CMDFILES))
86 version: $(VERSIONFILES)
87 @$(ECHO) "YACASL2 Version: $(VERSION)"
89 $(VERSIONFILES): VERSION
90 @$(SED) -e "s/@@VERSION@@/$(VERSION)/g" $@.version >$@
93 if test `$(GIT) status -s | $(WC) -l` -gt 0; then $(ECHO) "Error: commit, first."; exit 1; fi; if test "$(VERSIONGITREF)" != "$(MASTERGITREF)"; then $(GIT) tag $(VERSION); fi
96 $(SEDI) 's/Copyright (c) 2010-20[0-9][0-9]/Copyright (c) 2010-$(YEAR)/g' LICENSE README
97 $(SEDI) 's/Copyright @copyright{} 2010-20[0-9][0-9]/Copyright @copyright{} 2010-$(YEAR)/g' doc/*.texi
99 distclean: cmd-clean src-distclean gtags-clean version-clean clean
101 clean: src-clean doc-clean doc_inner-clean
107 $(MAKE) -sC src clean
110 $(MAKE) -sC src distclean
113 $(RM) GPATH GRTAGS GSYMS GTAGS
116 $(MAKE) -sC doc clean
119 $(MAKE) -sC doc_inner clean
122 $(RM) $(VERSIONFILES)
125 $(MAKE) -sC test clean