X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=Makefile;h=b16f6da8474a44ec4fd649a522a531a744f2d432;hp=a1921f4b136595b9a41daa03ed53882c8f3bfcb5;hb=d4d3c8524da9d7724aab8452d934cf37e80cacd7;hpb=f4ecd19f404c806c33603dd5bcd508f4e5c80731 diff --git a/Makefile b/Makefile index a1921f4..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/version.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