Merge commit 'dkg/master'
[monkeysphere.git] / Makefile
1 MONKEYSPHERE_VERSION = `head -n1 debian/changelog | sed 's/.*(\([^-]*\)-.*/\1/'`
2
3 # these defaults are for debian.  porters should probably adjust them
4 # before calling make install
5 ETCPREFIX ?= 
6 ETCSUFFIX ?= 
7 PREFIX ?= /usr
8 MANPREFIX ?= $(PREFIX)/share/man
9
10 all: keytrans
11
12 keytrans:
13         $(MAKE) -C src/keytrans
14
15 tarball: clean
16         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
17         mkdir -p monkeysphere-$(MONKEYSPHERE_VERSION)/doc
18         ln -s ../../website/getting-started-user.mdwn ../../website/getting-started-admin.mdwn ../../doc/TODO ../../doc/MonkeySpec monkeysphere-$(MONKEYSPHERE_VERSION)/doc
19         ln -s ../COPYING ../etc ../Makefile ../man ../src  monkeysphere-$(MONKEYSPHERE_VERSION)
20         tar -ch monkeysphere-$(MONKEYSPHERE_VERSION) | gzip -n > monkeysphere_$(MONKEYSPHERE_VERSION).orig.tar.gz
21         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
22
23 debian-package: tarball
24         tar xzf monkeysphere_$(MONKEYSPHERE_VERSION).orig.tar.gz
25         cp -a debian monkeysphere-$(MONKEYSPHERE_VERSION)
26         (cd monkeysphere-$(MONKEYSPHERE_VERSION) && debuild -uc -us)
27         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
28
29 # don't explicitly depend on the tarball, since our tarball
30 # (re)generation is not idempotent even when no source changes.
31 freebsd-distinfo: 
32         ./utils/build-freebsd-distinfo
33
34 clean:
35         $(MAKE) -C src/keytrans clean
36         # clean up old monkeysphere packages lying around as well.
37         rm -f monkeysphere_*
38
39 # this target is to be called from the tarball, not from the git
40 # working dir!
41 install: all installman
42         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/share/monkeysphere
43         mkdir -p $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
44         mkdir -p $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
45         install src/monkeysphere src/monkeysphere-ssh-proxycommand src/keytrans/openpgp2ssh $(DESTDIR)$(PREFIX)/bin
46         install src/monkeysphere-server $(DESTDIR)$(PREFIX)/sbin
47         install -m 0644 src/common $(DESTDIR)$(PREFIX)/share/monkeysphere
48         install doc/* $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
49         install -m 0644 etc/monkeysphere.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere.conf$(ETCSUFFIX)
50         install -m 0644 etc/monkeysphere-server.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-server.conf$(ETCSUFFIX)
51
52 installman:
53         mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
54         gzip -n man/*/*
55         install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
56         install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
57         install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
58         gzip -d man/*/*
59
60 releasenote:
61         ./utils/build-releasenote
62
63 .PHONY: all clean tarball debian-package install releasenote