/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Björn Påhlsson
  • Date: 2008-07-20 02:52:20 UTC
  • Revision ID: belorn@braxen-20080720025220-r5u0388uy9iu23h6
Added following support:
Pluginbased client handler
rewritten Mandos client
       Avahi instead of udp server discovery
       openpgp encrypted key support
Passprompt stand alone application for direct console input
Added logging for Mandos server

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
WARN=-O -Wall -Wformat=2 -Winit-self -Wmissing-include-dirs \
2
 
        -Wswitch-default -Wswitch-enum -Wunused-parameter \
3
 
        -Wstrict-aliasing=1 -Wextra -Wfloat-equal -Wundef -Wshadow \
4
 
        -Wunsafe-loop-optimizations -Wpointer-arith \
5
 
        -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings \
6
 
        -Wconversion -Wstrict-prototypes -Wold-style-definition \
7
 
        -Wpacked -Wnested-externs -Winline -Wvolatile-register-var
8
 
#       -Wunreachable-code
9
 
#DEBUG=-ggdb3
10
 
# For info about _FORTIFY_SOURCE, see
11
 
# <http://www.kernel.org/doc/man-pages/online/pages/man7/feature_test_macros.7.html>
12
 
# and <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
13
 
FORTIFY=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIC
14
 
LINK_FORTIFY_LD=-z relro -z now
15
 
LINK_FORTIFY=
16
 
 
17
 
# If BROKEN_PIE is set, do not build with -pie
18
 
ifndef BROKEN_PIE
19
 
FORTIFY += -fPIE
20
 
LINK_FORTIFY += -pie
21
 
endif
22
 
#COVERAGE=--coverage
23
 
OPTIMIZE=-Os
24
 
LANGUAGE=-std=gnu99
25
 
htmldir=man
26
 
version=1.6.2
27
 
SED=sed
28
 
 
29
 
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
30
 
GROUP=$(firstword $(subst :, ,$(shell getent group _mandos || getent group nobody || echo 65534)))
31
 
 
32
 
## Use these settings for a traditional /usr/local install
33
 
# PREFIX=$(DESTDIR)/usr/local
34
 
# CONFDIR=$(DESTDIR)/etc/mandos
35
 
# KEYDIR=$(DESTDIR)/etc/mandos/keys
36
 
# MANDIR=$(PREFIX)/man
37
 
# INITRAMFSTOOLS=$(DESTDIR)/etc/initramfs-tools
38
 
# STATEDIR=$(DESTDIR)/var/lib/mandos
39
 
##
40
 
 
41
 
## These settings are for a package-type install
42
 
PREFIX=$(DESTDIR)/usr
43
 
CONFDIR=$(DESTDIR)/etc/mandos
44
 
KEYDIR=$(DESTDIR)/etc/keys/mandos
45
 
MANDIR=$(PREFIX)/share/man
46
 
INITRAMFSTOOLS=$(DESTDIR)/usr/share/initramfs-tools
47
 
STATEDIR=$(DESTDIR)/var/lib/mandos
48
 
##
49
 
 
50
 
SYSTEMD=$(DESTDIR)$(shell pkg-config systemd --variable=systemdsystemunitdir)
51
 
 
52
 
GNUTLS_CFLAGS=$(shell pkg-config --cflags-only-I gnutls)
53
 
GNUTLS_LIBS=$(shell pkg-config --libs gnutls)
54
 
AVAHI_CFLAGS=$(shell pkg-config --cflags-only-I avahi-core)
55
 
AVAHI_LIBS=$(shell pkg-config --libs avahi-core)
56
 
GPGME_CFLAGS=$(shell gpgme-config --cflags; getconf LFS_CFLAGS)
57
 
GPGME_LIBS=$(shell gpgme-config --libs; getconf LFS_LIBS; \
58
 
        getconf LFS_LDFLAGS)
59
 
 
60
 
# Do not change these two
61
 
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
62
 
        $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS) \
63
 
        -DVERSION='"$(version)"'
64
 
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag))
65
 
 
66
 
# Commands to format a DocBook <refentry> document into a manual page
67
 
