# Makefile for WorldWideWeb HTML Gateway (HTMLGate) # # (c) CERN 1990, 1991 -- see Copyright.html for conditions # # This file should be invariant between systems. # DEPENDENCIES NOT COMPLETE @@ # # make Compile and link the software (private version) # make install Copy it into the system (implies make) # make update Copy installed version into installed version # make uninstall Unlink installed version from the system # make clean Remove intermediate files # make cleanall Remove intremediate files and products # # Macros required to be defined already for make: # # CC The C compiler # CFLAGS Flags for $(CC) # LFLAGS Flags for ld # WWW Root of WWW source tree # USELIBDIR Directory in which libwww.a should be found # # Macros needed for make install: # # BINDIR Directory for installed binary #______________________________________________________________________ # If this is actually run in a subdirectory. # # WWW = ../../.. # If it is run in this directory: # # WWW = ../.. For [cernlib] build in this directory LM = $(WWW)/HTMLGate/Implementation/ LMD = $(WWW)/HTMLGate/Defaults DM = $(WWW)/Daemon/Implementation/ CMN = $(WWW)/Library/Implementation/ DEFAULTS = $(WWW)/HTMLGate/Defaults CFLAGS2 = $(CFLAGS) -I$(CMN) -I$(LM) CERNLIBBIN = $(WWW)/bin USELIBDIR = $(WTMP)/Library/$(WWW_MACH) OBJ = $(WTMP)/HTMLGate/$(WWW_MACH) OE = $(OBJ)/.created WWWLIB = -L$(USELIBDIR) -lwww OBJS = $(OBJ)/HTDaemon.o $(OBJ)/HTMLGate.o $(OBJ)/HTAnchor.o \ $(OBJ)/DefaultStyles.o # $(OBJ)/GateWay.o PROD = HTMLGate SOURCES = $(LM)HTMLGate.c $(LM)HTBrowse.h \ $(LM)HTAnchor.c \ $(LM)GateWay.c $(LM)GridText.h \ $(LM)HTFont.h $(LM)Version.make\ $(LM)DefaultStyles.c $(LM)CommonMakefile SPECIFIC = \ $(LM)/apollo_m68k/Makefile \ $(LM)/decstation/Makefile \ $(LM)/next/Makefile \ $(LM)/pc-nfs/makefile \ $(LM)/pc-nfs/README \ $(LM)/pc-nfs/topc \ $(LM)/rs6000/Makefile \ $(LM)/sgi/Makefile \ $(LM)/snake/Makefile \ $(LM)/sun3/Makefile \ $(LM)/sun4/Makefile \ $(LM)/unix/Makefile \ $(LM)/vax_ultrix/Makefile \ $(LM)/vax_ultrix_cc/Makefile \ $(LM)/vms/descrip.mms \ $(LM)/vms/setup.com # Bug: This path, if relative, is taken relative to the directory # in which this makefile is, not the pwd. This screws up the # recursive invocation include $(ABS)$(LM)Version.make $(PROD) : $(OBJS) $(USELIBDIR)/libwww.a $(CC) -o $(PROD) $(OBJS) $(WWWLIB) $(LFLAGS) $(USELIBDIR)/libwww.a : @echo You must get and make the WWWLibrary product first! (cd $(WWW)/Library/$(WWW_MACH) && make) lib : (cd $(WWW)/Library/$(WWW_MACH) && make) # Make a copy of the binary and documentation on this machine install : $(PROD) cp $(PROD) $(BINDIR)/$(PROD) - mkdir /usr/local - mkdir /usr/local/lib - mkdir /usr/local/lib/WWW cp $(DEFAULTS)/*.html /usr/local/lib/WWW # Link system to the binary and documentation in this tree link : Works/$(PROD) ln -s `pwd`/$(PROD) $(BINDIR)/$(PROD) - mkdir /usr/local - mkdir /usr/local/lib ln -s $(DEFAULTS) /usr/local/lib/WWW uninstall : rm $(BINDIR)/$(PROD) rm -r /usr/local/lib/WWW # Clean up everything generatable except final products clean : rm *.o # Clean up everything generatable including final products cleanall : clean rm $(PROD) # Binary release # # Must be done on anonymous FTP server! # # This makefile does not knw how to make $(PROD)_$(VL) so that trying # to make binay or asis on a weird machine doesn't try to build $(PROD)! binary : $(PROD)_$(VL) -mkdir /pub/www/bin/$(WWW_MACH) cp $(PROD)_$(VL) /pub/www/bin/$(WWW_MACH)/$(PROD)_$(VL) # ASIS installation # ----------------- # Can only happen on an allocated ASIS development machine and # with uid of the controlling user for the project. # asis : /asis/share/usr.local/lib/WWW/default.html \ /asis/specific/$(ASIS_MACH)/usr.local/bin/$(PROD) echo ASIS distribution is now up-to-date. /asis/specific/$(ASIS_MACH)/usr.local/bin/$(PROD) : $(PROD)_$(VL) cp $(PROD)_$(VL) /asis/specific/$(ASIS_MACH)/usr.local/bin/$(PROD) /asis/share/usr.local/lib/WWW/default.html : $(DEFAULTS)/default.html - mkdir /asis/share/usr.local/lib/WWW cp $(DEFAULTS)/*.html /asis/share/usr.local/lib/WWW # CERNLIB installation # -------------------- # Assuming the cernlib-style directory structure # Warning: Not suitable for machine-shared file structure. # cernlib : $(PROD) - mkdir $(CERNLIBBIN) cp $(PROD) $(CERNLIBBIN) #_________________________________________________________________________ # Compiling the Objects (Dependenies incomplete) # Check directory exists $(OE) : -mkdir $(WTMP) -mkdir $(WTMP)/$(PROD) -mkdir $(WTMP)/$(PROD)/$(WWW_MACH) touch $(OE) # $(OBJ)/HTMLGate.o : $(OE) $(LM)HTMLGate.c $(LM)GridText.h $(LM)Version.make \ $(CMN)HTUtils.h $(CMN)HTAccess.h $(CC) -c -o $@ $(CFLAGS2) -DVL=\"$(VL)\" $(LM)HTMLGate.c $(OBJ)/HTDaemon.o : $(OE) $(DM)HTDaemon.c $(CC) -c -o $@ $(CFLAGS2) -DVL=\"$(VL)\" $(DM)HTDaemon.c $(OBJ)/GateWay.o : $(OE) $(LM)GateWay.c $(LM)GridText.h $(LM)Version.make \ $(CMN)HTUtils.h $(CMN)HTAccess.h $(CC) -c -o $@ $(CFLAGS2) -DVL=\"$(VL)\" $(LM)GateWay.c $(OBJ)/GridText.o : $(OE) $(LM)GridText.c $(LM)GridText.h\ $(CMN)HTAnchor.h $(CMN)HTStyle.h $(CC) -c -o $@ $(CFLAGS2) $(LM)GridText.c $(OBJ)/DefaultStyles.o : $(OE) $(LM)DefaultStyles.c $(CMN)HTStyle.h $(CC) -c -o $@ $(CFLAGS2) $(LM)DefaultStyles.c $(OBJ)/HTAnchor.o : $(OE) $(LM)HTAnchor.c $(CC) -c -o $@ $(CFLAGS2) $(LM)HTAnchor.c #_________________________________________________________________ # For W3 Administrative use only: # W3 Source + documentation release # --------------------------------- distribute : /pub/www/README.txt /pub/www/Copyright.txt (cd $(WWW)/.. && WWW=WWW ABS=`pwd`/ make $(MFLAGS) \ -f WWW/HTMLGate/Implementation/CommonMakefile \ /pub/www/src/WWWHTMLGate_$(VL).tar.Z) echo Distribution of $(PROD) version $(VC) up to date. # THIS MUST BE BUILT FROM THE DIRECTORY ABOVE WWW ! USE distribute above! /pub/www/src/WWWHTMLGate_$(VL).tar.Z : $(SOURCES) $(LMD)/line-mode-guide.txt tar cf /pub/www/src/WWWHTMLGate_$(VL).tar \ $(SOURCES) $(LMD)/line-mode-guide.txt \ $(WWW)/HTMLGate/*/Makefile $(LM)/vms/descrip.mms compress /pub/www/src/WWWHTMLGate_$(VL).tar # Hypertext supplied in text format # --------------------------------- $(WWW)/README.txt : $(WWW)/../README.html www -n -p66 http://info.cern.ch/hypertext/README.html \ > $(WWW)/README.txt /pub/www/README.txt : $(WWW)/README.txt cp $(WWW)/README.txt /pub/www/README.txt $(WWW)/Copyright.txt : $(WWW)/../Copyright.html www -n -p66 http://info.cern.ch/hypertext/Copyright.html \ > $(WWW)/Copyright.txt /pub/www/Copyright.txt : $(WWW)/Copyright.txt cp $? $@ # Manual # QUICKGUIDE = \ $(LMD)/QuickGuide.html \ $(LMD)/Commands.html \ $(LMD)/SourceExamples.html \ $(LMD)/CommandLine.html \ $(LMD)/Shortcuts.html \ $(LMD)/VMS_Shortcuts.html \ $(LMD)/Installation.html \ $(LMD)/Installation_VMS.html \ $(LMD)/Installation_VMS_NewTCP.html \ $(LMD)/Distribution.html \ $(LMD)/Porting.html \ $(LMD)/MachineTypes.html \ $(LMD)/InstallNotSU.html \ $(LMD)/Path.html \ $(LMD)/LoginScript.html \ $(LMD)/Customisation.html \ $(LMD)/EnvVariables.html \ $(LMD)/GlobalV.html \ $(LMD)/NewsServer.html \ $(LMD)/Bugs.html \ $(LMD)/Features.html doc : /pub/www/doc/line-mode-guide.txt echo line mdeo browser guide exists. /pub/www/doc/line-mode-guide.txt : $(LMD)/line-mode-guide.txt cp $? $@ $(LMD)/line-mode-guide.txt : $(QUICKGUIDE) -rm $@ for i in $(QUICKGUIDE) ; do www -n -na -p66 $$i >> $@; done #________________________________________________________________________ # Common code - OBSOLETE SECTION HTList.o : $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h $(CC) -c $(CFLAGS2) $(CMN)HTList.c HTAnchor.o : $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h $(CC) -c $(CFLAGS2) $(CMN)HTAnchor.c HTFormat.o : $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h $(CC) -c $(CFLAGS2) $(CMN)HTFormat.c HTHistory.o : $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h $(CC) -c $(CFLAGS2) $(CMN)HTHistory.c HTNews.o : $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h $(CC) -c $(CFLAGS2) $(CMN)HTNews.c HTGopher.o : $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h $(CC) -c $(CFLAGS2) $(CMN)HTGopher.c HTStyle.o : $(CMN)HTStyle.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTStyle.c HTAtom.o : $(CMN)HTAtom.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTAtom.c HTChunk.o : $(CMN)HTChunk.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTChunk.c HTString.o : $(CMN)HTString.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTString.c SGML.o : $(CMN)SGML.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)SGML.c HTML.o : $(CMN)HTML.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTML.c # Communications & Files HTTP.o : $(CMN)HTTP.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTTP.c HTTCP.o : $(CMN)HTTCP.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTTCP.c HTFile.o : $(CMN)HTFile.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTFile.c HTFTP.o : $(CMN)HTFTP.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTFTP.c HTAccess.o : $(CMN)HTAccess.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTAccess.c HTParse.o : $(CMN)HTParse.c $(CMN)HTUtils.h $(CC) -c $(CFLAGS2) $(CMN)HTParse.c #_________________________________________________________________ #