0
|
1 # Makefile
|
|
2
|
|
3 # choose build platform
|
|
4 include ../make/make.config
|
|
5
|
|
6 all: tools \
|
|
7 bruyn \
|
|
8 koch \
|
|
9 corvi \
|
|
10 xia \
|
|
11 xie \
|
|
12 cox \
|
|
13 zhu \
|
|
14 dugad \
|
|
15 wang \
|
|
16 frid2 \
|
|
17 kim
|
|
18
|
|
19 .SUFFIXES: .c .o .1 .ps
|
|
20
|
|
21 .c$(O):
|
|
22 $(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
|
|
23
|
|
24 .1.ps:
|
|
25 $(GROFF) $< > $@
|
|
26
|
|
27 # library containing general stuff
|
|
28
|
|
29 $(LIBPREFIX)wm$(LIB): dct$(O) coeff$(O) gray$(O) sort$(O) signature$(O) coord$(O) wm$(O)
|
|
30 $(RM) $@
|
|
31 ar -rc $@ dct$(O) coeff$(O) gray$(O) sort$(O) signature$(O) coord$(O) wm$(O)
|
|
32
|
|
33 libraryclean:
|
|
34 $(RM) $(LIBPREFIX)wm$(LIB)
|
|
35
|
|
36 # library containing wavelet transform stuff
|
|
37
|
|
38 $(LIBPREFIX)wavelet$(LIB): wavelet$(O) dwt$(O) dwt_util$(O)
|
|
39 $(RM) $@
|
|
40 ar -rc $@ wavelet$(O) dwt$(O) dwt_util$(O)
|
|
41
|
|
42 waveletclean:
|
|
43 $(RM) $(LIBPREFIX)wavelet$(LIB)
|
|
44
|
|
45 # some general tools to compute difference image, PSNR, ...
|
|
46
|
|
47 tools: cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE)
|
|
48
|
|
49 toolstest:
|
|
50
|
|
51 toolsinstall: tools
|
|
52 $(CP) cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE) $(INSTALLDIR)
|
|
53
|
|
54 toolsman: cmp_pgm.ps cmp_dct8x8.ps cmp_dct.ps
|
|
55
|
|
56 toolsclean:
|
|
57 $(RM) cmp_pgm$(EXE) cmp_dct$(EXE) cmp_dct8x8$(EXE)
|
|
58
|
|
59 cmp_pgm$(EXE): cmp_pgm$(O) $(LIBPREFIX)wm$(LIB)
|
|
60 $(CC) $(LDFLAGS) -o $@ cmp_pgm$(O) $(WMLIB) $(PGMLIBS)
|
|
61
|
|
62 cmp_dct$(EXE): cmp_dct$(O) $(LIBPREFIX)wm$(LIB)
|
|
63 $(CC) $(LDFLAGS) -o $@ cmp_dct$(O) $(WMLIB) $(PGMLIBS)
|
|
64
|
|
65 cmp_dwt$(EXE): cmp_dwt$(O) $(LIBPREFIX)wavelet$(LIB) $(LIBPREFIX)wm$(LIB)
|
|
66 $(CC) $(LDFLAGS) -o $@ cmp_dwt$(O) $(WAVELIB) $(WMLIB) $(PGMLIBS)
|
|
67
|
|
68 cmp_dct8x8$(EXE): cmp_dct8x8$(O) $(LIBPREFIX)wm$(LIB)
|
|
69 $(CC) $(LDFLAGS) -o $@ cmp_dct8x8$(O) $(WMLIB) $(PGMLIBS)
|
|
70
|
|
71
|
|
72 # Koch's algorithm (8x8 block DCT, blind, binary)
|
|
73
|
|
74 koch: gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE)
|
|
75
|
|
76 kochtest: koch
|
|
77 gen_koch_sig$(EXE) -n 150 < gen_koch_sig.c > ../sigs/koch.sig
|
|
78 wm_koch_e$(EXE) -s ../sigs/koch.sig -o ../watermarked/koch_lena.pgm ../images/lena.pgm
|
|
79 wm_koch_d$(EXE) -s ../sigs/koch.sig -o ../wms/koch.wm ../watermarked/koch_lena.pgm
|
|
80 cmp_koch_sig$(EXE) -s ../sigs/koch.sig ../wms/koch.wm
|
|
81
|
|
82 kochinstall: koch
|
|
83 $(CP) gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE) $(INSTALLDIR)
|
|
84
|
|
85 kochclean:
|
|
86 $(RM) gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE)
|
|
87
|
|
88 kochman:
|
|
89
|
|
90 wm_koch_e$(EXE): wm_koch_e$(O) $(LIBPREFIX)wm$(LIB)
|
|
91 $(CC) $(LDFLAGS) -o $@ wm_koch_e$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
92
|
|
93 wm_koch_d$(EXE): wm_koch_d$(O) $(LIBPREFIX)wm$(LIB)
|
|
94 $(CC) $(LDFLAGS) -o $@ wm_koch_d$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
95
|
|
96 gen_koch_sig$(EXE): gen_koch_sig$(O) wm$(O)
|
|
97 $(CC) $(LDFLAGS) -o $@ gen_koch_sig$(O) wm$(O) $(LIBS)
|
|
98
|
|
99 cmp_koch_sig$(EXE): cmp_koch_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
100 $(CC) $(LDFLAGS) -o $@ cmp_koch_sig$(O) $(WMLIB) $(LIBS)
|
|
101
|
|
102 # Fridrich's 2. scheme (full-frame DCT, blind, binary)
|
|
103
|
|
104 frid2: gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE)
|
|
105
|
|
106 frid2test: frid2
|
|
107 gen_frid2_sig$(EXE) -n 250 < gen_frid2_sig.c > ../sigs/frid2.sig
|
|
108 wm_frid2_e$(EXE) -s ../sigs/frid2.sig -o ../watermarked/frid2_lena.pgm ../images/lena.pgm
|
|
109 wm_frid2_d$(EXE) -s ../sigs/frid2.sig -o ../wms/frid2.wm ../watermarked/frid2_lena.pgm
|
|
110 cmp_frid2_sig$(EXE) -s ../sigs/frid2.sig ../wms/frid2.wm
|
|
111
|
|
112 frid2install: frid2
|
|
113 $(CP) gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE) $(INSTALLDIR)
|
|
114
|
|
115 frid2clean:
|
|
116 $(RM) gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE)
|
|
117
|
|
118 frid2man:
|
|
119
|
|
120 wm_frid2_e$(EXE): wm_frid2_e$(O) $(LIBPREFIX)wm$(LIB) frid2_common$(O)
|
|
121 $(CC) $(LDFLAGS) -o $@ wm_frid2_e$(O) frid2_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
122
|
|
123 wm_frid2_d$(EXE): wm_frid2_d$(O) $(LIBPREFIX)wm$(LIB) frid2_common$(O)
|
|
124 $(CC) $(LDFLAGS) -o $@ wm_frid2_d$(O) frid2_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
125
|
|
126 gen_frid2_sig$(EXE): gen_frid2_sig$(O) wm$(O)
|
|
127 $(CC) $(LDFLAGS) -o $@ gen_frid2_sig$(O) wm$(O) $(LIBS)
|
|
128
|
|
129 cmp_frid2_sig$(EXE): cmp_frid2_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
130 $(CC) $(LDFLAGS) -o $@ cmp_frid2_sig$(O) $(WMLIB) $(LIBS)
|
|
131
|
|
132
|
|
133 # Bruyndonckx's algorithm (spatial domain, block classification, blind)
|
|
134
|
|
135 bruyn: gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE)
|
|
136
|
|
137 bruyntest: bruyn
|
|
138 gen_bruyn_sig$(EXE) -n 400 < gen_bruyn_sig.c > ../sigs/bruyn.sig
|
|
139 wm_bruyn_e$(EXE) -s ../sigs/bruyn.sig -o ../watermarked/bruyn_lena.pgm ../images/lena.pgm
|
|
140 wm_bruyn_d$(EXE) -s ../sigs/bruyn.sig -o ../wms/bruyn.wm ../watermarked/bruyn_lena.pgm
|
|
141 cmp_bruyn_sig$(EXE) -s ../sigs/bruyn.sig ../wms/bruyn.wm
|
|
142
|
|
143 bruyninstall: bruyn
|
|
144 $(CP) gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE) $(INSTALLDIR)
|
|
145
|
|
146 bruynclean:
|
|
147 $(RM) gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE)
|
|
148
|
|
149 bruynman:
|
|
150
|
|
151 wm_bruyn_e$(EXE): wm_bruyn_e$(O) bruyn_common$(O) $(LIBPREFIX)wm$(LIB)
|
|
152 $(CC) $(LDFLAGS) -o $@ wm_bruyn_e$(O) bruyn_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
153
|
|
154 wm_bruyn_d$(EXE): wm_bruyn_d$(O) bruyn_common$(O) $(LIBPREFIX)wm$(LIB)
|
|
155 $(CC) $(LDFLAGS) -o $@ wm_bruyn_d$(O) bruyn_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
156
|
|
157 gen_bruyn_sig$(EXE): gen_bruyn_sig$(O) wm$(O)
|
|
158 $(CC) $(LDFLAGS) -o $@ gen_bruyn_sig$(O) wm$(O) $(LIBS)
|
|
159
|
|
160 cmp_bruyn_sig$(EXE): cmp_bruyn_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
161 $(CC) $(LDFLAGS) -o $@ cmp_bruyn_sig$(O) $(WMLIB) $(LIBS)
|
|
162
|
|
163
|
|
164 # Cox's algorithm (full-frame DCT, non-blind, spread-spectrum)
|
|
165
|
|
166 cox: gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE)
|
|
167
|
|
168 coxtest: cox
|
|
169 gen_cox_sig$(EXE) > ../sigs/cox.sig
|
|
170 wm_cox_e$(EXE) -s ../sigs/cox.sig -o ../watermarked/cox_lena.pgm ../images/lena.pgm
|
|
171 wm_cox_d$(EXE) -s ../sigs/cox.sig -o ../wms/cox.wm -i ../images/lena.pgm ../watermarked/cox_lena.pgm
|
|
172 cmp_cox_sig$(EXE) -s ../sigs/cox.sig ../wms/cox.wm
|
|
173
|
|
174 coxinstall: cox
|
|
175 $(CP) gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE) $(INSTALLDIR)
|
|
176
|
|
177 coxman: gen_cox_sig.ps wm_cox_e.ps wm_cox_d.ps
|
|
178
|
|
179 wm_cox_e$(EXE): wm_cox_e$(O) $(LIBPREFIX)wm$(LIB)
|
|
180 $(CC) $(LDFLAGS) -o $@ wm_cox_e$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
181
|
|
182 wm_cox_d$(EXE): wm_cox_d$(O) $(LIBPREFIX)wm$(LIB)
|
|
183 $(CC) $(LDFLAGS) -o $@ wm_cox_d$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
184
|
|
185 gen_cox_sig$(EXE): gen_cox_sig$(O)
|
|
186 $(CC) $(LDFLAGS) -o $@ gen_cox_sig$(O) $(LIBS)
|
|
187
|
|
188 cmp_cox_sig$(EXE): cmp_cox_sig$(O)
|
|
189 $(CC) $(LDFLAGS) -o $@ cmp_cox_sig$(O) $(LIBS)
|
|
190
|
|
191 coxclean:
|
|
192 $(RM) gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE)
|
|
193
|
|
194
|
|
195 # Corvi's algorithm (DWT, non-blind, spread-spectrum, approximation image)
|
|
196
|
|
197 corvi: gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE)
|
|
198
|
|
199 corvitest: corvi
|
|
200 gen_corvi_sig$(EXE) > ../sigs/corvi.sig
|
|
201 wm_corvi_e$(EXE) -s ../sigs/corvi.sig -o ../watermarked/corvi_lena.pgm ../images/lena.pgm
|
|
202 wm_corvi_d$(EXE) -s ../sigs/corvi.sig -o ../wms/corvi.wm -i ../images/lena.pgm ../watermarked/corvi_lena.pgm
|
|
203 cmp_corvi_sig$(EXE) -s ../sigs/corvi.sig ../wms/corvi.wm
|
|
204
|
|
205 corviinstall: corvi
|
|
206 $(CP) gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE) $(INSTALLDIR)
|
|
207
|
|
208 corviman: gen_corvi_sig.ps wm_corvi_e.ps wm_corvi_d.ps
|
|
209
|
|
210 wm_corvi_e$(EXE): wm_corvi_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
211 $(CC) $(LDFLAGS) -o $@ wm_corvi_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
212
|
|
213 wm_corvi_d$(EXE): wm_corvi_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
214 $(CC) $(LDFLAGS) -o $@ wm_corvi_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
215
|
|
216 gen_corvi_sig$(EXE): gen_corvi_sig$(O)
|
|
217 $(CC) $(LDFLAGS) -o $@ gen_corvi_sig$(O) $(LIBS)
|
|
218
|
|
219 cmp_corvi_sig$(EXE): cmp_corvi_sig$(O)
|
|
220 $(CC) $(LDFLAGS) -o $@ cmp_corvi_sig$(O) $(LIBS)
|
|
221
|
|
222 corviclean:
|
|
223 $(RM) gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE)
|
|
224
|
|
225
|
|
226 # Xia's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
|
|
227
|
|
228 xia: gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE)
|
|
229
|
|
230 xiatest: xia
|
|
231 gen_xia_sig$(EXE) > ../sigs/xia.sig
|
|
232 wm_xia_e$(EXE) -s ../sigs/xia.sig -o ../watermarked/xia_lena.pgm ../images/lena.pgm
|
|
233 wm_xia_d$(EXE) -s ../sigs/xia.sig -o ../wms/xia.wm -i ../images/lena.pgm ../watermarked/xia_lena.pgm
|
|
234 cmp_xia_sig$(EXE) -s ../sigs/xia.sig ../wms/xia.wm
|
|
235
|
|
236 xiainstall: xia
|
|
237 $(CP) gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE) $(INSTALLDIR)
|
|
238
|
|
239 xiaman: gen_xia_sig.ps wm_xia_e.ps wm_xia_d.ps
|
|
240
|
|
241 wm_xia_e$(EXE): wm_xia_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
242 $(CC) $(LDFLAGS) -o $@ wm_xia_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
243
|
|
244 wm_xia_d$(EXE): wm_xia_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
245 $(CC) $(LDFLAGS) -o $@ wm_xia_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
246
|
|
247 gen_xia_sig$(EXE): gen_xia_sig$(O)
|
|
248 $(CC) $(LDFLAGS) -o $@ gen_xia_sig$(O) $(LIBS)
|
|
249
|
|
250 cmp_xia_sig$(EXE): cmp_xia_sig$(O)
|
|
251 $(CC) $(LDFLAGS) -o $@ cmp_xia_sig$(O) $(LIBS)
|
|
252
|
|
253 xiaclean:
|
|
254 $(RM) gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE)
|
|
255
|
|
256 # Wang's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
|
|
257
|
|
258 wang: gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE)
|
|
259
|
|
260 wangtest: wang
|
|
261 gen_wang_sig$(EXE) -n 1000 > ../sigs/wang.sig
|
|
262 wm_wang_e$(EXE) -s ../sigs/wang.sig -o ../watermarked/wang_lena.pgm ../images/lena.pgm
|
|
263 wm_wang_d$(EXE) -s ../sigs/wang.sig -o ../wms/wang.wm -i ../images/lena.pgm ../watermarked/wang_lena.pgm
|
|
264 cmp_wang_sig$(EXE) -s ../sigs/wang.sig ../wms/wang.wm
|
|
265
|
|
266 wanginstall: wang
|
|
267 $(CP) gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE) $(INSTALLDIR)
|
|
268
|
|
269 wangman: gen_wang_sig.ps wm_wang_e.ps wm_wang_d.ps
|
|
270
|
|
271 wm_wang_e$(EXE): wm_wang_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) wang_common$(O)
|
|
272 $(CC) $(LDFLAGS) -o $@ wm_wang_e$(O) wang_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
273
|
|
274 wm_wang_d$(EXE): wm_wang_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) wang_common$(O)
|
|
275 $(CC) $(LDFLAGS) -o $@ wm_wang_d$(O) wang_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
276
|
|
277 gen_wang_sig$(EXE): gen_wang_sig$(O)
|
|
278 $(CC) $(LDFLAGS) -o $@ gen_wang_sig$(O) $(LIBS)
|
|
279
|
|
280 cmp_wang_sig$(EXE): cmp_wang_sig$(O)
|
|
281 $(CC) $(LDFLAGS) -o $@ cmp_wang_sig$(O) $(LIBS)
|
|
282
|
|
283 wangclean:
|
|
284 $(RM) gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE)
|
|
285
|
|
286 # Kim's algorithm (DWT, non-blind, spread-spectrum, approx. & detail subbands)
|
|
287
|
|
288 kim: gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE)
|
|
289
|
|
290 kimtest: kim
|
|
291 gen_kim_sig$(EXE) -n 1000 > ../sigs/kim.sig
|
|
292 wm_kim_e$(EXE) -s ../sigs/kim.sig -o ../watermarked/kim_lena.pgm ../images/lena.pgm
|
|
293 wm_kim_d$(EXE) -s ../sigs/kim.sig -o ../wms/kim.wm -i ../images/lena.pgm ../watermarked/kim_lena.pgm
|
|
294 cmp_kim_sig$(EXE) -s ../sigs/kim.sig ../wms/kim.wm
|
|
295
|
|
296 kiminstall: kim
|
|
297 $(CP) gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE) $(INSTALLDIR)
|
|
298
|
|
299 kimman: gen_kim_sig.ps wm_kim_e.ps wm_kim_d.ps
|
|
300
|
|
301 wm_kim_e$(EXE): wm_kim_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) kim_common$(O)
|
|
302 $(CC) $(LDFLAGS) -o $@ wm_kim_e$(O) kim_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
303
|
|
304 wm_kim_d$(EXE): wm_kim_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) kim_common$(O)
|
|
305 $(CC) $(LDFLAGS) -o $@ wm_kim_d$(O) kim_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
306
|
|
307 gen_kim_sig$(EXE): gen_kim_sig$(O)
|
|
308 $(CC) $(LDFLAGS) -o $@ gen_kim_sig$(O) $(LIBS)
|
|
309
|
|
310 cmp_kim_sig$(EXE): cmp_kim_sig$(O)
|
|
311 $(CC) $(LDFLAGS) -o $@ cmp_kim_sig$(O) $(LIBS)
|
|
312
|
|
313 kimclean:
|
|
314 $(RM) gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE)
|
|
315
|
|
316 # Zhu's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
|
|
317
|
|
318 zhu: gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE)
|
|
319
|
|
320 zhutest: zhu
|
|
321 gen_zhu_sig$(EXE) > ../sigs/zhu.sig
|
|
322 wm_zhu_e$(EXE) -s ../sigs/zhu.sig -o ../watermarked/zhu_lena.pgm ../images/lena.pgm
|
|
323 wm_zhu_d$(EXE) -s ../sigs/zhu.sig -o ../wms/zhu.wm -i ../images/lena.pgm ../watermarked/zhu_lena.pgm
|
|
324 cmp_zhu_sig$(EXE) -s ../sigs/zhu.sig ../wms/zhu.wm
|
|
325
|
|
326 zhuinstall: zhu
|
|
327 $(CP) gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE) $(INSTALLDIR)
|
|
328
|
|
329 zhuman: gen_zhu_sig.ps wm_zhu_e.ps wm_zhu_d.ps
|
|
330
|
|
331 wm_zhu_e$(EXE): wm_zhu_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
332 $(CC) $(LDFLAGS) -o $@ wm_zhu_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
333
|
|
334 wm_zhu_d$(EXE): wm_zhu_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
335 $(CC) $(LDFLAGS) -o $@ wm_zhu_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
336
|
|
337 gen_zhu_sig$(EXE): gen_zhu_sig$(O)
|
|
338 $(CC) $(LDFLAGS) -o $@ gen_zhu_sig$(O) $(LIBS)
|
|
339
|
|
340 cmp_zhu_sig$(EXE): cmp_zhu_sig$(O)
|
|
341 $(CC) $(LDFLAGS) -o $@ cmp_zhu_sig$(O) $(LIBS)
|
|
342
|
|
343 zhuclean:
|
|
344 $(RM) gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE)
|
|
345
|
|
346 # Xie's algorithm (DWT, blind, binary, quantization, approximation image)
|
|
347
|
|
348 xie: gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE)
|
|
349
|
|
350 xietest: xie
|
|
351 gen_xie_sig$(EXE) -n 800 gen_xie_sig.c > ../sigs/xie.sig
|
|
352 wm_xie_e$(EXE) -s ../sigs/xie.sig -o ../watermarked/xie_lena.pgm ../images/lena.pgm
|
|
353 wm_xie_d$(EXE) -s ../sigs/xie.sig -o ../wms/xie.wm ../watermarked/xie_lena.pgm
|
|
354 cmp_xie_sig$(EXE) -s ../sigs/xie.sig ../wms/xie.wm
|
|
355
|
|
356 xieinstall: xie
|
|
357 $(CP) gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE) $(INSTALLDIR)
|
|
358
|
|
359 xieman: gen_xie_sig.ps wm_xie_e.ps wm_xie_d.ps
|
|
360
|
|
361 wm_xie_e$(EXE): wm_xie_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
362 $(CC) $(LDFLAGS) -o $@ wm_xie_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
363
|
|
364 wm_xie_d$(EXE): wm_xie_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
365 $(CC) $(LDFLAGS) -o $@ wm_xie_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
366
|
|
367 gen_xie_sig$(EXE): gen_xie_sig$(O) wm$(O)
|
|
368 $(CC) $(LDFLAGS) -o $@ gen_xie_sig$(O) wm$(O) $(LIBS)
|
|
369
|
|
370 cmp_xie_sig$(EXE): cmp_xie_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
371 $(CC) $(LDFLAGS) -o $@ cmp_xie_sig$(O) $(WMLIB) $(LIBS)
|
|
372
|
|
373 xieclean:
|
|
374 $(RM) gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE)
|
|
375
|
|
376 # Dugad's algorithm (DWT, blind)
|
|
377
|
|
378 dugad: gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE)
|
|
379
|
|
380 dugadtest: dugad
|
|
381 gen_dugad_sig$(EXE) -o ../sigs/dugad.sig
|
|
382 wm_dugad_e$(EXE) -s ../sigs/dugad.sig -o ../watermarked/dugad_lena.pgm ../images/lena.pgm
|
|
383 wm_dugad_d$(EXE) -s ../sigs/dugad.sig -o ../wms/dugad.wm ../watermarked/dugad_lena.pgm
|
|
384 cmp_dugad_sig$(EXE) -s ../sigs/dugad.sig ../wms/dugad.wm
|
|
385
|
|
386 dugadinstall: dugad
|
|
387 $(CP) gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE) $(INSTALLDIR)
|
|
388
|
|
389 dugadman: gen_dugad_sig.ps wm_dugad_e.ps wm_dugad_d.ps
|
|
390
|
|
391 wm_dugad_e$(EXE): wm_dugad_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
392 $(CC) $(LDFLAGS) -o $@ wm_dugad_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
393
|
|
394 wm_dugad_d$(EXE): wm_dugad_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
395 $(CC) $(LDFLAGS) -o $@ wm_dugad_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
396
|
|
397 gen_dugad_sig$(EXE): gen_dugad_sig$(O)
|
|
398 $(CC) $(LDFLAGS) -o $@ gen_dugad_sig$(O) $(LIBS)
|
|
399
|
|
400 cmp_dugad_sig$(EXE): cmp_dugad_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
401 $(CC) $(LDFLAGS) -o $@ cmp_dugad_sig$(O) $(WMLIB) $(LIBS)
|
|
402
|
|
403 dugadclean:
|
|
404 $(RM) gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE)
|
|
405
|
|
406
|
|
407
|
|
408 clean: coxclean bruynclean kochclean corviclean xiaclean zhuclean xieclean \
|
|
409 dugadclean kimclean wangclean frid2clean toolsclean libraryclean waveletclean
|
|
410 $(RM) *$(O) *.ps ../sigs/* ../wms/* ../watermarked/*
|
|
411
|
|
412
|
|
413 man: coxman bruynman kochman corviman xiaman xieman toolsman
|
|
414
|
|
415 test: coxtest bruyntest kochtest corvitest xiatest xietest dugadtest zhutest \
|
|
416 wangtest frid2test kimtest toolstest
|
|
417
|
|
418 install: coxinstall bruyninstall kochinstall corviinstall xiainstall xieinstall \
|
|
419 dugadinstall zhuinstall wanginstall frid2install kiminstall toolsinstall
|
|
420
|
|
421 depend:
|
|
422 $(MAKEDEP) *.h *.c
|
|
423
|