DOCBOOKTOMAN=$(strip cd $(dir $<); xsltproc --nonet --xinclude \
68
 
        --param man.charmap.use.subset          0 \
69
 
        --param make.year.ranges                1 \
70
 
        --param make.single.year.ranges         1 \
71
 
        --param man.output.quietly              1 \
72
 
        --param man.authors.section.enabled     0 \
73
 
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
74
 
        $(notdir $<); \
75
 
        $(MANPOST) $(notdir $@);\
76
 
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
77
 
        && type man 2>/dev/null; then LANG=en_US.UTF-8 MANWIDTH=80 \
78
 
        man --warnings --encoding=UTF-8 --local-file $(notdir $@); \
79
 
        fi >/dev/null)
80
 
# DocBook-to-man post-processing to fix a '\n' escape bug
81
 
MANPOST=$(SED) --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g'
82
 
 
83
 
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
84
 
        --param make.year.ranges                1 \
85
 
        --param make.single.year.ranges         1 \
86
 
        --param man.output.quietly              1 \
87
 
        --param man.authors.section.enabled     0 \
88
 
        --param citerefentry.link               1 \
89
 
        --output $@ \
90
 
        /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl \
91
 
        $<; $(HTMLPOST) $@)
92
 
# Fix citerefentry links
93
 
HTMLPOST=$(SED) --in-place \
94
 
        --expression='s/\(<a class="citerefentry" href="\)\("><span class="citerefentry"><span class="refentrytitle">\)\([^<]*\)\(<\/span>(\)\([^)]*\)\()<\/span><\/a>\)/\1\3.\5\2\3\4\5\6/g'
95
 
 
96
 
PLUGINS=plugins.d/password-prompt plugins.d/mandos-client \
97
 
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo \
98
 
        plugins.d/plymouth
99
 
CPROGS=plugin-runner $(PLUGINS)
100
 
PROGS=mandos mandos-keygen mandos-ctl mandos-monitor $(CPROGS)
101
 
DOCS=mandos.8 mandos-keygen.8 mandos-monitor.8 mandos-ctl.8 \
102
 
        mandos.conf.5 mandos-clients.conf.5 plugin-runner.8mandos \
103
 
        plugins.d/mandos-client.8mandos \
104
 
        plugins.d/password-prompt.8mandos plugins.d/usplash.8mandos \
105
 
        plugins.d/splashy.8mandos plugins.d/askpass-fifo.8mandos \
106
 
        plugins.d/plymouth.8mandos intro.8mandos
107
 
 
108
 
htmldocs=$(addsuffix .xhtml,$(DOCS))
109
 
 
110
 
objects=$(addsuffix .o,$(CPROGS))
111
 
 
112
 
all: $(PROGS) mandos.lsm
113
 
 
114
 
doc: $(DOCS)
115
 
 
116
 
html: $(htmldocs)
117
 
 
118
 
%.5: %.xml common.ent legalnotice.xml
119
 
        $(DOCBOOKTOMAN)
120
 
%.5.xhtml: %.xml common.ent legalnotice.xml
121
 
        $(DOCBOOKTOHTML)
122
 
 
123
 
%.8: %.xml common.ent legalnotice.xml
124
 
        $(DOCBOOKTOMAN)
125
 
%.8.xhtml: %.xml common.ent legalnotice.xml
126
 
        $(DOCBOOKTOHTML)
127
 
 
128
 
%.8mandos: %.xml common.ent legalnotice.xml
129
 
        $(DOCBOOKTOMAN)
130
 
%.8mandos.xhtml: %.xml common.ent legalnotice.xml
131
 
        $(DOCBOOKTOHTML)
132
 
 
133
 
intro.8mandos: intro.xml common.ent legalnotice.xml
134
 
        $(DOCBOOKTOMAN)
135
 
intro.8mandos.xhtml: intro.xml common.ent legalnotice.xml
136
 
        $(DOCBOOKTOHTML)
137
 
 
138
 
mandos.8: mandos.xml common.ent mandos-options.xml overview.xml \
139
 
                legalnotice.xml
140
 
        $(DOCBOOKTOMAN)
141
 
mandos.8.xhtml: mandos.xml common.ent mandos-options.xml \
142
 
                overview.xml legalnotice.xml
143
 
        $(DOCBOOKTOHTML)
144
 
 
145
 
