779bb1a81c11f64490548029467760c8da749562
[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 freebsd-distinfo: tarball
30         ./utils/build-freebsd-distinfo
31
32 clean:
33         $(MAKE) -C src/keytrans clean
34         # clean up old monkeysphere packages lying around as well.
35         rm -f monkeysphere_*
36
37 # this target is to be called from the tarball, not from the git
38 # working dir!
39 install: all installman
40         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/share/monkeysphere
41         mkdir -p $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
42         mkdir -p $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
43         install src/monkeysphere src/monkeysphere-ssh-proxycommand src/keytrans/openpgp2ssh $(DESTDIR)$(PREFIX)/bin
44         install src/monkeysphere-server $(DESTDIR)$(PREFIX)/sbin
45         install -m 0644 src/common $(DESTDIR)$(PREFIX)/share/monkeysphere
46         install doc/* $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
47         install -m 0644 etc/monkeysphere.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere.conf$(ETCSUFFIX)
48         install -m 0644 etc/monkeysphere-server.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-server.conf$(ETCSUFFIX)
49
50 installman:
51         mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
52         gzip -n man/*/*
53         install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
54         install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
55         install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
56         gzip -d man/*/*
57
58 releasenote:
59         ./utils/build-releasenote
60
61 .PHONY: all clean tarball debian-package install releasenote