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 ../tests monkeysphere-$(MONKEYSPHERE_VERSION)
20         tar -ch --exclude='*~' 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/gnupg-host.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/gnupg-host.conf$(ETCSUFFIX)
50         install -m 0644 etc/gnupg-authentication.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/gnupg-authentication.conf$(ETCSUFFIX)
51         install -m 0644 etc/monkeysphere.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere.conf$(ETCSUFFIX)
52         install -m 0644 etc/monkeysphere-server.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-server.conf$(ETCSUFFIX)
53
54 installman:
55         mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
56         gzip -n man/*/*
57         install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
58         install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
59         install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
60         gzip -d man/*/*
61
62 releasenote:
63         ./utils/build-releasenote
64
65 .PHONY: all tarball debian-package freebsd-distinfo clean install installman releasenote