mandos-keygen.8: mandos-keygen.xml common.ent overview.xml \
146
 
                legalnotice.xml
147
 
        $(DOCBOOKTOMAN)
148
 
mandos-keygen.8.xhtml: mandos-keygen.xml common.ent overview.xml \
149
 
                 legalnotice.xml
150
 
        $(DOCBOOKTOHTML)
151
 
 
152
 
mandos-monitor.8: mandos-monitor.xml common.ent overview.xml \
153
 
                legalnotice.xml
154
 
        $(DOCBOOKTOMAN)
155
 
mandos-monitor.8.xhtml: mandos-monitor.xml common.ent overview.xml \
156
 
                 legalnotice.xml
157
 
        $(DOCBOOKTOHTML)
158
 
 
159
 
mandos-ctl.8: mandos-ctl.xml common.ent overview.xml \
160
 
                legalnotice.xml
161
 
        $(DOCBOOKTOMAN)
162
 
mandos-ctl.8.xhtml: mandos-ctl.xml common.ent overview.xml \
163
 
                 legalnotice.xml
164
 
        $(DOCBOOKTOHTML)
165
 
 
166
 
mandos.conf.5: mandos.conf.xml common.ent mandos-options.xml \
167
 
                legalnotice.xml
168
 
        $(DOCBOOKTOMAN)
169
 
mandos.conf.5.xhtml: mandos.conf.xml common.ent mandos-options.xml \
170
 
                legalnotice.xml
171
 
        $(DOCBOOKTOHTML)
172
 
 
173
 
plugin-runner.8mandos: plugin-runner.xml common.ent overview.xml \
174
 
                legalnotice.xml
175
 
        $(DOCBOOKTOMAN)
176
 
plugin-runner.8mandos.xhtml: plugin-runner.xml common.ent \
177
 
                overview.xml legalnotice.xml
178
 
        $(DOCBOOKTOHTML)
179
 
 
180
 
plugins.d/mandos-client.8mandos: plugins.d/mandos-client.xml \
181
 
                                        common.ent \
182
 
                                        mandos-options.xml \
183
 
                                        overview.xml legalnotice.xml
184
 
        $(DOCBOOKTOMAN)
185
 
plugins.d/mandos-client.8mandos.xhtml: plugins.d/mandos-client.xml \
186
 
                                        common.ent \
187
 
                                        mandos-options.xml \
188
 
                                        overview.xml legalnotice.xml
189
 
        $(DOCBOOKTOHTML)
190
 
 
191
 
# Update all these files with version number $(version)
192
 
common.ent: Makefile
193
 
        $(strip $(SED) --in-place \
194
 
                --expression='s/^\(<!ENTITY version "\)[^"]*">$$/\1$(version)">/' \
195
 
                $@)
196
 
 
197
 
mandos: Makefile
198
 
        $(strip $(SED) --in-place \
199
 
                --expression='s/^\(version = "\)[^"]*"$$/\1$(version)"/' \
200
 
                $@)
201
 
 
202
 
mandos-keygen: Makefile
203
 
        $(strip $(SED) --in-place \
204
 
                --expression='s/^\(VERSION="\)[^"]*"$$/\1$(version)"/' \
205
 
                $@)
206
 
 
207
 
mandos-ctl: Makefile
208
 
        $(strip $(SED) --in-place \
209
 
                --expression='s/^\(version = "\)[^"]*"$$/\1$(version)"/' \
210
 
                $@)
211
 
 
212
 
mandos-monitor: Makefile
213
 
        $(strip $(SED) --in-place \
214
 
                --expression='s/^\(version = "\)[^"]*"$$/\1$(version)"/' \
215
 
                $@)
216
 
 
217
 
mandos.lsm: Makefile
218
 
        $(strip $(SED) --in-place \
219
 
                --expression='s/^\(Version:\).*/\1\t$(version)/' \
220
 
                $@)
221
 
        $(strip $(SED) --in-place \
222
 
                --expression='s/^\(Entered-date:\).*/\1\t$(shell date --rfc-3339=date --reference=Makefile)/' \
223
 
                $@)
224
 
        $(strip $(SED) --in-place \
225
 
                --expression='s/\(mandos_\)[0-9.]\+\(\.orig\.tar\.gz\)/\1$(version)\2/' \
226
 
                $@)
