| 
0
 | 
     1 # Makefile
 | 
| 
 | 
     2 
 | 
| 
3
 | 
     3 # chose build plattform
 | 
| 
0
 | 
     4 include ../make/make.config
 | 
| 
 | 
     5 
 | 
| 
3
 | 
     6 OPTIONS=-DPARAM_STUFF -DPOLLEN_STUFF
 | 
| 
 | 
     7 
 | 
| 
0
 | 
     8 all: 	tools \
 | 
| 
 | 
     9 	bruyn \
 | 
| 
 | 
    10 	koch \
 | 
| 
 | 
    11 	corvi \
 | 
| 
 | 
    12 	xia \
 | 
| 
 | 
    13 	xie \
 | 
| 
3
 | 
    14 	xie2 \
 | 
| 
0
 | 
    15 	cox \
 | 
| 
 | 
    16 	zhu \
 | 
| 
 | 
    17 	dugad \
 | 
| 
 | 
    18 	wang \
 | 
| 
 | 
    19 	frid2 \
 | 
| 
3
 | 
    20 	kim \
 | 
| 
 | 
    21 	kund2 \
 | 
| 
 | 
    22 	kund3
 | 
| 
0
 | 
    23 
 | 
| 
 | 
    24 .SUFFIXES: .c .o .1 .ps
 | 
| 
 | 
    25 
 | 
| 
 | 
    26 .c$(O):
 | 
| 
3
 | 
    27 	$(CC) $(CFLAGS) $(INCLUDES) $(OPTIONS) -o $@ -c $<
 | 
| 
0
 | 
    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$(O) coord$(O) wm$(O)
 | 
| 
 | 
    35 	$(RM) $@
 | 
| 
 | 
    36 	ar -rc $@ dct$(O) coeff$(O) gray$(O) sort$(O) signature$(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 
 | 
| 
10
 | 
    52 tools: cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE) cmp_ppm$(EXE)
 | 
| 
0
 | 
    53 
 | 
| 
 | 
    54 toolstest:
 | 
| 
 | 
    55 
 | 
| 
 | 
    56 toolsinstall: tools
 | 
| 
10
 | 
    57 	$(CP) cmp_ppm$(EXE) cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE) $(INSTALLDIR)
 | 
| 
0
 | 
    58 
 | 
| 
10
 | 
    59 toolsman: cmp_ppm.ps cmp_pgm.ps cmp_dct8x8.ps cmp_dct.ps
 | 
| 
0
 | 
    60 
 | 
| 
 | 
    61 toolsclean:
 | 
| 
10
 | 
    62 	$(RM) cmp_ppm$(EXE) cmp_pgm$(EXE) cmp_dct$(EXE) cmp_dct8x8$(EXE) cmp_dwt$(EXE)
 | 
| 
0
 | 
    63 
 | 
| 
 | 
    64 cmp_pgm$(EXE):  cmp_pgm$(O) $(LIBPREFIX)wm$(LIB)
 | 
| 
3
 | 
    65 	$(CC) $(LDFLAGS) -o $@ cmp_pgm$(O) $(WMLIB) $(PGMLIBS) $(LIBS)
 | 
| 
0
 | 
    66 
 | 
| 
10
 | 
    67 cmp_ppm$(EXE):  cmp_ppm$(O) $(LIBPREFIX)wm$(LIB)
 | 
| 
 | 
    68 	$(CC) $(LDFLAGS) -o $@ cmp_ppm$(O) $(WMLIB) $(PGMLIBS) $(LIBS)
 | 
| 
 | 
    69 
 | 
| 
0
 | 
    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)
 | 
| 
 | 
   166 	$(CC) $(LDFLAGS) -o $@ gen_bruyn_sig$(O) wm$(O) $(LIBS)
 | 
| 
 | 
   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 
 | 
| 
3
 | 
   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$(O)
 | 
| 
 | 
   436 	$(CC) $(LDFLAGS) -o $@ gen_kund2_sig$(O) wm$(O) signature$(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$(O)
 | 
| 
 | 
   466 	$(CC) $(LDFLAGS) -o $@ gen_kund3_sig$(O) wm$(O) signature$(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 
 | 
| 
0
 | 
   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 
 | 
| 
3
 | 
   506 clean:	coxclean bruynclean kochclean corviclean xiaclean zhuclean xieclean kund3clean kund2clean \
 | 
| 
 | 
   507 	dugadclean kimclean wangclean frid2clean toolsclean libraryclean waveletclean xie2clean
 | 
| 
0
 | 
   508 	$(RM) *$(O) *.ps ../sigs/* ../wms/* ../watermarked/* 
 | 
| 
 | 
   509 	
 | 
| 
 | 
   510 
 | 
| 
 | 
   511 man:	coxman bruynman kochman corviman xiaman xieman toolsman
 | 
| 
 | 
   512 
 | 
| 
 | 
   513 test:	coxtest bruyntest kochtest corvitest xiatest xietest dugadtest zhutest \
 | 
| 
3
 | 
   514 	wangtest frid2test kimtest toolstest kund3test kund2test
 | 
| 
0
 | 
   515 
 | 
| 
 | 
   516 install: coxinstall bruyninstall kochinstall corviinstall xiainstall xieinstall \
 | 
| 
3
 | 
   517 	dugadinstall zhuinstall wanginstall frid2install kiminstall toolsinstall kund3install kund2install
 | 
| 
0
 | 
   518 
 | 
| 
 | 
   519 depend:
 | 
| 
 | 
   520 	$(MAKEDEP) *.h *.c
 | 
| 
 | 
   521 
 |