Add openpgpg2pem.
[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 = `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 LOCALSTATEDIR ?= /var/lib
17
18 # nothing actually needs to be built now.
19 all: 
20
21 debian-package:
22         git buildpackage -uc -us
23
24 # don't explicitly depend on the tarball, since our tarball
25 # (re)generation is not idempotent even when no source changes.
26 freebsd-distinfo: 
27         ./utils/build-freebsd-distinfo
28
29 macports-portfile:
30         ./utils/build-macports-portfile
31
32 clean:
33         # clean up old monkeysphere packages lying around as well.
34         rm -f monkeysphere_*
35
36 # this target is to be called from the tarball, not from the git
37 # working dir!
38 install: all installman
39         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/sbin
40         mkdir -p $(DESTDIR)$(PREFIX)/share/monkeysphere/m $(DESTDIR)$(PREFIX)/share/monkeysphere/mh $(DESTDIR)$(PREFIX)/share/monkeysphere/ma $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
41         mkdir -p $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere
42         mkdir -p $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
43         printf "Monkeysphere %s\n" $(MONKEYSPHERE_VERSION) > $(DESTDIR)$(PREFIX)/share/monkeysphere/VERSION
44         install src/monkeysphere $(DESTDIR)$(PREFIX)/bin
45         sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/bin/monkeysphere
46         install src/monkeysphere-host $(DESTDIR)$(PREFIX)/sbin
47         sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-host
48         install src/monkeysphere-authentication $(DESTDIR)$(PREFIX)/sbin
49         sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-authentication
50         install src/monkeysphere-authentication-keys-for-user $(DESTDIR)$(PREFIX)/share/monkeysphere
51         install -m 0644 src/share/common $(DESTDIR)$(PREFIX)/share/monkeysphere
52         install -m 0644 src/share/defaultenv $(DESTDIR)$(PREFIX)/share/monkeysphere
53         sed -i 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' $(DESTDIR)$(PREFIX)/share/monkeysphere/defaultenv
54         sed -i 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):' $(DESTDIR)$(PREFIX)/share/monkeysphere/defaultenv
55         install -m 0755 src/share/checkperms $(DESTDIR)$(PREFIX)/share/monkeysphere
56         install -m 0755 src/share/keytrans $(DESTDIR)$(PREFIX)/share/monkeysphere
57         ln -sf ../share/monkeysphere/keytrans $(DESTDIR)$(PREFIX)/bin/pem2openpgp
58         ln -sf ../share/monkeysphere/keytrans $(DESTDIR)$(PREFIX)/bin/openpgp2ssh
59         install -m 0744 src/transitions/* $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
60         sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions/0.23
61         sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions/0.28
62         install -m 0644 src/transitions/README.txt $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
63         install -m 0644 src/share/m/* $(DESTDIR)$(PREFIX)/share/monkeysphere/m
64         install -m 0644 src/share/mh/* $(DESTDIR)$(PREFIX)/share/monkeysphere/mh
65         install -m 0644 src/share/ma/* $(DESTDIR)$(PREFIX)/share/monkeysphere/ma
66         install -m 0644 Changelog $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
67         install -d $(DESTDIR)$(PREFIX)/share/doc/monkeysphere/examples
68         install -m 0644 examples/* $(DESTDIR)$(PREFIX)/share/doc/monkeysphere/examples
69         install -m 0644 etc/monkeysphere.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere.conf$(ETCSUFFIX)
70         install -m 0644 etc/monkeysphere-host.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-host.conf$(ETCSUFFIX)
71         install -m 0644 etc/monkeysphere-authentication.conf $(DESTDIR)$(ETCPREFIX)/etc/monkeysphere/monkeysphere-authentication.conf$(ETCSUFFIX)
72
73 installman:
74         mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
75         gzip -n man/*/*
76         install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
77         install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
78         install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
79         gzip -d man/*/*
80         gzip -d $(DESTDIR)$(MANPREFIX)/man1/monkeysphere.1.gz
81         sed -i 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' $(DESTDIR)$(MANPREFIX)/man1/monkeysphere.1
82         gzip -n $(DESTDIR)$(MANPREFIX)/man1/monkeysphere.1
83         gzip -d $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-host.8.gz
84         sed -i 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-host.8
85         sed -i 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):' $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-host.8
86         gzip -n $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-host.8
87         gzip -d $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-authentication.8.gz
88         sed -i 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-authentication.8
89         sed -i 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):' $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-authentication.8
90         gzip -n $(DESTDIR)$(MANPREFIX)/man8/monkeysphere-authentication.8
91
92 # this target depends on you having the monkeysphere-docs
93 # repo checked out as a peer of your monkeysphere repo.
94 releasenote:
95         ../monkeysphere-docs/utils/build-releasenote
96
97 test: test-keytrans test-basic
98
99 test-basic:
100         MONKEYSPHERE_TEST_NO_EXAMINE=true ./tests/basic
101
102 test-keytrans:
103         MONKEYSPHERE_TEST_NO_EXAMINE=true ./tests/keytrans
104
105 .PHONY: all tarball debian-package freebsd-distinfo clean install installman releasenote test