98d265e5c1fc4b3aa45f8e894eef8785e7f6df2b
[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 PREFIX ?= /usr
7 MANPREFIX ?= $(PREFIX)/share/man
8
9 all: keytrans
10
11 keytrans:
12         $(MAKE) -C src/keytrans
13
14 tarball: clean
15         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
16         mkdir -p monkeysphere-$(MONKEYSPHERE_VERSION)/doc
17         ln -s ../../website/getting-started-user.mdwn ../../website/getting-started-admin.mdwn ../../doc/TODO ../../doc/MonkeySpec monkeysphere-$(MONKEYSPHERE_VERSION)/doc
18         ln -s ../COPYING ../etc ../Makefile ../man ../src  monkeysphere-$(MONKEYSPHERE_VERSION)
19         tar -ch monkeysphere-$(MONKEYSPHERE_VERSION) | gzip -n > monkeysphere_$(MONKEYSPHERE_VERSION).orig.tar.gz
20         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
21
22 debian-package: tarball
23         tar xzf monkeysphere_$(MONKEYSPHERE_VERSION).orig.tar.gz
24         cp -a debian monkeysphere-$(MONKEYSPHERE_VERSION)
25         (cd monkeysphere-$(MONKEYSPHERE_VERSION) && debuild -uc -us)
26         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
27
28 clean:
29         $(MAKE) -C src/keytrans clean
30         # clean up old monkeysphere packages lying around as well.
31         rm -f monkeysphere_*
32
33 # this target is to be called from the tarball, not from the git
34 # working dir!
35 install: all installman
36         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/share/monkeysphere
37         mkdir -p $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
38         mkdir -p $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
39         install src/monkeysphere src/monkeysphere-ssh-proxycommand src/keytrans/openpgp2ssh $(DESTDIR)$(PREFIX)/bin
40         install src/monkeysphere-server $(DESTDIR)$(PREFIX)/sbin
41         install -m 0644 src/common $(DESTDIR)$(PREFIX)/share/monkeysphere
42         install doc/* $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
43         install -m 0644 etc/* $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
44
45 installman:
46         mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
47         gzip -n man/*/*
48         install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
49         install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
50         install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
51         gzip -d man/*/*
52
53 releasenote:
54         ./utils/build-releasenote
55
56 .PHONY: all clean tarball debian-package install releasenote