Mercurial > hg > wm
comparison Meerwald/Makefile @ 0:be303a3f5ea8
import
| author | Peter Meerwald <pmeerw@cosy.sbg.ac.at> |
|---|---|
| date | Sun, 12 Aug 2007 13:14:34 +0200 |
| parents | |
| children | acb6967ee76d |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:be303a3f5ea8 |
|---|---|
| 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 |
