moving git buildpackage configuration off of master branch (please put it debian...
[monkeysphere.git] / Makefile
1 #!/usr/bin/make -f
2
3 # Makefile for monkeysphere
4
5 # © 2008-2010 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
6 # Licensed under GPL v3 or later
7
8 MONKEYSPHERE_VERSION:=$(shell head -n1 Changelog | sed 's/.*(\([^-]*\)).*/\1/')
9
10 # these defaults are for debian.  porters should probably adjust them
11 # before calling make install
12 ETCPREFIX ?= 
13 ETCSUFFIX ?= 
14 PREFIX ?= /usr
15 MANPREFIX ?= $(PREFIX)/share/man
16
17 # nothing actually needs to be built now.
18 all: 
19
20 VERSION: Changelog
21         sed 's/^Monkeysphere .*$$/Monkeysphere '$(MONKEYSPHERE_VERSION)'/' -i VERSION
22
23 debian-package:
24         git buildpackage -uc -us
25
26 # don't explicitly depend on the tarball, since our tarball
27 # (re)generation is not idempotent even when no source changes.
28 freebsd-distinfo: 
29         ./utils/build-freebsd-distinfo
30
31 macports-portfile:
32         ./utils/build-macports-portfile
33
34 clean:
35         # clean up old monkeysphere packages lying around as well.
36         rm -f monkeysphere_*
37
38 # this target is to be called from the tarball, not from the git
39 # working dir!
40 install: all installman
41         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/sbin
42         mkdir -p $(DESTDIR)$(PREFIX)/share/monkeysphere/m $(DESTDIR)$(PREFIX)/share/monkeysphere/mh $(DESTDIR)$(PREFIX)/share/monkeysphere/ma $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
43         mkdir -p $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
44         mkdir -p $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
45         install -m 0644 VERSION $(DESTDIR)$(PREFIX)/share/monkeysphere
46         install src/monkeysphere $(DESTDIR)$(PREFIX)/bin
47         install src/monkeysphere-host src/monkeysphere-authentication $(DESTDIR)$(PREFIX)/sbin
48         install -m 0644 src/share/common $(DESTDIR)$(PREFIX)/share/monkeysphere
49         install -m 0644 src/share/defaultenv $(DESTDIR)$(PREFIX)/share/monkeysphere
50         install -m 0755 src/share/checkperms $(DESTDIR)$(PREFIX)/share/monkeysphere
51         install -m 0755 src/share/keytrans $(DESTDIR)$(PREFIX)/share/monkeysphere
52         ln -s ../share/monkeysphere/keytrans $(DESTDIR)$(PREFIX)/bin/pem2openpgp
53         ln -s ../share/monkeysphere/keytrans $(DESTDIR)$(PREFIX)/bin/openpgp2ssh
54         install -m 0744 src/transitions/* $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
55         install -m 0644 src/transitions/README.txt $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
56         install -m 0644 src/share/m/* $(DESTDIR)$(PREFIX)/share/monkeysphere/m
57         install -m 0644 src/share/mh/* $(DESTDIR)$(PREFIX)/share/monkeysphere/mh
58         install -m 0644 src/share/ma/* $(DESTDIR)$(PREFIX)/share/monkeysphere/ma
59         install Changelog $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
60         install -m 0644 etc/monkeysphere.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere.conf$(ETCSUFFIX)
61         install -m 0644 etc/monkeysphere-host.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-host.conf$(ETCSUFFIX)
62         install -m 0644 etc/monkeysphere-authentication.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-authentication.conf$(ETCSUFFIX)
63
64 installman:
65         mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
66         gzip -n man/*/*
67         install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
68         install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
69         install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
70         gzip -d man/*/*
71
72 releasenote:
73         ./utils/build-releasenote
74
75 test: test-keytrans test-basic
76
77 test-basic:
78         MONKEYSPHERE_TEST_NO_EXAMINE=true ./tests/basic
79
80 test-keytrans:
81         MONKEYSPHERE_TEST_NO_EXAMINE=true ./tests/keytrans
82
83 .PHONY: all tarball debian-package freebsd-distinfo clean install installman releasenote test