Added better 'make clean' rule.
[cocanwiki.git] / Makefile
1 # $Id: Makefile,v 1.3 2004/09/08 17:09:08 rich Exp $
2
3 include Makefile.config
4
5 all:
6         $(MAKE) -C scripts all
7
8 install:
9         $(MAKE) -C scripts install
10
11 # This installs the package centrally (you need to be root).  I only
12 # use this for packaging up .debs.
13 pkg-install:
14         $(MAKE) -C scripts install
15
16         install -d -m 0755 $(DESTDIR)$(APACHECONFDIR)
17         install -m 0644 conf/cocanwiki.conf $(DESTDIR)$(APACHECONFDIR)/cocanwiki.conf
18
19         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)
20         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/conf
21         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html
22         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html/_bin
23         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html/_bin/admin
24         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html/_css
25         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html/_graphics
26         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html/_js
27         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/html/_static
28         install -d -m 0755 $(DESTDIR)$(WIKIINSTALLDIR)/templates
29
30         install -m 0644 cocanwiki.sql $(DESTDIR)$(WIKIINSTALLDIR)
31         install -m 0644 conf/cocanwiki.conf $(DESTDIR)$(WIKIINSTALLDIR)/conf
32         install -m 0644 html/robots.txt $(DESTDIR)$(WIKIINSTALLDIR)/html
33         install -m 0644 html/_bin/*.cma $(DESTDIR)$(WIKIINSTALLDIR)/html/_bin
34         install -m 0644 html/_bin/*.cmo $(DESTDIR)$(WIKIINSTALLDIR)/html/_bin
35         install -m 0644 html/_bin/admin/*.cmo $(DESTDIR)$(WIKIINSTALLDIR)/html/_bin/admin
36         install -m 0644 html/_css/*.css $(DESTDIR)$(WIKIINSTALLDIR)/html/_css
37         install -m 0644 html/_graphics/*.png $(DESTDIR)$(WIKIINSTALLDIR)/html/_graphics
38         install -m 0644 html/_js/*.js $(DESTDIR)$(WIKIINSTALLDIR)/html/_js
39         install -m 0644 html/_static/*.html $(DESTDIR)$(WIKIINSTALLDIR)/html/_static
40         install -m 0644 templates/*.html $(DESTDIR)$(WIKIINSTALLDIR)/templates
41
42 clean:
43         find \( -name '*~' -o -name core \) -a -exec rm {} \;
44         $(MAKE) -C scripts clean
45
46 cocanwiki.sql:
47         pg_dump -i -s cocanwiki > $@
48
49 dist:
50         $(MAKE) check-manifest
51         rm -rf $(PACKAGE)-$(VERSION)
52         mkdir $(PACKAGE)-$(VERSION)
53         tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
54         tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
55         rm -rf $(PACKAGE)-$(VERSION)
56         ls -l $(PACKAGE)-$(VERSION).tar.gz
57
58 check-manifest:
59         @for d in `find -type d -name CVS | grep -v '^\./debian/'`; \
60         do \
61         b=`dirname $$d`/; \
62         awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \
63         sed -e "s|^|$$b|" -e "s|^\./||"; \
64         done | sort > .check-manifest; \
65         sort MANIFEST > .orig-manifest; \
66         diff -u .orig-manifest .check-manifest; rv=$$?; \
67         rm -f .orig-manifest .check-manifest; \
68         exit $$rv
69
70 # Build Debian package.
71 dpkg:
72         @if [ 0 != `cvs -q update | wc -l` ]; then \
73         echo Please commit all changes to CVS first.; \
74         exit 1; \
75         fi
76         $(MAKE) dist
77         rm -rf /tmp/dbuild
78         mkdir /tmp/dbuild
79         cp $(PACKAGE)-$(VERSION).tar.gz \
80           /tmp/dbuild/cocanwiki_$(VERSION).orig.tar.gz
81         export CVSROOT=`cat CVS/Root`; \
82           cd /tmp/dbuild && \
83           cvs export \
84           -d cocanwiki-$(VERSION) \
85           -D now merjis/tools/wiki
86         cd /tmp/dbuild/cocanwiki-$(VERSION) && dpkg-buildpackage -rfakeroot
87         rm -rf /tmp/dbuild/cocanwiki-$(VERSION)
88         ls -l /tmp/dbuild
89
90 .PHONY: depend pkg-install dist check-manifest dpkg