root/trunk/Makefile

Revision 152, 2.9 kB (checked in by jajcus, 4 years ago)

- better format of ChangeLog? entries

Line 
1
2 prefix=/usr/local
3 bindir=$(prefix)/bin
4 datadir=$(prefix)/share
5 docdir=$(datadir)/doc
6 sysconfdir=$(prefix)/etc
7
8 DESTDIR=
9
10 INSTALL=install
11 INSTALL_DATA=install -m 644
12 INSTALL_DIR=install -d
13 LN_S=ln -sf
14 SED=sed
15
16 UNINSTALL=rm
17 UNINSTALL_DIR=rm -r
18
19 pkg_datadir=$(datadir)/jjigw
20 pkg_docdir=$(docdir)/jjigw
21
22 VERSION=0.2.1
23 SNAPSHOT=
24
25 PY_DIRS=jjigw
26 DOCS=ChangeLog INSTALL README TODO jjigw.xml.example
27
28 EXTRA_DIST=jjigw.py jjigw.dtd spidentd.py catalog.xml
29
30 .PHONY: all version dist ChangeLog cosmetics
31
32 all: version jjigw.py.inst catalog.xml.inst
33
34 version:
35         if test -f "SVN/Entries" ; then \
36                 echo "version='$(VERSION)+svn'" > jjigw/version.py ; \
37         fi
38
39 jjigw.py.inst: jjigw.py
40         $(SED) -e \
41                 "s#config_dir,data_dir=.*#config_dir,data_dir=\"$(sysconfdir)\",\"$(pkg_datadir)\"#" \
42                 jjigw.py > jjigw.py.inst
43
44 catalog.xml.inst: catalog.xml
45         $(SED) -e \
46                 "s#rewritePrefix=\"./\"#rewritePrefix=\"file:///$(pkg_datadir)/\"#" \
47                 catalog.xml > catalog.xml.inst
48
49 ChangeLog: 
50         test -f .svn/entries && make cl-stamp || :
51        
52 cl-stamp: .svn/entries
53         TZ=UTC svn log -v --xml \
54                 | aux/svn2log.py -p '/(branches/[^/]+|trunk)' -x ChangeLog -u aux/users -F
55         touch cl-stamp
56
57 cosmetics:
58         ./aux/cosmetics.sh
59        
60 clean:
61         -rm -f jjigw.py.inst catalog.xml.inst
62         -for d in $(PY_DIRS) ; do \
63                 rm -f $$d/*.pyc || : ; \
64         done
65
66 install: all
67         for d in $(PY_DIRS) ; do \
68                 $(INSTALL_DIR) $(DESTDIR)$(pkg_datadir)/$$d ; \
69                 $(INSTALL_DATA) $$d/*.py $(DESTDIR)$(pkg_datadir)/$$d ; \
70         done
71         python -c "import compileall; compileall.compile_dir('$(DESTDIR)$(pkg_datadir)')"
72         $(INSTALL) jjigw.py.inst $(DESTDIR)$(pkg_datadir)/jjigw.py
73         $(INSTALL_DATA) catalog.xml.inst $(DESTDIR)$(pkg_datadir)/catalog.xml
74         $(INSTALL_DATA) jjigw.dtd $(DESTDIR)$(pkg_datadir)
75         $(INSTALL_DIR) $(DESTDIR)$(pkg_docdir)
76         $(INSTALL_DATA) $(DOCS) $(DESTDIR)$(pkg_docdir)
77         $(INSTALL_DIR) $(DESTDIR)$(bindir)
78         -rm -f $(DESTDIR)$(bindir)/jjigw
79         $(LN_S) $(DESTDIR)$(pkg_datadir)/jjigw.py $(DESTDIR)$(bindir)/jjigw
80         $(INSTALL) spidentd.py $(DESTDIR)$(bindir)/spidentd
81
82 uninstall:
83         -for d in $(PY_DIRS) ; do \
84                 $(UNINSTALL_DIR) $(DESTDIR)$(pkg_datadir)/$$d || : ; \
85         done
86         -$(UNINSTALL_DIR) $(DESTDIR)$(pkg_datadir)
87         -$(UNINSTALL_DIR) $(DESTDIR)$(pkg_docdir)
88         -$(UNINSTALL) $(DESTDIR)$(bindir)/jjigw
89         -$(UNINSTALL) $(DESTDIR)$(bindir)/spidentd
90
91 dist: all
92         echo "version='$(VERSION)$(SNAPSHOT)'" > jjigw/version.py ; \
93         version=`python -c "import jjigw.version; print jjigw.version.version"` ; \
94         distname=jjigw-$$version ; \
95         for d in $(PY_DIRS) ; do \
96                 $(INSTALL_DIR) $$distname/$$d || exit 1 ; \
97                 cp -a $$d/*.py $$distname/$$d || exit 1 ; \
98         done || exit 1 ; \
99         for f in $(DOCS) $(EXTRA_DIST) ; do \
100                 d=`dirname $$f` ; \
101                 $(INSTALL_DIR) $$distname/$$d || exit 1; \
102                 cp -a $$f $$distname/$$d || exit 1; \
103         done ; \
104         sed -e "s/^SNAPSHOT=.*/SNAPSHOT=$(SNAPSHOT)/" Makefile > $$distname/Makefile ; \
105         mkdir -p dist ; \
106         tar czf dist/$${distname}.tar.gz $$distname && \
107         rm -r $$distname
Note: See TracBrowser for help on using the browser.