| 1 |
|
|---|
| 2 |
prefix=/usr/local |
|---|
| 3 |
bindir=$(prefix)/bin |
|---|
| 4 |
datadir=$(prefix)/share |
|---|
| 5 |
docdir=$(datadir)/doc |
|---|
| 6 |
|
|---|
| 7 |
DESTDIR= |
|---|
| 8 |
|
|---|
| 9 |
INSTALL=install |
|---|
| 10 |
INSTALL_DATA=install -m 644 |
|---|
| 11 |
INSTALL_DIR=install -d |
|---|
| 12 |
|
|---|
| 13 |
UNINSTALL=rm |
|---|
| 14 |
UNINSTALL_DIR=rm -r |
|---|
| 15 |
|
|---|
| 16 |
pkg_datadir=$(datadir)/cjc |
|---|
| 17 |
pkg_docdir=$(docdir)/cjc |
|---|
| 18 |
|
|---|
| 19 |
VERSION=1.0.0 |
|---|
| 20 |
SNAPSHOT= |
|---|
| 21 |
|
|---|
| 22 |
PY_DIRS=cjc cjc/ui plugins |
|---|
| 23 |
DOCS=doc/manual.html COPYING ChangeLog README TODO |
|---|
| 24 |
|
|---|
| 25 |
EXTRA_DIST=cjc.in cjc.py doc/manual.xml doc/Makefile |
|---|
| 26 |
|
|---|
| 27 |
.PHONY: all version dist cosmetics ChangeLog |
|---|
| 28 |
|
|---|
| 29 |
all: cjc.inst $(DOCS) version |
|---|
| 30 |
|
|---|
| 31 |
doc/manual.html: doc/manual.xml |
|---|
| 32 |
cd doc; make |
|---|
| 33 |
|
|---|
| 34 |
version: |
|---|
| 35 |
if test -d ".svn" ; then \ |
|---|
| 36 |
echo "version='$(VERSION)+svn'" > cjc/version.py || : ; \ |
|---|
| 37 |
fi |
|---|
| 38 |
|
|---|
| 39 |
cjc.inst: cjc.in |
|---|
| 40 |
sed -e 's,BASE_DIR,$(pkg_datadir),' < cjc.in > cjc.inst |
|---|
| 41 |
|
|---|
| 42 |
ChangeLog: |
|---|
| 43 |
test -f .svn/entries && make cl-stamp || : |
|---|
| 44 |
|
|---|
| 45 |
cl-stamp: .svn/entries |
|---|
| 46 |
TZ=UTC svn log -v --xml \ |
|---|
| 47 |
| aux/svn2log.py -p '/(branches/[^/]+|trunk)' -x ChangeLog -u aux/users -F |
|---|
| 48 |
touch cl-stamp |
|---|
| 49 |
|
|---|
| 50 |
cosmetics: |
|---|
| 51 |
./aux/cosmetics.sh |
|---|
| 52 |
|
|---|
| 53 |
clean: |
|---|
| 54 |
-rm -f cjc.inst |
|---|
| 55 |
|
|---|
| 56 |
install: all |
|---|
| 57 |
for d in $(PY_DIRS) ; do \ |
|---|
| 58 |
$(INSTALL_DIR) $(DESTDIR)$(pkg_datadir)/$$d ; \ |
|---|
| 59 |
$(INSTALL_DATA) $$d/*.py $(DESTDIR)$(pkg_datadir)/$$d ; \ |
|---|
| 60 |
done |
|---|
| 61 |
python -c "import compileall; compileall.compile_dir('$(DESTDIR)$(pkg_datadir)', ddir='$(pkg_datadir)')" |
|---|
| 62 |
$(INSTALL_DIR) $(DESTDIR)$(pkg_docdir) |
|---|
| 63 |
$(INSTALL_DATA) $(DOCS) $(DESTDIR)$(pkg_docdir) |
|---|
| 64 |
$(INSTALL_DIR) $(DESTDIR)$(bindir) |
|---|
| 65 |
$(INSTALL) cjc.inst $(DESTDIR)$(bindir)/cjc |
|---|
| 66 |
|
|---|
| 67 |
uninstall: |
|---|
| 68 |
for d in $(PY_DIRS) ; do \ |
|---|
| 69 |
$(UNINSTALL_DIR) $(DESTDIR)$(pkg_datadir)/$$d ; \ |
|---|
| 70 |
done || : |
|---|
| 71 |
$(UNINSTALL_DIR) $(DESTDIR)$(pkg_datadir) || : |
|---|
| 72 |
$(UNINSTALL_DIR) $(DESTDIR)$(pkg_docdir) || : |
|---|
| 73 |
$(UNINSTALL) $(DESTDIR)$(bindir)/cjc || : |
|---|
| 74 |
|
|---|
| 75 |
dist: all |
|---|
| 76 |
echo "version='$(VERSION)$(SNAPSHOT)'" > cjc/version.py ; \ |
|---|
| 77 |
version=`python -c "import cjc.version; print cjc.version.version"` ; \ |
|---|
| 78 |
distname=cjc-$$version ; \ |
|---|
| 79 |
for d in $(PY_DIRS) ; do \ |
|---|
| 80 |
$(INSTALL_DIR) $$distname/$$d || exit 1 ; \ |
|---|
| 81 |
cp -a $$d/*.py $$distname/$$d || exit 1 ; \ |
|---|
| 82 |
done || exit 1 ; \ |
|---|
| 83 |
for f in $(DOCS) $(EXTRA_DIST) ; do \ |
|---|
| 84 |
d=`dirname $$f` ; \ |
|---|
| 85 |
$(INSTALL_DIR) $$distname/$$d || exit 1; \ |
|---|
| 86 |
cp -a $$f $$distname/$$d || exit 1; \ |
|---|
| 87 |
done ; \ |
|---|
| 88 |
sed -e "s/^SNAPSHOT=.*/SNAPSHOT=$(SNAPSHOT)/" Makefile > $$distname/Makefile ; \ |
|---|
| 89 |
mkdir -p dist ; \ |
|---|
| 90 |
tar czf dist/$${distname}.tar.gz $$distname && \ |
|---|
| 91 |
rm -r $$distname |
|---|