From e24f1fe18b9717dea77458ecdc3a6bc3283874b2 Mon Sep 17 00:00:00 2001 From: j8takagi Date: Fri, 12 Jun 2026 14:43:50 +0900 Subject: [PATCH] =?utf8?q?Makefile=E3=81=A7make=20gittag=E3=81=A8make=20gi?= =?utf8?q?tpush=E3=82=92=E5=86=8D=E5=AE=9A=E7=BE=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Makefile | 21 ++++++++++++--------- git.mk | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 git.mk diff --git a/Makefile b/Makefile index f1aadaf..9b28da2 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,7 @@ CAT := cat CP := cp -v DATE := date +DIFF :=diff ECHO := /bin/echo EXPR := expr GIT := git @@ -46,9 +47,6 @@ build: version $(MAKE) -C src all @(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') - INSTALL: doc/install.txt $(CP) $< $@ @@ -102,10 +100,18 @@ gitpushgithub: $(GIT) push github main $(GIT) push github $(VERSION) -copyright: - $(SED) -i.bak 's/Copyright (c) 2010-20[0-9][0-9]/Copyright (c) 2010-$(YEAR)/g' LICENSE README && $(RM) *.bak +copyright: LICENSE.copyright___stamp README.copyright___stamp + +%.copyright___stamp: % + $(SED) -i.sedbak 's/Copyright (c) 2010-20[0-9][0-9]/Copyright (c) 2010-$(YEAR)/g' && $(DIFF) $<.sedbak $< >$@ && $(RM) *.sedbak + +include git.mk -distclean: cmd-clean src-distclean gtags-clean version-clean clean +gittag: gittag___stamp + +gitpush: gitpush___stamp + +distclean: cmd-clean src-distclean gitclean version-clean clean clean: src-clean doc-clean doc_inner-clean @@ -118,9 +124,6 @@ src-clean: src-distclean: $(MAKE) -sC src distclean -gtags-clean: - $(RM) GPATH GRTAGS GSYMS GTAGS - doc-clean: $(MAKE) -sC doc clean diff --git a/git.mk b/git.mk new file mode 100644 index 0000000..51c6007 --- /dev/null +++ b/git.mk @@ -0,0 +1,32 @@ +CAT := cat +EXPR := expr +GIT := git +PRINTF := printf +SED := sed + +# VERSION FORMAT: vp (Example: v0.1p00) +VERSION = $(shell $(CAT) VERSION) +VERSIONNO = $(shell $(CAT) VERSION | $(SED) 's/p.*$$//' ) +PATCHNO = $(shell $(CAT) VERSION | $(SED) 's/^.*p//' ) + +gitpush___stamp: gittag___stamp + $(GIT) push origin main --follow-tags + $(GIT) push github main --follow-tags + $(GIT) rev-parse HEAD > $@ + +gittag___stamp: commit___stamp + $(GIT) tag $(VERSION) main + $(PRINTF) "%s\n" "$(VERSION)" > $@ + +commit___stamp: version_up___stamp + $(GIT) add VERSION + $(GIT) commit + $(GIT) rev-parse HEAD > $@ + +version_up___stamp: VERSION + if [ -n "$$($(GIT) status -s)" ]; then $(PRINTF) "Error: commit, first.\n"; exit 1; fi + while $(GIT) rev-parse -q --verify $(VERSION) >/dev/null 2>&1; do $(PRINTF) "v%sp%s\n" $(VERSIONNO) $$($(EXPR) $(PATCHNO) + 1) >$<; done + $(CAT) $< >$@ + +gitclean: + $(RM) *___stamp -- 2.47.3