From 74ab16ea5b20444ba609c4d2e0a1b27482dc3c9c Mon Sep 17 00:00:00 2001 From: Israel Chauca Fuentes Date: Mon, 22 Jul 2013 13:28:52 -0400 Subject: [PATCH] Rewrite makefile. --- Makefile | 122 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 51 deletions(-) diff --git a/Makefile b/Makefile index 2a5db0c..35f30de 100644 --- a/Makefile +++ b/Makefile @@ -1,62 +1,82 @@ -PLUGIN=$(shell basename "$$PWD") -SCRIPT=$(wildcard plugin/*.vim) -#AUTOL=$(wildcard autoload/*.vim) -AUTOL=autoload/$(PLUGIN).vim -DOC=$(wildcard doc/*.txt) -TESTS=$(wildcard autoload/*Tests.vim) -VERSION=$(shell perl -ne 'if (/\*\sCurrent\srelease:/) {s/^\s+(\d+\.\S+)\s.*$$/\1/;print}' $(DOC)) -VIMFOLDER=~/.vim/ -VIM=/usr/bin/vim +PLUGIN = $(wildcard plugin/*.vim) +SOURCES = $(PLUGIN) +LIB = $(wildcard autoload/*.vim) +SOURCES += $(LIB) +DOC = $(wildcard doc/*.txt) +SOURCES += $(DOC) +#NAME = $(shell basename "$$PWD") +NAME = delimitMate +VERSION = $(shell $(SED) -n -e '/Current \+release/{s/^ \+\([0-9.]\+\).*/\1/;p;}' $(firstword $(DOC))) +FILENAME = $(NAME)-$(VERSION) +DESTDIR = $(HOME)/.vim +VIM = vim +SED = gsed +PERL = perl +comma := , +empty := +space := $(empty) $(empty) -.PHONY: $(PLUGIN).vba README +.PHONY: version clean distclean undo release test install uninstall -all: vimball README zip gzip - -vimball: $(PLUGIN).vba +all: zip gzip +dist: version all +vimball: $(FILENAME).vmb +zip: $(FILENAME).zip $(FILENAME).vmb.zip +gzip: $(FILENAME).tar.gz $(FILENAME).vmb.gz clean: - @echo clean - rm -f *.vba */*.orig *.~* .VimballRecord *.zip *.gz + rm -f */*.orig *.~* .VimballRecord *.zip *.gz *.vmb -dist-clean: clean +distclean: clean + -zsh -c 'setopt extendedglob; rm -f ^(README.md|Makefile)' + -zsh -c 'setopt extendedglob; rm -f .^(git|README.md|Makefile)*' undo: for i in */*.orig; do mv -f "$$i" "$${i%.*}"; done -README: - @echo README - cp -f $(DOC) README - -$(PLUGIN).vba: - @echo $(PLUGIN).vba - rm -f $(PLUGIN)-$(VERSION).vba - $(VIM) -N -c 'ru! vimballPlugin.vim' -c ':call append("0", [ "$(SCRIPT)", "$(AUTOL)", "$(DOC)"])' -c '$$d' -c ":%MkVimball $(PLUGIN)-$(VERSION) ." -c':q!' - ln -f $(PLUGIN)-$(VERSION).vba $(PLUGIN).vba - -zip: - @echo zip - rm -f *.zip - zip -r $(PLUGIN).zip doc plugin autoload - zip $(PLUGIN).zip -d \*.sw\? || echo 1 - zip $(PLUGIN).zip -d \*.un\? || echo 1 - zip $(PLUGIN).zip -d \*.orig || echo 1 - zip $(PLUGIN).zip -d \*tags || echo 1 - zip $(PLUGIN).zip -d $(TESTS) - ln -f $(PLUGIN).zip $(PLUGIN)-$(VERSION).zip - -gzip: vimball - @echo vimball - gzip -f $(PLUGIN).vba - -release: version all - version: - @echo version: $(VERSION) - perl -i.orig -pne 'if (/^"\sVersion:/) {s/(\d+\.\S+)/$(VERSION)/}' $(SCRIPT) $(AUTOL) - perl -i.orig -pne 'if (/let\sdelimitMate_version/) {s/"(\d+\.\S+)"/"$(VERSION)"/}' $(SCRIPT) - perl -i.orig -pne 'if (/beasts/) {s/(v\d+\.\S+)/v$(VERSION)/}' $(DOC) - perl -i.orig -MPOSIX -pne 'if (/^"\sModified:/) {$$now_string = strftime "%F", localtime; s/(\d+-\d+-\d+)/$$now_string/e}' $(SCRIPT) $(AUTOL) - perl -i.orig -MPOSIX -pne 'if (/^\s+$(VERSION)\s+\d+-\d+-\d+\s+\*/) {$$now_string = strftime "%F", localtime; s/(\d+-\d+-\d+)/$$now_string/}' $(DOC) - @echo Version: $(VERSION) + $(PERL) -i.orig -pne 'if (/^"\sVersion:/) {s/(\d+\.\S+)/$(VERSION)/}' $(PLUGIN) $(LIB) + $(PERL) -i.orig -pne \ + 'if (/let\sdelimitMate_version/) {s/"(\d+\.\S+)"/"$(VERSION)"/}' $(PLUGIN) + $(PERL) -i.orig -pne 'if (/beasts/) {s/(v\d+\.\S+)/v$(VERSION)/}' $(DOC) + $(PERL) -i.orig -MPOSIX -pne \ + 'if (/^"\sModified:/) {$$now_string = strftime "%F", localtime; s/(\d+-\d+-\d+)/$$now_string/e}' \ + $(PLUGIN) $(LIB) + $(PERL) -i.orig -MPOSIX -pne \ + 'if (/^\s+$(VERSION)\s+\d+-\d+-\d+\s+\*/) {$$now_string = strftime "%F", localtime; s/(\d+-\d+-\d+)/$$now_string/}' \ + $(DOC) -echo: +test: + runVimTests -0 test + +install: $(SOURCES) + for dir in $(^D);\ + do install -d -m 0755 $(DESTDIR)$(PREFIX)/$$dir;\ +done;\ +for file in $^;\ + do install -m 0644 $$file $(DESTDIR)$(PREFIX)/$$file;\ +done; + +uninstall: + for file in $(SOURCES);\ + do rm -f $(DESTDIR)$(PREFIX)/$$file;\ +done; + +%.vmb: $(SOURCES) + $(VIM) -N -es -u NORC \ + -c 'call setline(1,["$(subst $(space),"$(comma)",$^)"])'\ + -c "%MkVimball! $(basename $@) ." -c 'q!' + +%.vmb.zip: vimball + zip $@ $(basename $@) + +%.zip: $(SOURCES) + zip $@ $^ + +%.vmb.gz: vimball + gzip -f $(basename $@) + +%.tar.gz: $(SOURCES) + tar -cvzf $@ $^ + +# vim:ts=2:sw=2