about summary refs log blame commit diff stats
path: root/WWW/Library/Implementation/CommonMakefile
blob: ff548663ccb347452ed72d4b27d12952e53f28b1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                       
 






                                                                
                                             





                                                                       


                                                                            

                























                                                                           

                           

                                          
                           

 


                                                                        
                                                                                  
 
                                     
 




                                                                        
                          



                                                             
                                            
                                                                         


                                             

                                                           

                                                                       

                                                        
                         
                         








                                                                            




                                                                       
                         
                                                 


                                                         
                                          
                                         
                                       



                                                   


                          



















                                                                              
                                  















                                                                     
 
















































                                                                        
                                   












                                                                                   
                                 

                                                                         
                                   

                                                                         
                                   

                                                                     
                                 
 

                                                                      
                                 


                                                                           
                                   

                                                                                                     
                                   


                                                                           
                                   

                                                        
                                  

                                                                     
                                 

                                                        
                                  

                                                                             
                                                  

                                                                             
                         
                                                 
 
                                                                
                               

                                                                        
                                  

                                                     
                                  
 

                                                                           
                                  

                                                                     
                                            

                                                                     
                                 
 



                                                             
                                   
 
                                                          
                           
                                      
                                  
 


                                                             
                                         
                        
                                   

                                                             
                                           
                                      
                                   


                                                          
                                  

                                                                  
                                

                                                               
                               




                                                                   
                               

                                                    
                                

                                                        
                        
                                 

                                                        
                                  

                                                    
                                

                                                           
                                   

                                                        
                                  
 


                                                                  


                                                    
#	Common Makefile for W3 Library Code
#	-----------------------------------
#
#	(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) -- except the -I which are below
# LFLAGS	Flags for ld
# LYFLAGS	Flags for Lynx
#
# WWW		The WWW source tree directory
#
# Macros needed for make install:
#
# LIBDIR	Directory for installed library
#______________________________________________________________________

#  If this env var is set to something else Some makes will use that instead
SHELL = /bin/sh

RANLIB	= ranlib

#	.h files are distributed but originally are made from the
#	self-documenting hypertext files.

.SUFFIXES: .h .html
.html.h:
#	- chmod +w $*.h
	www -w90 -na -to text/x-c $*.html > $*.h
#	chmod -w $*.h

# If this is actually run in a subdirectory,
#
# WWW = ../../..
# WWW = ../..	For [cernlib] build in this directory

WC = $(WWW)/Library
CMN = $(WWW)/Library/Implementation/
VMS = $(CMN)vms
# Where shall we put the objects and built library?

LOB = $(WTMP)/Library/$(WWW_MACH)

# Only needed if HTWAIS.c is to be compiled. Put into your Makefile.include
#  uncomment these and fill in WAISINC for adding direct wais access
#  to Lynx.
#HTWAIS_c = $(CMN)/HTWAIS.c
#HTWAIS_o = $(LOB)/HTWAIS.o
#WAIS = YES
#WAISINC = -I../../../../freeWAIS-0.202/ir
#WAISCFLAGS = -DDIRECT_WAIS
#

# XMOsAIC hack is only for server to cope with xmosaic kludge for mmedia
#
# add -DNEW_GATEWAY here for the new gateway config stuff
CFLAGS2 = $(CFLAGS) $(LYFLAGS) $(WAISCFLAGS) -I$(CMN) -DXMOSAIC_HACK -DACCESS_AUTH

COMPILE	= $(ECHO) $(CC) $(CFLAGS2) -c

CERNLIBBIN = $(WWW)/bin

COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
	$(LOB)/HTFile.o	$(LOB)/HTBTree.o $(LOB)/HTFTP.o $(LOB)/HTTCP.o \
	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
	$(LOB)/HTPlain.o \
	$(LOB)/HTMLGen.o \
	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
	$(LOB)/HTList.o $(LOB)/HTString.o \
	$(LOB)/HTRules.o $(LOB)/HTFormat.o  $(LOB)/HTMIME.o \
	$(LOB)/HTNews.o  $(LOB)/HTGopher.o \
	$(LOB)/HTTelnet.o $(LOB)/HTFinger.o $(LOB)/HTWSRC.o $(HTWAIS_o) \
	$(LOB)/HTAAUtil.o $(LOB)/HTAABrow.o \
	$(LOB)/HTGroup.o \
	$(LOB)/HTAAProt.o \
	$(LOB)/HTAssoc.o  $(LOB)/HTLex.o    $(LOB)/HTUU.o \
	$(LOB)/HTDOS.o

CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
	$(CMN)HTBTree.c \
	$(CMN)HTFTP.c	$(CMN)HTTCP.c	  $(CMN)SGML.c \
	$(CMN)HTMLDTD.c \
	$(CMN)HTPlain.c	\
	$(CMN)HTMLGen.c \
	$(CMN)HTChunk.c $(CMN)HTAtom.c    $(CMN)HTAnchor.c $(CMN)HTStyle.c \
	$(CMN)HTList.c  $(CMN)HTString.c  $(CMN)HTRules.c \
	$(CMN)HTFormat.c $(CMN)HTMIME.c \
	$(CMN)HTNews.c  $(CMN)HTGopher.c  $(CMN)HTTelnet.c \
	$(CMN)HTFinger.c $(HTWAIS_c)	  $(CMN)HTWSRC.c \
	$(CMN)HTAABrow.c \
	$(CMN)HTGroup.c  \
	$(CMN)HTAAProt.c \
	$(CMN)HTAssoc.c  $(CMN)HTLex.c    $(CMN)HTUU.c

HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
	$(CMN)HTBTree.h $(CMN)HTFTP.h $(CMN)HTTCP.h \
	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
	$(CMN)HTPlain.h	\
	$(CMN)HTFWriter.h	$(CMN)HTMLGen.h \
	$(CMN)HTStream.h \
	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
	$(CMN)HTList.h \
	$(CMN)HTString.h $(CMN)HTRules.h \
	$(CMN)HTFormat.h $(CMN)HTInit.h \
	$(CMN)HTMIME.h $(CMN)HTNews.h \
	$(CMN)HTGopher.h \
	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)HText.h \
	$(CMN)HTTelnet.h $(CMN)HTFinger.h \
	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h \
	$(CMN)HTAABrow.h \
	$(CMN)HTGroup.h  \
	$(CMN)HTAAProt.h \
	$(CMN)HTAssoc.h  $(CMN)HTLex.h    $(CMN)HTUU.h

SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make \
	$(CMN)CommonMakefile $(CMN)Makefile \
	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD $(WWW)/Makefile
SPECIFIC = $(WWW)/All/*/Makefile.include $(WWW)/All/Implementation/Makefile* \
	$(VMS)/descrip.mms $(VMS)/build_multinet.com \
	$(VMS)/COPYING.LIB $(VMS)/setup.com $(VMS)/multinet.opt \
	$(VMS)/patchlevel.h $(VMS)/ufc-crypt.h \
	$(VMS)/crypt.c $(VMS)/crypt_util.c \
	$(VMS)/getline.c $(VMS)/getpass.c \
	$(VMS)/HTVMSUtils.h $(VMS)/HTVMSUtils.c


#	Library
#
#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
# for that step
$(LOB)/libwww.a : $(COMMON)
	ar r $(LOB)/libwww.a $(COMMON)
	-$(RANLIB) $(LOB)/libwww.a

#	Clean up everything generatable except final products
clean :
	rm $(LOB)/*.o $(LOB)/.created
	-rmdir $(LOB)

#	Clean up everything generatable including final products

cleanall : clean
	rm $(LOB)/libwww.a

#	Install W3 library into system space (not normally necessary)

install : libwww.a
	if [ ! -r $(LIBDIR) ] mkdir $(LIBDIR)
	cp libwww.a $(LIBDIR)/libwww.a

uninstall :
	rm $(LIBDIR)/libwww.a

#		Distribution use only:
#		----------------------

#	Needs www version 2.4 or later to do this
inc : $(HFILES)
	echo Include files generated from hypertext.

binary : /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
	echo FTP archive binary Libray $(VC) for $(WWW_MACH) up to date.


/pub/www/bin/$(WWW_MACH)/libwww_$(VC).a : libwww.a
	-mkdir /pub/www/bin/$(WWW_MACH)
	cp libwww.a /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a

#	Source Distribution:

distribute :  /pub/www/README.txt /pub/www/Copyright.txt
	(cd $(WWW)/..; WWW=WWW ABS=`pwd`/ make $(MFLAGS) \
		-f WWW/Library/Implementation/CommonMakefile \
		/pub/www/src/WWWLibrary_$(VC).tar.Z)
	(cd ../Implementation; cvs tag \
	    `sed -e 's/VC = /v/' Version.make | sed -e 's?\.?/?'` )
	echo Distribution of Library version $(VC) up to date.

/pub/www/src/WWWLibrary_$(VC).tar.Z : $(SOURCES)
	tar cf /pub/www/src/WWWLibrary_$(VC).tar \
	    $(SOURCES)  $(SPECIFIC) $(WC)/*/Makefile
	compress /pub/www/src/WWWLibrary_$(VC).tar


#	Hypertext supplied in text format
#	---------------------------------

$(WWW)/README.txt : $(WWW)/../README.html
	www -n -p66 http://www.w3.org/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://www.w3.org/hypertext/Copyright.html \
		> $(WWW)/Copyright.txt
