comparison Meerwald-dir/Makefile @ 24:9f20bce6184e v0.7

move directories, support netpbm 11
author Peter Meerwald-Stadler <pmeerw@pmeerw.net>
date Fri, 20 Dec 2024 13:08:59 +0100
parents Meerwald/Makefile@bd669312f068
children
comparison
equal deleted inserted replaced
23:71dd4b96221b 24:9f20bce6184e
1 # Makefile
2
3 # chose build plattform
4 include ../make/make.config
5
6 OPTIONS=-DPARAM_STUFF -DPOLLEN_STUFF
7
8 all: tools \
9 bruyn \
10 koch \
11 corvi \
12 xia \
13 xie \
14 xie2 \
15 cox \
16 zhu \
17 dugad \
18 wang \
19 frid2 \
20 kim \
21 kund2 \
22 kund3
23
24 .SUFFIXES: .c .o .1 .ps
25
26 .c$(O):
27 $(CC) $(CFLAGS) $(INCLUDES) $(OPTIONS) -o $@ -c $<
28
29 .1.ps:
30 $(GROFF) $< > $@
31
32 # library containing general stuff
33
34 $(LIBPREFIX)wm$(LIB): dct$(O) coeff$(O) gray$(O) sort$(O) signature-utils$(O) coord$(O) wm$(O)
35 $(RM) $@
36 ar -rc $@ dct$(O) coeff$(O) gray$(O) sort$(O) signature-utils$(O) coord$(O) wm$(O)
37
38 libraryclean:
39 $(RM) $(LIBPREFIX)wm$(LIB)
40
41 # library containing wavelet transform stuff
42
43 $(LIBPREFIX)wavelet$(LIB): wavelet$(O) dwt$(O) dwt_util$(O)
44 $(RM) $@
45 ar -rc $@ wavelet$(O) dwt$(O) dwt_util$(O)
46
47 waveletclean:
48 $(RM) $(LIBPREFIX)wavelet$(LIB)
49
50 # some general tools to compute difference image, PSNR, ...
51
52 tools: cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE) cmp_ppm$(EXE)
53
54 toolstest:
55
56 toolsinstall: tools
57 $(CP) cmp_ppm$(EXE) cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE) $(INSTALLDIR)
58
59 toolsman: cmp_ppm.ps cmp_pgm.ps cmp_dct8x8.ps cmp_dct.ps
60
61 toolsclean:
62 $(RM) cmp_ppm$(EXE) cmp_pgm$(EXE) cmp_dct$(EXE) cmp_dct8x8$(EXE) cmp_dwt$(EXE)
63
64 cmp_pgm$(EXE): cmp_pgm$(O) $(LIBPREFIX)wm$(LIB)
65 $(CC) $(LDFLAGS) -o $@ cmp_pgm$(O) $(WMLIB) $(PGMLIBS) $(LIBS)
66
67 cmp_ppm$(EXE): cmp_ppm$(O) $(LIBPREFIX)wm$(LIB)
68 $(CC) $(LDFLAGS) -o $@ cmp_ppm$(O) $(WMLIB) $(PGMLIBS) $(LIBS)
69
70 cmp_dct$(EXE): cmp_dct$(O) $(LIBPREFIX)wm$(LIB)
71 $(CC) $(LDFLAGS) -o $@ cmp_dct$(O) $(WMLIB) $(PGMLIBS)
72
73 cmp_dwt$(EXE): cmp_dwt$(O) $(LIBPREFIX)wavelet$(LIB) $(LIBPREFIX)wm$(LIB)
74 $(CC) $(LDFLAGS) -o $@ cmp_dwt$(O) $(WAVELIB) $(WMLIB) $(PGMLIBS)
75
76 cmp_dct8x8$(EXE): cmp_dct8x8$(O) $(LIBPREFIX)wm$(LIB)
77 $(CC) $(LDFLAGS) -o $@ cmp_dct8x8$(O) $(WMLIB) $(PGMLIBS)
78
79
80 # Koch's algorithm (8x8 block DCT, blind, binary)
81
82 koch: gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE)
83
84 kochtest: koch
85 gen_koch_sig$(EXE) -n 150 < gen_koch_sig.c > ../sigs/koch.sig
86 wm_koch_e$(EXE) -s ../sigs/koch.sig -o ../watermarked/koch_lena.pgm ../images/lena.pgm
87 wm_koch_d$(EXE) -s ../sigs/koch.sig -o ../wms/koch.wm ../watermarked/koch_lena.pgm
88 cmp_koch_sig$(EXE) -s ../sigs/koch.sig ../wms/koch.wm
89
90 kochinstall: koch
91 $(CP) gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE) $(INSTALLDIR)
92
93 kochclean:
94 $(RM) gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE)
95
96 kochman:
97
98 wm_koch_e$(EXE): wm_koch_e$(O) $(LIBPREFIX)wm$(LIB)
99 $(CC) $(LDFLAGS) -o $@ wm_koch_e$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
100
101 wm_koch_d$(EXE): wm_koch_d$(O) $(LIBPREFIX)wm$(LIB)
102 $(CC) $(LDFLAGS) -o $@ wm_koch_d$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
103
104 gen_koch_sig$(EXE): gen_koch_sig$(O) wm$(O)
105 $(CC) $(LDFLAGS) -o $@ gen_koch_sig$(O) wm$(O) $(LIBS)
106
107 cmp_koch_sig$(EXE): cmp_koch_sig$(O) $(LIBPREFIX)wm$(LIB)
108 $(CC) $(LDFLAGS) -o $@ cmp_koch_sig$(O) $(WMLIB) $(LIBS)
109
110 # Fridrich's 2. scheme (full-frame DCT, blind, binary)
111
112 frid2: gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE)
113
114 frid2test: frid2
115 gen_frid2_sig$(EXE) -n 250 < gen_frid2_sig.c > ../sigs/frid2.sig
116 wm_frid2_e$(EXE) -s ../sigs/frid2.sig -o ../watermarked/frid2_lena.pgm ../images/lena.pgm
117 wm_frid2_d$(EXE) -s ../sigs/frid2.sig -o ../wms/frid2.wm ../watermarked/frid2_lena.pgm
118 cmp_frid2_sig$(EXE) -s ../sigs/frid2.sig ../wms/frid2.wm
119
120 frid2install: frid2
121 $(CP) gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE) $(INSTALLDIR)
122
123 frid2clean:
124 $(RM) gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE)
125
126 frid2man:
127
128 wm_frid2_e$(EXE): wm_frid2_e$(O) $(LIBPREFIX)wm$(LIB) frid2_common$(O)
129 $(CC) $(LDFLAGS) -o $@ wm_frid2_e$(O) frid2_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
130
131 wm_frid2_d$(EXE): wm_frid2_d$(O) $(LIBPREFIX)wm$(LIB) frid2_common$(O)
132 $(CC) $(LDFLAGS) -o $@ wm_frid2_d$(O) frid2_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
133
134 gen_frid2_sig$(EXE): gen_frid2_sig$(O) wm$(O)
135 $(CC) $(LDFLAGS) -o $@ gen_frid2_sig$(O) wm$(O) $(LIBS)
136
137 cmp_frid2_sig$(EXE): cmp_frid2_sig$(O) $(LIBPREFIX)wm$(LIB)
138 $(CC) $(LDFLAGS) -o $@ cmp_frid2_sig$(O) $(WMLIB) $(LIBS)
139
140
141 # Bruyndonckx's algorithm (spatial domain, block classification, blind)
142
143 bruyn: gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE)
144
145 bruyntest: bruyn
146 gen_bruyn_sig$(EXE) -n 400 < gen_bruyn_sig.c > ../sigs/bruyn.sig
147 wm_bruyn_e$(EXE) -s ../sigs/bruyn.sig -o ../watermarked/bruyn_lena.pgm ../images/lena.pgm
148 wm_bruyn_d$(EXE) -s ../sigs/bruyn.sig -o ../wms/bruyn.wm ../watermarked/bruyn_lena.pgm
149 cmp_bruyn_sig$(EXE) -s ../sigs/bruyn.sig ../wms/bruyn.wm
150
151 bruyninstall: bruyn
152 $(CP) gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE) $(INSTALLDIR)
153
154 bruynclean:
155 $(RM) gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE)
156
157 bruynman:
158
159 wm_bruyn_e$(EXE): wm_bruyn_e$(O) bruyn_common$(O) $(LIBPREFIX)wm$(LIB)
160 $(CC) $(LDFLAGS) -o $@ wm_bruyn_e$(O) bruyn_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
161
162 wm_bruyn_d$(EXE): wm_bruyn_d$(O) bruyn_common$(O) $(LIBPREFIX)wm$(LIB)
163 $(CC) $(LDFLAGS) -o $@ wm_bruyn_d$(O) bruyn_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
164
165 gen_bruyn_sig$(EXE): gen_bruyn_sig$(O) wm$(O) $(LIBPREFIX)wm$(LIB)
166 $(CC) $(LDFLAGS) -o $@ gen_bruyn_sig$(O) wm$(O) $(WMLIB)
167
168 cmp_bruyn_sig$(EXE): cmp_bruyn_sig$(O) $(LIBPREFIX)wm$(LIB)
169 $(CC) $(LDFLAGS) -o $@ cmp_bruyn_sig$(O) $(WMLIB) $(LIBS)
170
171
172 # Cox's algorithm (full-frame DCT, non-blind, spread-spectrum)
173
174 cox: gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE)
175
176 coxtest: cox
177 gen_cox_sig$(EXE) > ../sigs/cox.sig
178 wm_cox_e$(EXE) -s ../sigs/cox.sig -o ../watermarked/cox_lena.pgm ../images/lena.pgm
179 wm_cox_d$(EXE) -s ../sigs/cox.sig -o ../wms/cox.wm -i ../images/lena.pgm ../watermarked/cox_lena.pgm
180 cmp_cox_sig$(EXE) -s ../sigs/cox.sig ../wms/cox.wm
181
182 coxinstall: cox
183 $(CP) gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE) $(INSTALLDIR)
184
185 coxman: gen_cox_sig.ps wm_cox_e.ps wm_cox_d.ps
186
187 wm_cox_e$(EXE): wm_cox_e$(O) $(LIBPREFIX)wm$(LIB)
188 $(CC) $(LDFLAGS) -o $@ wm_cox_e$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
189
190 wm_cox_d$(EXE): wm_cox_d$(O) $(LIBPREFIX)wm$(LIB)
191 $(CC) $(LDFLAGS) -o $@ wm_cox_d$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
192
193 gen_cox_sig$(EXE): gen_cox_sig$(O)
194 $(CC) $(LDFLAGS) -o $@ gen_cox_sig$(O) $(LIBS)
195
196 cmp_cox_sig$(EXE): cmp_cox_sig$(O)
197 $(CC) $(LDFLAGS) -o $@ cmp_cox_sig$(O) $(LIBS)
198
199 coxclean:
200 $(RM) gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE)
201
202
203 # Corvi's algorithm (DWT, non-blind, spread-spectrum, approximation image)
204
205 corvi: gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE)
206
207 corvitest: corvi
208 gen_corvi_sig$(EXE) > ../sigs/corvi.sig
209 wm_corvi_e$(EXE) -s ../sigs/corvi.sig -o ../watermarked/corvi_lena.pgm ../images/lena.pgm
210 wm_corvi_d$(EXE) -s ../sigs/corvi.sig -o ../wms/corvi.wm -i ../images/lena.pgm ../watermarked/corvi_lena.pgm
211 cmp_corvi_sig$(EXE) -s ../sigs/corvi.sig ../wms/corvi.wm
212
213 corviinstall: corvi
214 $(CP) gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE) $(INSTALLDIR)
215
216 corviman: gen_corvi_sig.ps wm_corvi_e.ps wm_corvi_d.ps
217
218 wm_corvi_e$(EXE): wm_corvi_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
219 $(CC) $(LDFLAGS) -o $@ wm_corvi_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
220
221 wm_corvi_d$(EXE): wm_corvi_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
222 $(CC) $(LDFLAGS) -o $@ wm_corvi_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
223
224 gen_corvi_sig$(EXE): gen_corvi_sig$(O)
225 $(CC) $(LDFLAGS) -o $@ gen_corvi_sig$(O) $(LIBS)
226
227 cmp_corvi_sig$(EXE): cmp_corvi_sig$(O)
228 $(CC) $(LDFLAGS) -o $@ cmp_corvi_sig$(O) $(LIBS)
229
230 corviclean:
231 $(RM) gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE)
232
233
234 # Xia's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
235
236 xia: gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE)
237
238 xiatest: xia
239 gen_xia_sig$(EXE) > ../sigs/xia.sig
240 wm_xia_e$(EXE) -s ../sigs/xia.sig -o ../watermarked/xia_lena.pgm ../images/lena.pgm
241 wm_xia_d$(EXE) -s ../sigs/xia.sig -o ../wms/xia.wm -i ../images/lena.pgm ../watermarked/xia_lena.pgm
242 cmp_xia_sig$(EXE) -s ../sigs/xia.sig ../wms/xia.wm
243
244 xiainstall: xia
245 $(CP) gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE) $(INSTALLDIR)
246
247 xiaman: gen_xia_sig.ps wm_xia_e.ps wm_xia_d.ps
248
249 wm_xia_e$(EXE): wm_xia_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
250 $(CC) $(LDFLAGS) -o $@ wm_xia_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
251
252 wm_xia_d$(EXE): wm_xia_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
253 $(CC) $(LDFLAGS) -o $@ wm_xia_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
254
255 gen_xia_sig$(EXE): gen_xia_sig$(O)
256 $(CC) $(LDFLAGS) -o $@ gen_xia_sig$(O) $(LIBS)
257
258 cmp_xia_sig$(EXE): cmp_xia_sig$(O)
259 $(CC) $(LDFLAGS) -o $@ cmp_xia_sig$(O) $(LIBS)
260
261 xiaclean:
262 $(RM) gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE)
263
264 # Wang's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
265
266 wang: gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE)
267
268 wangtest: wang
269 gen_wang_sig$(EXE) -n 1000 > ../sigs/wang.sig
270 wm_wang_e$(EXE) -s ../sigs/wang.sig -o ../watermarked/wang_lena.pgm ../images/lena.pgm
271 wm_wang_d$(EXE) -s ../sigs/wang.sig -o ../wms/wang.wm -i ../images/lena.pgm ../watermarked/wang_lena.pgm
272 cmp_wang_sig$(EXE) -s ../sigs/wang.sig ../wms/wang.wm
273
274 wanginstall: wang
275 $(CP) gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE) $(INSTALLDIR)
276
277 wangman: gen_wang_sig.ps wm_wang_e.ps wm_wang_d.ps
278
279 wm_wang_e$(EXE): wm_wang_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) wang_common$(O)
280 $(CC) $(LDFLAGS) -o $@ wm_wang_e$(O) wang_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
281
282 wm_wang_d$(EXE): wm_wang_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) wang_common$(O)
283 $(CC) $(LDFLAGS) -o $@ wm_wang_d$(O) wang_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
284
285 gen_wang_sig$(EXE): gen_wang_sig$(O)
286 $(CC) $(LDFLAGS) -o $@ gen_wang_sig$(O) $(LIBS)
287
288 cmp_wang_sig$(EXE): cmp_wang_sig$(O)
289 $(CC) $(LDFLAGS) -o $@ cmp_wang_sig$(O) $(LIBS)
290
291 wangclean:
292 $(RM) gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE)
293
294 # Kim's algorithm (DWT, non-blind, spread-spectrum, approx. & detail subbands)
295
296 kim: gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE)
297
298 kimtest: kim
299 gen_kim_sig$(EXE) -n 1000 > ../sigs/kim.sig
300 wm_kim_e$(EXE) -s ../sigs/kim.sig -o ../watermarked/kim_lena.pgm ../images/lena.pgm
301 wm_kim_d$(EXE) -s ../sigs/kim.sig -o ../wms/kim.wm -i ../images/lena.pgm ../watermarked/kim_lena.pgm
302 cmp_kim_sig$(EXE) -s ../sigs/kim.sig ../wms/kim.wm
303
304 kiminstall: kim
305 $(CP) gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE) $(INSTALLDIR)
306
307 kimman: gen_kim_sig.ps wm_kim_e.ps wm_kim_d.ps
308
309 wm_kim_e$(EXE): wm_kim_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) kim_common$(O)
310 $(CC) $(LDFLAGS) -o $@ wm_kim_e$(O) kim_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
311
312 wm_kim_d$(EXE): wm_kim_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) kim_common$(O)
313 $(CC) $(LDFLAGS) -o $@ wm_kim_d$(O) kim_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
314
315 gen_kim_sig$(EXE): gen_kim_sig$(O)
316 $(CC) $(LDFLAGS) -o $@ gen_kim_sig$(O) $(LIBS)
317
318 cmp_kim_sig$(EXE): cmp_kim_sig$(O)
319 $(CC) $(LDFLAGS) -o $@ cmp_kim_sig$(O) $(LIBS)
320
321 kimclean:
322 $(RM) gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE)
323
324 # Zhu's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
325
326 zhu: gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE)
327
328 zhutest: zhu
329 gen_zhu_sig$(EXE) > ../sigs/zhu.sig
330 wm_zhu_e$(EXE) -s ../sigs/zhu.sig -o ../watermarked/zhu_lena.pgm ../images/lena.pgm
331 wm_zhu_d$(EXE) -s ../sigs/zhu.sig -o ../wms/zhu.wm -i ../images/lena.pgm ../watermarked/zhu_lena.pgm
332 cmp_zhu_sig$(EXE) -s ../sigs/zhu.sig ../wms/zhu.wm
333
334 zhuinstall: zhu
335 $(CP) gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE) $(INSTALLDIR)
336
337 zhuman: gen_zhu_sig.ps wm_zhu_e.ps wm_zhu_d.ps
338
339 wm_zhu_e$(EXE): wm_zhu_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
340 $(CC) $(LDFLAGS) -o $@ wm_zhu_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
341
342 wm_zhu_d$(EXE): wm_zhu_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
343 $(CC) $(LDFLAGS) -o $@ wm_zhu_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
344
345 gen_zhu_sig$(EXE): gen_zhu_sig$(O)
346 $(CC) $(LDFLAGS) -o $@ gen_zhu_sig$(O) $(LIBS)
347
348 cmp_zhu_sig$(EXE): cmp_zhu_sig$(O)
349 $(CC) $(LDFLAGS) -o $@ cmp_zhu_sig$(O) $(LIBS)
350
351 zhuclean:
352 $(RM) gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE)
353
354 # Xie's algorithm (DWT, blind, binary, quantization, approximation image)
355
356 xie: gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE)
357
358 xietest: xie
359 gen_xie_sig$(EXE) -n 800 gen_xie_sig.c > ../sigs/xie.sig
360 wm_xie_e$(EXE) -s ../sigs/xie.sig -o ../watermarked/xie_lena.pgm ../images/lena.pgm
361 wm_xie_d$(EXE) -s ../sigs/xie.sig -o ../wms/xie.wm ../watermarked/xie_lena.pgm
362 cmp_xie_sig$(EXE) -s ../sigs/xie.sig ../wms/xie.wm
363
364 xieinstall: xie
365 $(CP) gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE) $(INSTALLDIR)
366
367 xieman: gen_xie_sig.ps wm_xie_e.ps wm_xie_d.ps
368
369 wm_xie_e$(EXE): wm_xie_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
370 $(CC) $(LDFLAGS) -o $@ wm_xie_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
371
372 wm_xie_d$(EXE): wm_xie_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
373 $(CC) $(LDFLAGS) -o $@ wm_xie_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
374
375 gen_xie_sig$(EXE): gen_xie_sig$(O) wm$(O)
376 $(CC) $(LDFLAGS) -o $@ gen_xie_sig$(O) wm$(O) $(LIBS)
377
378 cmp_xie_sig$(EXE): cmp_xie_sig$(O) $(LIBPREFIX)wm$(LIB)
379 $(CC) $(LDFLAGS) -o $@ cmp_xie_sig$(O) $(WMLIB) $(LIBS)
380
381 xieclean:
382 $(RM) gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE)
383
384 # Xie2's algorithm (DWT, blind, binary, quantization, approximation image)
385
386 xie2: gen_xie2_sig$(EXE) wm_xie2_e$(EXE) wm_xie2_d$(EXE) cmp_xie2_sig$(EXE)
387
388 xie2test: xie2
389 gen_xie2_sig$(EXE) -n 800 gen_xie2_sig.c > ../sigs/xie2.sig
390 wm_xie2_e$(EXE) -s ../sigs/xie2.sig -o ../watermarked/xie2_lena.pgm ../images/lena.pgm
391 wm_xie2_d$(EXE) -s ../sigs/xie2.sig -o ../wms/xie2.wm ../watermarked/xie2_lena.pgm
392 cmp_xie2_sig$(EXE) -s ../sigs/xie2.sig ../wms/xie2.wm
393
394 xie2install: xie2
395 $(CP) gen_xie2_sig$(EXE) wm_xie2_e$(EXE) wm_xie2_d$(EXE) cmp_xie2_sig$(EXE) $(INSTALLDIR)
396
397 xie2man: gen_xie2_sig.ps wm_xie2_e.ps wm_xie2_d.ps
398
399 wm_xie2_e$(EXE): wm_xie2_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
400 $(CC) $(LDFLAGS) -o $@ wm_xie2_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
401
402 wm_xie2_d$(EXE): wm_xie2_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
403 $(CC) $(LDFLAGS) -o $@ wm_xie2_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
404
405 gen_xie2_sig$(EXE): gen_xie2_sig$(O) wm$(O)
406 $(CC) $(LDFLAGS) -o $@ gen_xie2_sig$(O) wm$(O) $(LIBS)
407
408 cmp_xie2_sig$(EXE): cmp_xie2_sig$(O) $(LIBPREFIX)wm$(LIB)
409 $(CC) $(LDFLAGS) -o $@ cmp_xie2_sig$(O) $(WMLIB) $(LIBS)
410
411 xie2clean:
412 $(RM) gen_xie2_sig$(EXE) wm_xie2_e$(EXE) wm_xie2_d$(EXE) cmp_xie2_sig$(EXE)
413
414 # Kundur's algorithm 2 (DWT, blind, binary, quantization, detail subbands, reference watermark)
415
416 kund2: gen_kund2_sig$(EXE) wm_kund2_e$(EXE) wm_kund2_d$(EXE) cmp_kund2_sig$(EXE)
417
418 kund2test: kund2
419 gen_kund2_sig$(EXE) -n 1000 -l 3 -q 2 gen_kund2_sig.c > ../sigs/kund2.sig
420 wm_kund2_e$(EXE) -s ../sigs/kund2.sig -o ../watermarked/kund2_lena.pgm ../images/lena.pgm
421 cjpeg -quality 70 ../watermarked/kund2_lena.pgm | djpeg | wm_kund2_d$(EXE) -s ../sigs/kund2.sig -o ../wms/kund2.wm
422 cmp_kund2_sig$(EXE) -s ../sigs/kund2.sig ../wms/kund2.wm
423
424 kund2install: kund2
425 $(CP) gen_kund2_sig$(EXE) wm_kund2_e$(EXE) wm_kund2_d$(EXE) cmp_kund2_sig$(EXE) $(INSTALLDIR)
426
427 kund2man: gen_kund2_sig.ps wm_kund2_e.ps wm_kund2_d.ps
428
429 wm_kund2_e$(EXE): wm_kund2_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
430 $(CC) $(LDFLAGS) -o $@ wm_kund2_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
431
432 wm_kund2_d$(EXE): wm_kund2_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
433 $(CC) $(LDFLAGS) -o $@ wm_kund2_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
434
435 gen_kund2_sig$(EXE): gen_kund2_sig$(O) wm$(O) signature-utils$(O)
436 $(CC) $(LDFLAGS) -o $@ gen_kund2_sig$(O) wm$(O) signature-utils$(O) $(LIBS)
437
438 cmp_kund2_sig$(EXE): cmp_kund2_sig$(O) $(LIBPREFIX)wm$(LIB)
439 $(CC) $(LDFLAGS) -o $@ cmp_kund2_sig$(O) $(WMLIB) $(LIBS)
440
441 kund2clean:
442 $(RM) gen_kund2_sig$(EXE) wm_kund2_e$(EXE) wm_kund2_d$(EXE) cmp_kund2_sig$(EXE)
443
444 # Kundur's algorithm 3 (DWT, blind, binary, quantization, detail subbands)
445
446 kund3: gen_kund3_sig$(EXE) wm_kund3_e$(EXE) wm_kund3_d$(EXE) cmp_kund3_sig$(EXE)
447
448 kund3test: kund3
449 gen_kund3_sig$(EXE) -n 1000 -l 2 -q 2 gen_kund3_sig.c > ../sigs/kund3.sig
450 wm_kund3_e$(EXE) -s ../sigs/kund3.sig -o ../watermarked/kund3_lena.pgm ../images/lena.pgm
451 wm_kund3_d$(EXE) -s ../sigs/kund3.sig -o ../wms/kund3.wm ../watermarked/kund3_lena.pgm
452 cmp_kund3_sig$(EXE) -s ../sigs/kund3.sig ../wms/kund3.wm
453
454 kund3install: kund3
455 $(CP) gen_kund3_sig$(EXE) wm_kund3_e$(EXE) wm_kund3_d$(EXE) cmp_kund3_sig$(EXE) $(INSTALLDIR)
456
457 kund3man: gen_kund3_sig.ps wm_kund3_e.ps wm_kund3_d.ps
458
459 wm_kund3_e$(EXE): wm_kund3_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
460 $(CC) $(LDFLAGS) -o $@ wm_kund3_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
461
462 wm_kund3_d$(EXE): wm_kund3_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
463 $(CC) $(LDFLAGS) -o $@ wm_kund3_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
464
465 gen_kund3_sig$(EXE): gen_kund3_sig$(O) wm$(O) signature-utils$(O)
466 $(CC) $(LDFLAGS) -o $@ gen_kund3_sig$(O) wm$(O) signature-utils$(O) $(LIBS)
467
468 cmp_kund3_sig$(EXE): cmp_kund3_sig$(O) $(LIBPREFIX)wm$(LIB)
469 $(CC) $(LDFLAGS) -o $@ cmp_kund3_sig$(O) $(WMLIB) $(LIBS)
470
471 kund3clean:
472 $(RM) gen_kund3_sig$(EXE) wm_kund3_e$(EXE) wm_kund3_d$(EXE) cmp_kund3_sig$(EXE)
473
474 # Dugad's algorithm (DWT, blind)
475
476 dugad: gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE)
477
478 dugadtest: dugad
479 gen_dugad_sig$(EXE) -o ../sigs/dugad.sig
480 wm_dugad_e$(EXE) -s ../sigs/dugad.sig -o ../watermarked/dugad_lena.pgm ../images/lena.pgm
481 wm_dugad_d$(EXE) -s ../sigs/dugad.sig -o ../wms/dugad.wm ../watermarked/dugad_lena.pgm
482 cmp_dugad_sig$(EXE) -s ../sigs/dugad.sig ../wms/dugad.wm
483
484 dugadinstall: dugad
485 $(CP) gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE) $(INSTALLDIR)
486
487 dugadman: gen_dugad_sig.ps wm_dugad_e.ps wm_dugad_d.ps
488
489 wm_dugad_e$(EXE): wm_dugad_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
490 $(CC) $(LDFLAGS) -o $@ wm_dugad_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
491
492 wm_dugad_d$(EXE): wm_dugad_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
493 $(CC) $(LDFLAGS) -o $@ wm_dugad_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
494
495 gen_dugad_sig$(EXE): gen_dugad_sig$(O)
496 $(CC) $(LDFLAGS) -o $@ gen_dugad_sig$(O) $(LIBS)
497
498 cmp_dugad_sig$(EXE): cmp_dugad_sig$(O) $(LIBPREFIX)wm$(LIB)
499 $(CC) $(LDFLAGS) -o $@ cmp_dugad_sig$(O) $(WMLIB) $(LIBS)
500
501 dugadclean:
502 $(RM) gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE)
503
504
505
506 clean: coxclean bruynclean kochclean corviclean xiaclean zhuclean xieclean kund3clean kund2clean \
507 dugadclean kimclean wangclean frid2clean toolsclean libraryclean waveletclean xie2clean
508 $(RM) *$(O) *.ps ../sigs/* ../wms/* ../watermarked/*
509
510 man: coxman bruynman kochman corviman xiaman xieman toolsman
511
512 test: coxtest bruyntest kochtest corvitest xiatest xietest dugadtest zhutest \
513 wangtest frid2test kimtest toolstest kund3test kund2test
514
515 install: coxinstall bruyninstall kochinstall corviinstall xiainstall xieinstall \
516 dugadinstall zhuinstall wanginstall frid2install kiminstall toolsinstall kund3install kund2install
517
518 depend:
519 $(MAKEDEP) *.h *.c
520

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.