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