/pub/www/Copyright.txt : $(WWW)/Copyright.txt
	cp $(WWW)/Copyright.txt /pub/www/Copyright.txt

#			Common code
#			-----------

#	Directory for object files - .created checks it exists

OE = $(LOB)/.created
$(OE) :
	if [ ! -r $(WTMP) ] ; then mkdir $(WTMP); else echo OK ; fi
	if [ ! -r $(WTMP)/Library ] ; then mkdir $(WTMP)/Library; else echo OK ; fi
	if [ ! -r $(WTMP)/Library/$(WWW_MACH) ] ; \
		then mkdir $(WTMP)/Library/$(WWW_MACH); else echo OK ; fi
	touch $@

$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTList.c

$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTAnchor.c

$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTFormat.c

$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTMIME.c

$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h\
	 $(CMN)HTMLDTD.h
	$(COMPILE) $(CMN)HTNews.c

$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h \
	 $(CMN)HTMLDTD.h
	$(COMPILE) $(CMN)HTGopher.c

$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h $(CMN)../../../userdefs.h
	$(COMPILE) $(CMN)HTTelnet.c

$(LOB)/HTFinger.o : $(OE) $(CMN)HTFinger.c $(CMN)HTUtils.h $(CMN)HTList.h \
	$(CMN)HTMLDTD.h
	$(COMPILE) $(CMN)HTFinger.c

$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTStyle.c

$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTAtom.c

$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTChunk.c

$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
	$(COMPILE) -DVC=\"$(VC)\" $(CMN)HTString.c

$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make \
	 $(CMN)HTAAProt.h
	$(COMPILE) -DVC=\"$(VC)\" $(CMN)HTRules.c

$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h $(CMN)UCAux.h
	$(COMPILE) $(CMN)SGML.c

$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
	$(COMPILE) $(CMN)HTMLGen.c

$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
	$(COMPILE) $(CMN)HTMLDTD.c

$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h \
	 $(CMN)UCAux.h
	$(COMPILE) $(CMN)HTPlain.c

$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(WAISINC) $(CMN)HTWAIS.c

$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTWSRC.c

#	Access Authorization

$(LOB)/HTAAUtil.o : $(OE) $(CMN)HTAAUtil.c $(CMN)HTAAUtil.h \
	 $(CMN)HTUtils.h $(CMN)HTString.h
	$(COMPILE) $(CMN)HTAAUtil.c

$(LOB)/HTGroup.o : $(OE) $(CMN)HTGroup.c $(CMN)HTGroup.h \
	 $(CMN)HTAAUtil.h \
	 $(CMN)HTAssoc.h $(CMN)HTLex.h
	$(COMPILE) $(CMN)HTGroup.c

$(LOB)/HTAABrow.o : $(OE) $(CMN)HTAABrow.c $(CMN)HTAABrow.h \
	 $(CMN)HTAAUtil.h $(CMN)HTUU.h \
	 $(CMN)HTUtils.h $(CMN)HTString.h \
	 $(CMN)HTParse.h $(CMN)HTList.h \
	 $(CMN)HTAssoc.h
	$(COMPILE) $(CMN)HTAABrow.c

$(LOB)/HTAAProt.o : $(OE) $(CMN)HTAAProt.c $(CMN)HTAAProt.h \
	 $(CMN)HTUtils.h $(CMN)HTAAUtil.h \
	 $(CMN)HTAssoc.h $(CMN)HTLex.h
	$(COMPILE) $(CMN)HTAAProt.c

$(LOB)/HTAssoc.o : $(OE) $(CMN)HTAssoc.c $(CMN)HTAssoc.h \
	$(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTList.h
	$(COMPILE) $(CMN)HTAssoc.c

$(LOB)/HTLex.o : $(OE) $(CMN)HTLex.c $(CMN)HTLex.h $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTLex.c

$(LOB)/HTUU.o : $(OE) $(CMN)HTUU.c $(CMN)HTUU.h $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTUU.c


#	Communications & Files

$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h $(CMN)HTAABrow.h
	$(COMPILE) $(CMN)HTTP.c

$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTTCP.c

$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h \
	 $(CMN)HTMLDTD.h
	$(COMPILE) $(CMN)HTFile.c

$(LOB)/HTBTree.o : $(OE) $(CMN)HTBTree.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTBTree.c

$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTFTP.c

$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTAccess.c

$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTParse.c

$(LOB)/HTVMS_WaisUI.o : $(OE) $(CMN)HTVMS_WaisUI.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTVMS_WaisUI.c

$(LOB)/HTDOS.o : $(OE) $(CMN)HTDOS.c $(CMN)HTUtils.h
	$(COMPILE) $(CMN)HTDOS.c