227
 
 
228
 
plugins.d/mandos-client: plugins.d/mandos-client.c
229
 
        $(LINK.c) $^ -lrt $(GNUTLS_LIBS) $(AVAHI_LIBS) $(strip\
230
 
                ) $(GPGME_LIBS) $(LOADLIBES) $(LDLIBS) -o $@
231
 
 
232
 
.PHONY : all doc html clean distclean run-client run-server install \
233
 
        install-server install-client uninstall uninstall-server \
234
 
        uninstall-client purge purge-server purge-client
 
1
CFLAGS="-Wall -std=gnu99"
 
2
LDFLAGS=-lgnutls
 
3
 
 
4
all: plugbasedclient
235
5
 
236
6
clean:
237
 
        -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core
238
 
 
239
 
distclean: clean
240
 
mostlyclean: clean
241
 
maintainer-clean: clean
242
 
        -rm --force --recursive keydir confdir statedir
243
 
 
244
 
check:  all
245
 
        ./mandos --check
246
 
        ./mandos-ctl --check
247
 
 
248
 
# Run the client with a local config and key
249
 
run-client: all keydir/seckey.txt keydir/pubkey.txt
250
 
        @echo "###################################################################"
251
 
        @echo "# The following error messages are harmless and can be safely     #"
252
 
        @echo "# ignored.  The messages are caused by not running as root, but   #"
253
 
        @echo "# you should NOT run \"make run-client\" as root unless you also    #"
254
 
        @echo "# unpacked and compiled Mandos as root, which is NOT recommended. #"
255
 
        @echo "# From plugin-runner: setuid: Operation not permitted             #"
256
 
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
257
 
        @echo "# From mandos-client: setuid: Operation not permitted             #"
258
 
        @echo "#                     seteuid: Operation not permitted            #"
259
 
        @echo "#                     klogctl: Operation not permitted            #"
260
 
        @echo "###################################################################"
261
 
        ./plugin-runner --plugin-dir=plugins.d \
262
 
                --config-file=plugin-runner.conf \
263
 
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt,--network-hook-dir=network-hooks.d \
264
 
                $(CLIENTARGS)
265
 
 
266
 
# Used by run-client
267
 
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen
268
 
        install --directory keydir
269
 
        ./mandos-keygen --dir keydir --force
270
 
 
271
 
# Run the server with a local config
272
 
run-server: confdir/mandos.conf confdir/clients.conf statedir
273
 
        ./mandos --debug --no-dbus --configdir=confdir \
274
 
                --statedir=statedir $(SERVERARGS)
275
 
 
276
 
# Used by run-server
277
 
confdir/mandos.conf: mandos.conf
278
 
        install --directory confdir
279
 
        install --mode=u=rw,go=r $^ $@
280
 
confdir/clients.conf: clients.conf keydir/seckey.txt
281
 
        install --directory confdir
282
 
        install --mode=u=rw $< $@
283
 
# Add a client password
284
 
        ./mandos-keygen --dir keydir --password >> $@
285
 
statedir:
286
 
        install --directory statedir
287
 
 
288
 
install: install-server install-client-nokey
289
 
 
290
 
install-html: html
291
 
        install --directory $(htmldir)
292
 
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
293
 
                $(htmldocs)
294
 
 
295
 
install-server: doc
296
 
        install --directory $(CONFDIR)
297
 
        install --directory --mode=u=rwx --owner=$(USER) \
298
 
                --group=$(GROUP) $(STATEDIR)
299
 
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
300
 
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
301
 
                mandos-ctl
302
 
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
303
 
                mandos-monitor
304
 
        install --mode=u=rw,go=r --target-directory=$(CONFDIR) \
305
 
                mandos.conf
306
 
        install --mode=u=rw --target-directory=$(CONFDIR) \
307
 
                clients.conf
308
 
        install --mode=u=rw,go=r dbus-mandos.conf \
309
 
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
310
 
        install --mode=u=rwx,go=rx init.d-mandos \
311
 
                $(DESTDIR)/etc/init.d/mandos
312
 
        if [ "$(SYSTEMD)" != "$(DESTDIR)" -a -d "$(SYSTEMD)" ]; then \
