root/trunk/Makefile

Revision 637, 2.2 kB (checked in by jajcus, 3 years ago)

*** Version: 1.0.0 ***

Line 
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
Note: See TracBrowser for help on using the browser.