0,0 → 1,142 |
# $Id$ |
|
prefix:=/usr/local |
DESTDIR:= |
|
PKG=relevation |
VERSION=$(shell bash devtools/relver.bash 2>/dev/null | awk '{ print $$1 }') |
PKGVER=$(PKG)-$(VERSION) |
PACKAGER:=$(shell finger -lp `echo $USER` 2>/dev/null | head -n1 | cut -d: -f3) |
ifeq ($(PACKAGER),) |
PACKAGER:=$(shell getent passwd "`id -un`" | cut -d: -f5 | cut -d, -f1) |
endif |
TAR_EXCLUDES=--exclude-vcs --exclude=$(PKGVER) \ |
--exclude=*.swp --exclude=*.pyo --exclude=*.pyc \ |
--exclude=manpage.html --exclude=manpage.pdf |
|
INSTALLROOT=$(DESTDIR)$(prefix) |
MANROOT=$(INSTALLROOT)/share/man |
# Where to install additional packages |
PYTHONROOT=$(DESTDIR)$(shell python -c "import sys;from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$(prefix)')") |
DUSETUP=python setup.py # Distutils' setup |
# Debian derived systems need special treatment for clean uninstalls |
# since it uses different than standard directories |
INSTALL_LAYOUT= |
ifeq ($(findstring dist-packages,$(PYTHONROOT)),dist-packages) |
INSTALL_LAYOUT=--install-layout=deb |
endif |
|
all: $(PKG).1 |
@echo |
@echo "########################################################" |
@echo "# TARGETS:" |
@echo "# install" |
@echo "# uninstall" |
@echo "# zip (-> $(PKGVER).zip)" |
@echo "# tarball (-> $(PKGVER).tar.gz)" |
@echo "# rpm" |
@echo "# dist (-> tarball + zip)" |
@echo "# clean" |
@echo "# distclean" |
@echo "# testman Displays compiled manpage" |
@echo "# test_min_python Find min. Python version required" |
@echo "########################################################" |
@echo |
|
testman: |
docbook-to-man manpage_source.sgml | nroff -man | less |
|
testmake: |
@echo VERSION=$(VERSION) |
@echo PKGVER=$(PKGVER) |
@echo PACKAGER=$(PACKAGER) |
@echo prefix=$(prefix) |
@echo DESTDIR=$(DESTDIR) |
@echo INSTALLROOT=$(INSTALLROOT) |
@echo MANROOT=$(MANROOT) |
@echo PYTHONROOT=$(PYTHONROOT) |
@echo INSTALL_LAYOUT=$(INSTALL_LAYOUT) |
|
test_min_python: pyqver2.py |
python pyqver2.py -v -m 2.4 src/$(PKG).py src/$(PKG)/*.py |
|
install: setup.py |
$(DUSETUP) install --prefix=$(DESTDIR)$(prefix) $(INSTALL_LAYOUT) |
|
# There's no distutils uninstall |
uninstall: |
-$(RM) $(INSTALLROOT)/bin/$(PKG) $(INSTALLROOT)/share/man/man1/$(PKG).1 |
-for tool in gui.py devtools/*.py; do \ |
$(RM) $(INSTALLROOT)/share/doc/$(PKG)/extra/`basename $$tool` ; \ |
done |
-$(RM) $(PYTHONROOT)/$(PKG)/* |
-$(RM) $(PYTHONROOT)/$(PKGVER).egg-info |
-rmdir --parents $(INSTALLROOT)/share/doc/$(PKG)/extra/ \ |
$(MANROOT)/man1/ \ |
$(INSTALLROOT)/bin/ \ |
$(PYTHONROOT)/$(PKG)/ |
|
clean: |
-$(RM) *.pyc *.pyo manpage.html manpage.pdf $(PKG).spec setup.py |
|
distclean: clean |
-$(RM) $(PKGVER).tar.gz $(PKGVER).zip |
-$(RM) -r dist build $(PKGVER)/ pyqver2.py |
|
dist: tarball zip |
-$(RM) -r $(PKGVER) |
|
tarball: $(PKGVER).tar.gz |
|
zip: $(PKGVER).zip |
|
rpm: $(PKGVER).tar.gz $(PKG).spec |
@# XXX: ??? Combined doesn't catch Build-Requires |
rpmbuild -tb $< && rpmbuild -ts $< |
|
$(PKGVER).tar.gz: is_release distclean $(PKG).spec setup.py |
$(DUSETUP) sdist -u root -g root --formats=gztar && mv dist/$@ . |
-@rmdir dist |
|
$(PKGVER).zip: is_release distclean manpage.pdf manpage.html $(PKG).spec setup.py |
@# Specifial manifest with additional files |
cp MANIFEST.in MANIFEST.in.tmp |
echo include manpage.pdf manpage.html >> MANIFEST.in.tmp |
$(DUSETUP) sdist --formats=zip --template MANIFEST.in.tmp && mv dist/$@ . |
-$(RM) MANIFEST.in.tmp MANIFEST |
-@rmdir dist |
|
setup.py: devtools/setup.py.in |
sed 's/@VERSION@/$(VERSION)/g' < $< > $@ |
|
$(PKG).1: manpage_source.sgml |
docbook-to-man $< > $@ |
|
manpage.html: $(PKG).1 |
man2html $< | sed '1,2d' > $@ |
|
manpage.pdf: $(PKG).1 |
man -t ./$(PKG).1 | ps2pdf14 - > $@ |
|
is_release: |
# Only allowed if RELEASE |
bash devtools/relver.bash | grep -q -v 'DEBUG' |
|
package_copy: |
@# Make a temporary copy to package |
-mkdir $(PKGVER) |
tar c . $(TAR_EXCLUDES) | ( cd $(PKGVER) && tar x ) |
|
$(PKG).spec: $(PKG).spec.in |
test -n "$(VERSION)" # Version (=$(VERSION)) must be defined |
@echo "[creating $@]" |
@cat "$<" | sed -e 's/@VERSION@/$(VERSION)/g' \ |
-e 's/@PACKAGER@/$(PACKAGER)/g' > "$@" |
|
pyqver2.py: |
wget https://github.com/ghewgill/pyqver/raw/master/pyqver2.py |
|
exe: |
python win/setup_py2exe.py py2exe |
|
.PHONY: testman clean distclean dist exe is_release zip |
Property changes: |
Added: svn:keywords |
+Rev Id Date |
\ No newline at end of property |