313
 
                install --mode=u=rw,go=r mandos.service $(SYSTEMD); \
314
 
        fi
315
 
        install --mode=u=rw,go=r default-mandos \
316
 
                $(DESTDIR)/etc/default/mandos
317
 
        if [ -z $(DESTDIR) ]; then \
318
 
                update-rc.d mandos defaults 25 15;\
319
 
        fi
320
 
        gzip --best --to-stdout mandos.8 \
321
 
                > $(MANDIR)/man8/mandos.8.gz
322
 
        gzip --best --to-stdout mandos-monitor.8 \
323
 
                > $(MANDIR)/man8/mandos-monitor.8.gz
324
 
        gzip --best --to-stdout mandos-ctl.8 \
325
 
                > $(MANDIR)/man8/mandos-ctl.8.gz
326
 
        gzip --best --to-stdout mandos.conf.5 \
327
 
                > $(MANDIR)/man5/mandos.conf.5.gz
328
 
        gzip --best --to-stdout mandos-clients.conf.5 \
329
 
                > $(MANDIR)/man5/mandos-clients.conf.5.gz
330
 
        gzip --best --to-stdout intro.8mandos \
331
 
                > $(MANDIR)/man8/intro.8mandos.gz
332
 
 
333
 
install-client-nokey: all doc
334
 
        install --directory $(PREFIX)/lib/mandos $(CONFDIR)
335
 
        install --directory --mode=u=rwx $(KEYDIR) \
336
 
                $(PREFIX)/lib/mandos/plugins.d
337
 
        if [ "$(CONFDIR)" != "$(PREFIX)/lib/mandos" ]; then \
338
 
                install --mode=u=rwx \
339
 
                        --directory "$(CONFDIR)/plugins.d"; \
340
 
        fi
341
 
        install --mode=u=rwx,go=rx --directory \
342
 
                "$(CONFDIR)/network-hooks.d"
343
 
        install --mode=u=rwx,go=rx \
344
 
                --target-directory=$(PREFIX)/lib/mandos plugin-runner
345
 
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
346
 
                mandos-keygen
347
 
        install --mode=u=rwx,go=rx \
348
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
349
 
                plugins.d/password-prompt
350
 
        install --mode=u=rwxs,go=rx \
351
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
352
 
                plugins.d/mandos-client
353
 
        install --mode=u=rwxs,go=rx \
354
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
355
 
                plugins.d/usplash
356
 
        install --mode=u=rwxs,go=rx \
357
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
358
 
                plugins.d/splashy
359
 
        install --mode=u=rwxs,go=rx \
360
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
361
 
                plugins.d/askpass-fifo
362
 
        install --mode=u=rwxs,go=rx \
363
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
364
 
                plugins.d/plymouth
365
 
        install initramfs-tools-hook \
366
 
                $(INITRAMFSTOOLS)/hooks/mandos
367
 
        install --mode=u=rw,go=r initramfs-tools-hook-conf \
368
 
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos
369
 
        install initramfs-tools-script \
370
 
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
371
 
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
372
 
        gzip --best --to-stdout mandos-keygen.8 \
373
 
                > $(MANDIR)/man8/mandos-keygen.8.gz
374
 
        gzip --best --to-stdout plugin-runner.8mandos \
375
 
                > $(MANDIR)/man8/plugin-runner.8mandos.gz
376
 
        gzip --best --to-stdout plugins.d/mandos-client.8mandos \
377
 
                > $(MANDIR)/man8/mandos-client.8mandos.gz
378
 
        gzip --best --to-stdout plugins.d/password-prompt.8mandos \
379
 
                > $(MANDIR)/man8/password-prompt.8mandos.gz
380
 
        gzip --best --to-stdout plugins.d/usplash.8mandos \
381
 
                > $(MANDIR)/man8/usplash.8mandos.gz
382
 
        gzip --best --to-stdout plugins.d/splashy.8mandos \
383
 
                > $(MANDIR)/man8/splashy.8mandos.gz
384
 
        gzip --best --to-stdout plugins.d/askpass-fifo.8mandos \
385
 
                > $(MANDIR)/man8/askpass-fifo.8mandos.gz
386
 
        gzip --best --to-stdout plugins.d/plymouth.8mandos \
