packaging simplification, TODO cleanup.
[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
8 all: keytrans
9
10 keytrans:
11         $(MAKE) -C src/keytrans
12
13 tarball: clean
14         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
15         mkdir -p monkeysphere-$(MONKEYSPHERE_VERSION)/doc
16         ln -s ../../website/getting-started-user.mdwn ../../website/getting-started-admin.mdwn ../../doc/TODO ../../doc/MonkeySpec monkeysphere-$(MONKEYSPHERE_VERSION)/doc
17         ln -s ../COPYING ../etc ../Makefile ../man ../src  monkeysphere-$(MONKEYSPHERE_VERSION)
18         tar -ch monkeysphere-$(MONKEYSPHERE_VERSION) | gzip -n > monkeysphere_$(MONKEYSPHERE_VERSION).orig.tar.gz
19         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
20
21 debian-package: tarball
22         tar xzf monkeysphere_$(MONKEYSPHERE_VERSION).orig.tar.gz
23         cp -a debian monkeysphere-$(MONKEYSPHERE_VERSION)
24         (cd monkeysphere-$(MONKEYSPHERE_VERSION) && debuild -uc -us)
25         rm -rf monkeysphere-$(MONKEYSPHERE_VERSION)
26
27 clean:
28         $(MAKE) -C src/keytrans clean
29         # clean up old monkeysphere packages lying around as well.
30         rm -f monkeysphere_*
31
32 # this target is to be called from the tarball, not from the git
33 # working dir!
34 install: all
35         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/share/monkeysphere
36         mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 $(DESTDIR)$(PREFIX)/share/man/man7 $(DESTDIR)$(PREFIX)/share/man/man8
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 man/man1/* $(DESTDIR)$(PREFIX)/share/man/man1
44         install man/man7/* $(DESTDIR)$(PREFIX)/share/man/man7
45         install man/man8/* $(DESTDIR)$(PREFIX)/share/man/man8
46         install -m 0644 etc/* $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
47
48 .PHONY: all clean tarball debian-package install