X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=b16f6da8474a44ec4fd649a522a531a744f2d432;hb=4a60d6e11e82afec1733b9f2a861dd95d4b2eb94;hp=7222401dabeee071d57cdac7b7c05b3b8e39ea03;hpb=7fbde1700bbe9d8f779033ad3b842d3dceb3e1c6;p=YACASL2.git diff --git a/Makefile b/Makefile index 7222401..b16f6da 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,13 @@ -.PHONY: all build gtags \ - check \ +.PHONY: all srcall gtags \ + check valgrind \ doc alldoc doc_inner \ install uninstall \ version gittag \ clean src-clean gtags-clean \ test-clean doc-clean doc_inner-clean -CMD := casl2 comet2 dumpword casl2rev - CAT := cat -CP := cp +CP := cp -v ECHO := /bin/echo EXPR := expr GIT := git @@ -31,16 +29,18 @@ VERSIONGITREF := $(shell $(GIT) show-ref -s --tags $(VERSION)) MASTERGITREF := $(shell $(GIT) show-ref -s refs/heads/master) -VERSIONFILES = include/package.h \ +VERSIONFILES := include/version.h \ test/system/casl2_opt/opt_v/0.txt \ test/system/comet2_opt/opt_v/0.txt \ test/system/dumpword/opt_v/0.txt +CMDFILES := casl2 comet2 dumpword casl2rev comet2monitor + all: build INSTALL gtags -build: +build: version $(MAKE) -C src all - $(CP) $(addprefix src/,$(CMD)) ./ + @(for f in $(CMDFILES); do if test ! -e $$f -o src/$$f -nt $$f; then $(CP) src/$$f $$f; fi; done) gtags: $(if $(strip $(shell $(WHICH) $(GTAGS))),$(GTAGS),@$(ECHO) '$(GTAGS): not found') @@ -60,15 +60,24 @@ doc_inner: check: $(MAKE) -sC test/system +smoke: + $(MAKE) -sC test/system smoke + +smoke-valgrind: + $(MAKE) -sC test/system smoke-valgrind + +valgrind: + $(MAKE) -sC test/system valgrind + install: casl2 comet2 dumpword install-info $(INSTALL) -d $(bindir) - $(INSTALL) $(CMD) $(bindir)/ + $(INSTALL) $(CMDFILES) $(bindir)/ install-info: $(MAKE) -C doc install-info uninstall: uninstall-info - $(RM) $(prefix $(bindir)/,$(CMD)) + $(RM) $(prefix $(bindir)/,$(CMDFILES)) version: $(VERSIONFILES) @$(ECHO) "YACASL2 Version: $(VERSION)" @@ -84,7 +93,7 @@ distclean: cmd-clean src-distclean gtags-clean version-clean clean clean: src-clean doc-clean doc_inner-clean cmd-clean: - $(RM) $(CMD) + $(RM) $(CMDFILES) src-clean: $(MAKE) -sC src clean