387
 
                > $(MANDIR)/man8/plymouth.8mandos.gz
388
 
 
389
 
install-client: install-client-nokey
390
 
# Post-installation stuff
391
 
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
392
 
        update-initramfs -k all -u
393
 
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
394
 
 
395
 
uninstall: uninstall-server uninstall-client
396
 
 
397
 
uninstall-server:
398
 
        -rm --force $(PREFIX)/sbin/mandos \
399
 
                $(PREFIX)/sbin/mandos-ctl \
400
 
                $(PREFIX)/sbin/mandos-monitor \
401
 
                $(MANDIR)/man8/mandos.8.gz \
402
 
                $(MANDIR)/man8/mandos-monitor.8.gz \
403
 
                $(MANDIR)/man8/mandos-ctl.8.gz \
404
 
                $(MANDIR)/man5/mandos.conf.5.gz \
405
 
                $(MANDIR)/man5/mandos-clients.conf.5.gz
406
 
        update-rc.d -f mandos remove
407
 
        -rmdir $(CONFDIR)
408
 
 
409
 
uninstall-client:
410
 
# Refuse to uninstall client if /etc/crypttab is explicitly configured
411
 
# to use it.
412
 
        ! grep --regexp='^ *[^ #].*keyscript=[^,=]*/mandos/' \
413
 
                $(DESTDIR)/etc/crypttab
414
 
        -rm --force $(PREFIX)/sbin/mandos-keygen \
415
 
                $(PREFIX)/lib/mandos/plugin-runner \
416
 
                $(PREFIX)/lib/mandos/plugins.d/password-prompt \
417
 
                $(PREFIX)/lib/mandos/plugins.d/mandos-client \
418
 
                $(PREFIX)/lib/mandos/plugins.d/usplash \
419
 
                $(PREFIX)/lib/mandos/plugins.d/splashy \
420
 
                $(PREFIX)/lib/mandos/plugins.d/askpass-fifo \
421
 
                $(PREFIX)/lib/mandos/plugins.d/plymouth \
422
 
                $(INITRAMFSTOOLS)/hooks/mandos \
423
 
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos \
424
 
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos \
425
 
                $(MANDIR)/man8/mandos-keygen.8.gz \
426
 
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
427
 
                $(MANDIR)/man8/mandos-client.8mandos.gz
428
 
                $(MANDIR)/man8/password-prompt.8mandos.gz \
429
 
                $(MANDIR)/man8/usplash.8mandos.gz \
430
 
                $(MANDIR)/man8/splashy.8mandos.gz \
431
 
                $(MANDIR)/man8/askpass-fifo.8mandos.gz \
432
 
                $(MANDIR)/man8/plymouth.8mandos.gz \
433
 
        -rmdir $(PREFIX)/lib/mandos/plugins.d $(CONFDIR)/plugins.d \
434
 
                 $(PREFIX)/lib/mandos $(CONFDIR) $(KEYDIR)
435
 
        update-initramfs -k all -u
436
 
 
437
 
purge: purge-server purge-client
438
 
 
439
 
purge-server: uninstall-server
440
 
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
441
 
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
442
 
                $(DESTDIR)/etc/default/mandos \
443
 
                $(DESTDIR)/etc/init.d/mandos \
444
 
                $(SYSTEMD)/mandos.service \
445
 
                $(DESTDIR)/run/mandos.pid \
446
 
                $(DESTDIR)/var/run/mandos.pid
447
 
        -rmdir $(CONFDIR)
448
 
 
449
 
purge-client: uninstall-client
450
 
        -shred --remove $(KEYDIR)/seckey.txt
451
 
        -rm --force $(CONFDIR)/plugin-runner.conf \
452
 
                $(KEYDIR)/pubkey.txt $(KEYDIR)/seckey.txt
453
 
        -rmdir $(KEYDIR) $(CONFDIR)/plugins.d $(CONFDIR)
 
7
        rm -f plugbasedclient
 
8
 
 
9
client_debug: client
 
10
        mv -f client client.tmp
 
11
        $(MAKE) client CXXFLAGS="$(CXXFLAGS) -DDEBUG -DCERT_ROOT=\\\"./\\\""
 
12
        mv client client_debug
 
13
        mv client.tmp client