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