diff options
| author | Paul Buetow <paul@buetow.org> | 2013-03-22 03:45:09 +0100 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-03-22 03:45:09 +0100 |
| commit | bdd180bb7b3eca8622016067058c023cd11c0b5e (patch) | |
| tree | 19c3da37e523066cf53e68da34e393bda52fa822 /Makefile | |
initial version of the template
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..42b4fd6 --- /dev/null +++ b/Makefile @@ -0,0 +1,56 @@ +NAME=foo +all: version documentation build + +# THIS IS NEEDED BY THE DEBIAN TOOLS + +# Builds the project. Since this is only a fake project, it just copies a script. +build: + cp -p ./src/$(NAME) bin/$(NAME) + echo "echo This is version $$(cat .version)" >> bin/$(NAME) + +# 'install' installes a fake-root, which will be used to build the Debian package +# $DESTDIR is actually set by the Debian tools. +install: + test ! -d $(DESTDIR)/usr/bin && mkdir -p $(DESTDIR)/usr/bin || exit 0 + test ! -d $(DESTDIR)/usr/share/$(NAME) && mkdir -p $(DESTDIR)/usr/share/$(NAME) || exit 0 + cp ./bin/* $(DESTDIR)/usr/bin + #cp -r ./lib $(DESTDIR)/usr/share/$(NAME)/lib + +deinstall: + test ! -z "$(DESTDIR)" && test -f $(DESTDIR)/usr/bin/$(NAME) && rm $(DESTDIR)/usr/bin/$(NAME) || exit 0 + test ! -z "$(DESTDIR)/usr/share/$(NAME)" && -d $(DESTDIR)/usr/share/$(NAME) && rm -r $(DESTDIR)/usr/share/$(NAME) || exit 0 + +clean: + rm bin/* + +# ADDITIONAL RULES: + +# Parses the version out of the Debian changelog +version: + cut -d' ' -f2 debian/changelog | head -n 1 | sed 's/(//;s/)//' > .version + +# Builds the documentation into a manpage +documentation: + pod2man --release="$(NAME) $$(cat .version)" \ + --center="User Commands" ./docs/$(NAME).pod > ./docs/$(NAME).1 + pod2text ./docs/$(NAME).pod > ./docs/$(NAME).txt + +# Build a debian package (don't sign it, modify the arguments if you want to sign it) +deb: all + dpkg-buildpackage -uc -us + +dch: + dch -i + +release: dch deb + bash -c "git tag $$(cat .version)" + git push --tags + git commit -a -m 'New release' + git push origin master + +clean-top: + rm ../$(NAME)_*.tar.gz + rm ../$(NAME)_*.dsc + rm ../$(NAME)_*.changes + rm ../$(NAME)_*.deb + |
