1# $LynxId: makefile.in,v 1.31 2012/08/12 23:55:17 tom Exp $ 2# Make WWW under unix for a.n.other unix system (bsd) 3# Use this as a template 4 5# For W3 distribution, machine type for subdirectories 6WWW_MACH = Implementation 7WWWINC = $(top_srcdir)/WWW/Library/Implementation 8 9ECHO = @DONT_ECHO_CC@ 10LFLAGS = 11 12prefix = @prefix@ 13exec_prefix = @exec_prefix@ 14datarootdir = @datarootdir@ 15top_srcdir = @top_srcdir@ 16srcdir = @srcdir@ 17VPATH = $(srcdir) 18 19LYFLAGS = # FIXME: set in parent makefile 20 21CC = @CC@ 22DEFS = @DEFS@ 23EXTRA_CPPFLAGS = @EXTRA_CPPFLAGS@ 24CPPFLAGS = @CPPFLAGS@ 25 26AR = @AR@ 27ARFLAGS = @ARFLAGS@ 28 29RANLIB = @RANLIB@ 30 31o = .@OBJEXT@ 32x = @EXEEXT@ 33 34INTLDIR_CPPFLAGS= @INTLDIR_CPPFLAGS@ -I$(top_srcdir)/intl 35 36CPP = @CPP@ 37CPPOPTS = $(DEFS) $(LYFLAGS) \ 38 -I../../.. \ 39 -I../../../src \ 40 -I$(top_srcdir) \ 41 -I$(top_srcdir)/src \ 42 $(INTLDIR_CPPFLAGS) -I$(WWWINC) $(EXTRA_CPPFLAGS) $(CPPFLAGS) 43 44LY_CFLAGS = @CFLAGS@ 45CFLAGS = $(CPPOPTS) $(LY_CFLAGS) 46 47LINT = @LINT@ 48LINTOPTS = 49 50CTAGS = @CTAGS@ 51 52# Directory for installed binary: 53BINDIR = @bindir@ 54 55# Where is the W3 object library to be installed (not normally done)? 56#_________________ OK if normal W3 distribution 57# Where is the WWW source root? 58WWW = $(top_srcdir)/WWW 59 60# Where should temporary (object) files go? 61WTMP = ../.. 62 63# (Version.make) 64VC = 2.14 65#______________________________________________________________________ 66# (originally CommonMakefile) 67 68# If this env var is set to something else Some makes will use that instead 69SHELL = @CONFIG_SHELL@ 70 71# .h files are distributed but originally are made from the 72# self-documenting hypertext files. 73 74.SUFFIXES: .h .html 75.html.h: 76# - chmod +w $*.h 77 www -w90 -na -to text/x-c $*.html > $*.h 78# chmod -w $*.h 79 80# If this is actually run in a subdirectory, 81# 82# WWW = ../../.. 83# WWW = ../.. For [cernlib] build in this directory 84 85CMN = $(WWW)/Library/Implementation/ 86 87# Where shall we put the objects and built library? 88 89LOB = . 90 91# Only needed if HTWAIS.c is to be compiled. Put into your Makefile.include 92# uncomment these and fill in WAISINC for adding direct wais access 93# to Lynx. 94@MAKE_WAIS@HTWAIS_c = $(CMN)/HTWAIS.c 95@MAKE_WAIS@HTWAIS_o = $(LOB)/HTWAIS$o 96@MAKE_WAIS@WAIS = YES 97#WAISINC = -I../../../../freeWAIS-0.202/ir 98@MAKE_WAIS@WAISCFLAGS = -DDIRECT_WAIS 99# 100 101# add -DNEW_GATEWAY here for the new gateway config stuff 102CFLAGS2 = $(CFLAGS) $(LYFLAGS) $(WAISCFLAGS) -I$(CMN) -DACCESS_AUTH 103 104COMPILE = $(ECHO) $(CC) $(CFLAGS2) -c 105 106COMMON = $(LOB)/HTParse$o $(LOB)/HTAccess$o $(LOB)/HTTP$o \ 107 $(LOB)/HTFile$o $(LOB)/HTBTree$o $(LOB)/HTFTP$o $(LOB)/HTTCP$o \ 108 $(LOB)/SGML$o $(LOB)/HTMLDTD$o $(LOB)/HTChunk$o \ 109 $(LOB)/HTPlain$o \ 110 $(LOB)/HTMLGen$o \ 111 $(LOB)/HTAtom$o $(LOB)/HTAnchor$o $(LOB)/HTStyle$o \ 112 $(LOB)/HTList$o $(LOB)/HTString$o \ 113 $(LOB)/HTRules$o $(LOB)/HTFormat$o $(LOB)/HTMIME$o \ 114 $(LOB)/HTNews$o $(LOB)/HTGopher$o \ 115 $(LOB)/HTTelnet$o $(LOB)/HTFinger$o $(LOB)/HTWSRC$o $(HTWAIS_o) \ 116 $(LOB)/HTAAUtil$o $(LOB)/HTAABrow$o \ 117 $(LOB)/HTGroup$o \ 118 $(LOB)/HTAAProt$o \ 119 $(LOB)/HTAssoc$o $(LOB)/HTLex$o $(LOB)/HTUU$o \ 120 121CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \ 122 $(CMN)HTBTree.c \ 123 $(CMN)HTFTP.c $(CMN)HTTCP.c $(CMN)SGML.c \ 124 $(CMN)HTMLDTD.c \ 125 $(CMN)HTPlain.c \ 126 $(CMN)HTMLGen.c \ 127 $(CMN)HTChunk.c $(CMN)HTAtom.c $(CMN)HTAnchor.c $(CMN)HTStyle.c \ 128 $(CMN)HTList.c $(CMN)HTString.c $(CMN)HTRules.c \ 129 $(CMN)HTFormat.c $(CMN)HTMIME.c \ 130 $(CMN)HTNews.c $(CMN)HTGopher.c $(CMN)HTTelnet.c \ 131 $(CMN)HTFinger.c $(HTWAIS_c) $(CMN)HTWSRC.c \ 132 $(CMN)HTAABrow.c \ 133 $(CMN)HTGroup.c \ 134 $(CMN)HTAAProt.c \ 135 $(CMN)HTAssoc.c $(CMN)HTLex.c $(CMN)HTUU.c 136 137HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \ 138 $(CMN)HTBTree.h $(CMN)HTFTP.h $(CMN)HTTCP.h \ 139 $(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \ 140 $(CMN)HTPlain.h \ 141 $(CMN)HTFWriter.h $(CMN)HTMLGen.h \ 142 $(CMN)HTStream.h \ 143 $(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \ 144 $(CMN)HTList.h \ 145 $(CMN)HTString.h $(CMN)HTRules.h \ 146 $(CMN)HTFormat.h $(CMN)HTInit.h \ 147 $(CMN)HTMIME.h $(CMN)HTNews.h \ 148 $(CMN)HTGopher.h \ 149 $(CMN)HTUtils.h $(CMN)www_tcp.h $(CMN)HText.h \ 150 $(CMN)HTTelnet.h $(CMN)HTFinger.h \ 151 $(CMN)HTWAIS.h $(CMN)HTWSRC.h \ 152 $(CMN)HTAABrow.h \ 153 $(CMN)HTGroup.h \ 154 $(CMN)HTAAProt.h \ 155 $(CMN)HTAssoc.h $(CMN)HTLex.h $(CMN)HTUU.h 156 157C_SRC = $(COMMON:$o=.c) 158 159all : $(LOB)/libwww.a 160 161lint: 162 $(LINT) $(LINTOPTS) $(CPPOPTS) $(C_SRC) 2>&1 |tee ../../../lint.libwww 163 164.SUFFIXES: $o .i .h .html 165 166.c$o: 167 @RULE_CC@ 168 @ECHO_CC@$(CC) $(CPPOPTS) $(CFLAGS) -c $(srcdir)/$*.c 169 170.c.i: 171 @RULE_CC@ 172 @ECHO_CC@$(CPP) -C $(CPPOPTS) $(srcdir)/$*.c >$@ 173 174depend : 175 makedepend -fmakefile -- $(CFLAGS) -- $(CFILES) 176 177# Library 178# 179# On SGI, ranlib is unnecessary and does not exist so we ignore errors 180# for that step 181$(LOB)/libwww.a : $(COMMON) 182 $(AR) $(ARFLAGS) $(LOB)/libwww.a $(COMMON) 183 -$(RANLIB) $(LOB)/libwww.a 184 185# Clean up everything generatable except final products 186clean : 187 rm -f core *.core *.leaks *.[oi] *.bak tags TAGS 188 rm -f dtd_util$x 189 rm -f $(LOB)/*$o 190 191distclean : clean 192 @echo made $@ 193 194tags: 195 $(CTAGS) *.[ch] 196 197# Common code 198# ----------- 199 200$(LOB)/HTList$o : $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h 201 $(COMPILE) $(CMN)HTList.c 202 203$(LOB)/HTAnchor$o : $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h 204 $(COMPILE) $(CMN)HTAnchor.c 205 206$(LOB)/HTFormat$o : $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h 207 $(COMPILE) $(CMN)HTFormat.c 208 209$(LOB)/HTMIME$o : $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h 210 $(COMPILE) $(CMN)HTMIME.c 211 212$(LOB)/HTNews$o : $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h\ 213 $(CMN)HTMLDTD.h 214 $(COMPILE) $(CMN)HTNews.c 215 216$(LOB)/HTGopher$o : $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h \ 217 $(CMN)HTMLDTD.h 218 $(COMPILE) $(CMN)HTGopher.c 219 220$(LOB)/HTTelnet$o : $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h $(CMN)../../../userdefs.h 221 $(COMPILE) $(CMN)HTTelnet.c 222 223$(LOB)/HTFinger$o : $(CMN)HTFinger.c $(CMN)HTUtils.h $(CMN)HTList.h \ 224 $(CMN)HTMLDTD.h 225 $(COMPILE) $(CMN)HTFinger.c 226 227$(LOB)/HTStyle$o : $(CMN)HTStyle.c $(CMN)HTUtils.h 228 $(COMPILE) $(CMN)HTStyle.c 229 230$(LOB)/HTAtom$o : $(CMN)HTAtom.c $(CMN)HTUtils.h $(CMN)HTList.h 231 $(COMPILE) $(CMN)HTAtom.c 232 233$(LOB)/HTChunk$o : $(CMN)HTChunk.c $(CMN)HTUtils.h 234 $(COMPILE) $(CMN)HTChunk.c 235 236$(LOB)/HTString$o : $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make 237 $(COMPILE) -DVC=\"$(VC)\" $(CMN)HTString.c 238 239$(LOB)/HTRules$o : $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make \ 240 $(CMN)HTAAProt.h 241 $(COMPILE) -DVC=\"$(VC)\" $(CMN)HTRules.c 242 243$(LOB)/SGML$o : $(CMN)SGML.c $(CMN)HTUtils.h $(CMN)UCAux.h 244 $(COMPILE) $(CMN)SGML.c 245 246$(LOB)/HTMLGen$o : $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h 247 $(COMPILE) $(CMN)HTMLGen.c 248 249$(LOB)/HTMLDTD$o : $(CMN)HTMLDTD.c $(CMN)SGML.h 250 $(COMPILE) $(CMN)HTMLDTD.c 251 252$(LOB)/HTPlain$o : $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h \ 253 $(CMN)UCAux.h 254 $(COMPILE) $(CMN)HTPlain.c 255 256$(LOB)/HTWAIS$o : $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h 257 $(COMPILE) $(WAISINC) $(CMN)HTWAIS.c 258 259$(LOB)/HTWSRC$o : $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h 260 $(COMPILE) $(CMN)HTWSRC.c 261 262# Access Authorization 263 264$(LOB)/HTAAUtil$o : $(CMN)HTAAUtil.c $(CMN)HTAAUtil.h \ 265 $(CMN)HTUtils.h $(CMN)HTString.h 266 $(COMPILE) $(CMN)HTAAUtil.c 267 268$(LOB)/HTGroup$o : $(CMN)HTGroup.c $(CMN)HTGroup.h \ 269 $(CMN)HTAAUtil.h \ 270 $(CMN)HTAssoc.h $(CMN)HTLex.h 271 $(COMPILE) $(CMN)HTGroup.c 272 273$(LOB)/HTAABrow$o : $(CMN)HTAABrow.c $(CMN)HTAABrow.h \ 274 $(CMN)HTAAUtil.h $(CMN)HTUU.h \ 275 $(CMN)HTUtils.h $(CMN)HTString.h \ 276 $(CMN)HTParse.h $(CMN)HTList.h \ 277 $(CMN)HTAssoc.h 278 $(COMPILE) $(CMN)HTAABrow.c 279 280$(LOB)/HTAAProt$o : $(CMN)HTAAProt.c $(CMN)HTAAProt.h \ 281 $(CMN)HTUtils.h $(CMN)HTAAUtil.h \ 282 $(CMN)HTAssoc.h $(CMN)HTLex.h 283 $(COMPILE) $(CMN)HTAAProt.c 284 285$(LOB)/HTAssoc$o : $(CMN)HTAssoc.c $(CMN)HTAssoc.h \ 286 $(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTList.h 287 $(COMPILE) $(CMN)HTAssoc.c 288 289$(LOB)/HTLex$o : $(CMN)HTLex.c $(CMN)HTLex.h $(CMN)HTUtils.h 290 $(COMPILE) $(CMN)HTLex.c 291 292$(LOB)/HTUU$o : $(CMN)HTUU.c $(CMN)HTUU.h $(CMN)HTUtils.h 293 $(COMPILE) $(CMN)HTUU.c 294 295 296# Communications & Files 297 298$(LOB)/HTTP$o : $(CMN)HTTP.c $(CMN)HTUtils.h $(CMN)HTAABrow.h 299 $(COMPILE) $(CMN)HTTP.c 300 301$(LOB)/HTTCP$o : $(CMN)HTTCP.c $(CMN)HTUtils.h 302 $(COMPILE) $(CMN)HTTCP.c 303 304$(LOB)/HTFile$o : $(CMN)HTFile.c $(CMN)HTUtils.h \ 305 $(CMN)HTMLDTD.h 306 $(COMPILE) $(CMN)HTFile.c 307 308$(LOB)/HTBTree$o : $(CMN)HTBTree.c $(CMN)HTUtils.h 309 $(COMPILE) $(CMN)HTBTree.c 310 311$(LOB)/HTFTP$o : $(CMN)HTFTP.c $(CMN)HTUtils.h 312 $(COMPILE) $(CMN)HTFTP.c 313 314$(LOB)/HTAccess$o : $(CMN)HTAccess.c $(CMN)HTUtils.h 315 $(COMPILE) $(CMN)HTAccess.c 316 317$(LOB)/HTParse$o : $(CMN)HTParse.c $(CMN)HTUtils.h 318 $(COMPILE) $(CMN)HTParse.c 319 320$(LOB)/HTVMS_WaisUI$o : $(CMN)HTVMS_WaisUI.c $(CMN)HTUtils.h 321 $(COMPILE) $(CMN)HTVMS_WaisUI.c 322 323$(LOB)/HTDOS$o : $(CMN)HTDOS.c $(CMN)HTUtils.h 324 $(COMPILE) $(CMN)HTDOS.c 325 326# Utilities 327$(LOB)/dtd_util$o : $(CMN)dtd_util.c $(CMN)HTUtils.h 328 $(COMPILE) $(CMN)dtd_util.c 329 330DTD_UTIL = $(LOB)/dtd_util$o $(LOB)/HTMLDTD$o 331 332sources: dtd_util$x src0_HTMLDTD.txt src1_HTMLDTD.txt 333 -rm -f *_HTMLDTD.h 334 ./dtd_util$x -l src0_HTMLDTD.txt -s -c -o src0_HTMLDTD.h 335 ./dtd_util$x -l src1_HTMLDTD.txt -t -c -o src1_HTMLDTD.h 336 ./dtd_util$x -l src0_HTMLDTD.txt -s -h -o hdr_HTMLDTD.h 337 338dtd_util$x: $(DTD_UTIL) 339 $(CC) $(CC_OPTS) $(LDFLAGS) -o $@ $(DTD_UTIL) $(LIBS) 340 341check: dtd_util$x 342 @echo "** comparing builtin src0_HTMLDTD.txt" 343 ./dtd_util$x >HTMLDTD.log 344 -diff -u src0_HTMLDTD.txt HTMLDTD.log 345 346 @echo "** comparing reloaded src0_HTMLDTD.txt" 347 ./dtd_util$x -l src0_HTMLDTD.txt >HTMLDTD.log 348 -diff -u src0_HTMLDTD.txt HTMLDTD.log 349 350 @echo "** comparing header generated from builtin" 351 ./dtd_util$x -s -h -o HTMLDTD.log 352 -diff -u hdr_HTMLDTD.h HTMLDTD.log 353 ./dtd_util$x -t -h -o HTMLDTD.log 354 -diff -u hdr_HTMLDTD.h HTMLDTD.log 355 356 @echo "** comparing header generated by load" 357 ./dtd_util$x -s -h -o HTMLDTD.log -l src0_HTMLDTD.txt 358 -diff -u hdr_HTMLDTD.h HTMLDTD.log 359 ./dtd_util$x -t -h -o HTMLDTD.log -l src1_HTMLDTD.txt 360 -diff -u hdr_HTMLDTD.h HTMLDTD.log 361 362 @echo "** comparing strict source generated from builtin" 363 ./dtd_util$x -s -c -o HTMLDTD.log 364 -diff -u src0_HTMLDTD.h HTMLDTD.log 365 366 @echo "** comparing strict source generated by load" 367 ./dtd_util$x -s -c -o HTMLDTD.log -l src0_HTMLDTD.txt 368 -diff -u src0_HTMLDTD.h HTMLDTD.log 369 370 @echo "** comparing tagsoup source generated from builtin" 371 ./dtd_util$x -t -c -o HTMLDTD.log 372 -diff -u src1_HTMLDTD.h HTMLDTD.log 373 374 @echo "** comparing tagsoup source generated by load" 375 ./dtd_util$x -t -c -o HTMLDTD.log -l src1_HTMLDTD.txt 376 -diff -u src1_HTMLDTD.h HTMLDTD.log 377 378# DO NOT DELETE THIS LINE -- make depend depends on it. 379