3 # Makefile for monkeysphere
5 # © 2008-2010 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
6 # Licensed under GPL v3 or later
8 MONKEYSPHERE_VERSION = `head -n1 Changelog | sed 's/.*(\([^-]*\)).*/\1/'`
10 # these defaults are for debian. porters should probably adjust them
11 # before calling make install
15 MANPREFIX ?= $(PREFIX)/share/man
16 LOCALSTATEDIR ?= /var/lib
18 # nothing actually needs to be built now.
22 git buildpackage -uc -us
24 # don't explicitly depend on the tarball, since our tarball
25 # (re)generation is not idempotent even when no source changes.
27 ./utils/build-freebsd-distinfo
30 ./utils/build-macports-portfile
33 # clean up old monkeysphere packages lying around as well.
36 # this target is to be called from the tarball, not from the git
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)
74 mkdir -p $(DESTDIR)$(MANPREFIX)/man1 $(DESTDIR)$(MANPREFIX)/man7 $(DESTDIR)$(MANPREFIX)/man8
76 install man/man1/* $(DESTDIR)$(MANPREFIX)/man1
77 install man/man7/* $(DESTDIR)$(MANPREFIX)/man7
78 install man/man8/* $(DESTDIR)$(MANPREFIX)/man8
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
92 # this target depends on you having the monkeysphere-docs
93 # repo checked out as a peer of your monkeysphere repo.
95 ../monkeysphere-docs/utils/build-releasenote
97 test: test-keytrans test-basic
100 MONKEYSPHERE_TEST_NO_EXAMINE=true ./tests/basic
103 MONKEYSPHERE_TEST_NO_EXAMINE=true ./tests/keytrans
105 .PHONY: all tarball debian-package freebsd-distinfo clean install installman releasenote test