mirror of
https://github.com/NishiOwO/arena.git
synced 2025-04-21 16:54:42 +00:00
423 lines
13 KiB
Makefile
423 lines
13 KiB
Makefile
# Make WWW product
|
|
# include ../../All/$(WWW_MACH)/Makefile.include
|
|
#include Makefile.include
|
|
# Make WWW under unix for netbsd
|
|
#
|
|
|
|
# For W3 distribution, machine type for subdirectories
|
|
WWW_MACH = netbsd
|
|
|
|
# The ASIS repository's name for the machine we are on
|
|
ASIS_MACH = netbsd/amd64
|
|
|
|
# Options for cc
|
|
#CC = cc
|
|
#CFLAGS = -DDEBUG
|
|
#LFLAGS = -Bstatic
|
|
|
|
# Options for gcc
|
|
CC = gcc
|
|
CFLAGS = -O -g -DNO_STRERROR -I /usr/X11R7/include
|
|
LFLAGS = -L /usr/X11R7/lib -Wl,-R/usr/pkg/lib
|
|
#CFLAGS = -Wall -g -DNO_GETWD -DHAS_GETCWD
|
|
# CFLAGS = -Wall -g
|
|
#LFLAGS = -static
|
|
|
|
ifeq ($(shell uname -m),amd64)
|
|
CFLAGS += -DPOINTER_IS_64BIT
|
|
endif
|
|
|
|
# In both cases: Ask for static linking so that binary will be transportable
|
|
|
|
# Directory for installed binary:
|
|
BINDIR = /usr/arena/bin
|
|
#BINDIR = ../../LineMode/sun4
|
|
|
|
#_________________ OK if normal W3 distribution
|
|
# Where is the WWW source root?
|
|
WWW = ../..
|
|
|
|
# Where should temporary (object) files go?
|
|
# WTMP = /usr/tmp
|
|
WTMP = $(WWW)
|
|
|
|
# Where is the W3 object library?
|
|
#LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
|
|
|
|
USELIBDIR = ../../Library/$(WWW_MACH)
|
|
XLIBDIR = /usr/X11R5/lib
|
|
OTHERLIB = -lm
|
|
|
|
#include ../Implementation/CommonMakefile
|
|
# Makefile for WorldWideWeb Arena browser (www)
|
|
#
|
|
# (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
|
|
#
|
|
# Macros needed for make install:
|
|
#
|
|
# BINDIR Directory for installed binary
|
|
#______________________________________________________________________
|
|
|
|
|
|
# If this env var is set to something else Some makes will use that instead
|
|
SHELL = /bin/sh
|
|
|
|
# If this is actually run in a subdirectory.
|
|
#
|
|
# WWW = ../../..
|
|
|
|
# If it is run in this directory:
|
|
#
|
|
# WWW = ../.. For [cernlib] build in this directory
|
|
|
|
ARENA = $(WWW)/Arena/Implementation/
|
|
LMD = $(WWW)/Arena/Defaults
|
|
CMN = $(WWW)/Library/Implementation/
|
|
DEFAULTS = $(WWW)/Arena/Defaults
|
|
|
|
CFLAGS2 = $(CFLAGS) -I$(CMN) -I$(ARENA)
|
|
|
|
CERNLIBBIN = $(WWW)/bin
|
|
|
|
# WTMP is either WWW or /tmp for example. It allows the
|
|
# machine-dependent files to be put in a separate tree so that
|
|
# - The source tree can be read-only
|
|
# - The source tree can be shared across platforms
|
|
#
|
|
USELIBDIR = $(WTMP)/Library/$(WWW_MACH)
|
|
# XLIBDIR = /usr/lib/X11
|
|
JPEGDIR = ../../Image/jpeg
|
|
PNGDIR = ../../Image/libpng
|
|
ZLIBDIR = ../../Image/zlib
|
|
OBJ = $(WTMP)/Arena/$(WWW_MACH)
|
|
BIN = $(WWW)/Arena/$(WWW_MACH)
|
|
|
|
OE = $(OBJ)/.created
|
|
|
|
WWWLIB = -L$(USELIBDIR) -lwww
|
|
XLIB = -L$(XLIBDIR) -lX11
|
|
JPEGLIB = $(JPEGDIR)/Implementation/libjpeg.a
|
|
PNGLIB = $(PNGDIR)/Implementation/libpng.a
|
|
ZLIB = $(ZLIBDIR)/Implementation/libz.a
|
|
|
|
OBJS = $(OBJ)/www.o $(OBJ)/display.o \
|
|
$(OBJ)/scrollbar.o $(OBJ)/toolbar.o $(OBJ)/entities.o $(OBJ)/forms.o \
|
|
$(OBJ)/status.o $(OBJ)/html.o $(OBJ)/parsehtml.o \
|
|
$(OBJ)/image.o $(OBJ)/gif.o $(OBJ)/bridge.o \
|
|
$(OBJ)/mailcap.o $(OBJ)/XGetHClrs.o $(OBJ)/util.o \
|
|
$(OBJ)/math.o $(OBJ)/editor.o $(OBJ)/icon.o $(OBJ)/history.o \
|
|
$(OBJ)/jpeg.o $(OBJ)/dither.o $(OBJ)/style.o $(OBJ)/x11.o $(OBJ)/png.o \
|
|
$(OBJ)/menu.o $(OBJ)/tools.o $(OBJ)/neweditor.o $(OBJ)/popup.o \
|
|
$(OBJ)/parsecommand.o
|
|
|
|
# Final main product
|
|
PROD = arena
|
|
|
|
SOURCES = $(ARENA)www.c $(ARENA)display.c \
|
|
$(ARENA)scrollbar.c $(ARENA)toolbar.c $(ARENA)entities.c forms.c \
|
|
$(ARENA)status.c $(ARENA)html.c $(ARENA)parsehtml.c \
|
|
$(ARENA)image.c $(ARENA)gif.c bridge.c \
|
|
$(ARENA)mailcap.c $(ARENA)XGetHClrs.c util.c \
|
|
$(ARENA)math.c $(ARENA)editor.c $(ARENA)icon.c $(ARENA)history.c \
|
|
$(ARENA)jpeg.c $(ARENA)dither.c $(ARENA)style.c $(ARENA)x11.c \
|
|
$(ARENA)png.o $(ARENA)menu.o $(ARENA)tools.o $(ARENA)neweditor.c \
|
|
$(ARENA)popup.c $(ARENA)parsecommand.c
|
|
|
|
|
|
|
|
INCLUDES = $(ARENA)www.h $(ARENA)bridge.h $(ARENA)neweditor.h
|
|
|
|
|
|
SPECIFIC = \
|
|
$(ARENA)apollo_m68k/Makefile \
|
|
$(ARENA)decstation/Makefile \
|
|
$(ARENA)next/Makefile \
|
|
$(ARENA)pc-nfs/makefile \
|
|
$(ARENA)pc-nfs/README \
|
|
$(ARENA)pc-nfs/topc \
|
|
$(ARENA)rs6000/Makefile \
|
|
$(ARENA)sgi/Makefile \
|
|
$(ARENA)snake/Makefile \
|
|
$(ARENA)sun3/Makefile \
|
|
$(ARENA)sun4/Makefile \
|
|
$(ARENA)sun4-sol2/Makefile \
|
|
$(ARENA)unix/Makefile \
|
|
$(ARENA)vax_ultrix/Makefile \
|
|
$(ARENA)vax_ultrix_cc/Makefile \
|
|
$(ARENA)vms/descrip.mms \
|
|
$(ARENA)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
|
|
|
|
all: $(BIN)/$(PROD)
|
|
|
|
#$(BIN)/jpeg
|
|
|
|
#arena: $(OBJS) $(USELIBDIR)/libwww.a
|
|
|
|
|
|
$(BIN)/$(PROD) : $(OBJS) $(USELIBDIR)/libwww.a
|
|
$(CC) -o $@ $(OBJS) $(LFLAGS) $(JPEGLIB) $(PNGLIB) $(ZLIB) $(XLIB) $(WWWLIB) $(OTHERLIB)
|
|
|
|
|
|
$(USELIBDIR)/libwww.a :
|
|
@echo You must get and make the WWWLibrary product first! $(USELIBDIR)
|
|
(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
|
|
# Including obj directory UNLESS there is anything else in it
|
|
clean :
|
|
rm $(OBJ)/.created $(OBJ)/*.o
|
|
-rmdir $(OBJ)
|
|
|
|
# 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 /mnt/www0/pub/www/bin/$(WWW_MACH)
|
|
cp $(PROD)_$(VL) /mnt/www0/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)
|
|
touch asis
|
|
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)_$(VL)
|
|
rm -f /asis/specific/$(ASIS_MACH)/usr.local/bin/$(PROD)
|
|
ln -s $(PROD)_$(VL) \
|
|
/asis/specific/$(ASIS_MACH)/usr.local/bin/$(PROD)
|
|
|
|
/asis/share/usr.local/lib/WWW/default.html : $(DEFAULTS)/cern.html
|
|
- mkdir /asis/share/usr.local/lib/WWW
|
|
cp $(DEFAULTS)/*.html /asis/share/usr.local/lib/WWW
|
|
cp $(DEFAULTS)/cern.html /asis/share/usr.local/lib/WWW/default.html
|
|
cp $(DEFAULTS)/default.html /asis/share/usr.local/lib/WWW/top.html
|
|
|
|
# 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)/Arena
|
|
-mkdir $(WTMP)/Arena/$(WWW_MACH)
|
|
touch $(OE)
|
|
|
|
#
|
|
|
|
|
|
$(OBJ)/www.o : $(OE) $(ARENA)www.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)www.c
|
|
$(OBJ)/file.o : $(OE) $(ARENA)file.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)file.c
|
|
$(OBJ)/display.o : $(OE) $(ARENA)display.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)display.c
|
|
$(OBJ)/scrollbar.o : $(OE) $(ARENA)scrollbar.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)scrollbar.c
|
|
$(OBJ)/toolbar.o : $(OE) $(ARENA)toolbar.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)toolbar.c
|
|
$(OBJ)/entities.o : $(OE) $(ARENA)entities.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)entities.c
|
|
$(OBJ)/forms.o : $(OE) $(ARENA)forms.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)forms.c
|
|
$(OBJ)/status.o : $(OE) $(ARENA)status.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)status.c
|
|
$(OBJ)/html.o : $(OE) $(ARENA)html.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)html.c
|
|
$(OBJ)/parsehtml.o : $(OE) $(ARENA)parsehtml.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)parsehtml.c
|
|
$(OBJ)/http.o : $(OE) $(ARENA)http.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)http.c
|
|
$(OBJ)/cache.o : $(OE) $(ARENA)cache.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)cache.c
|
|
$(OBJ)/image.o : $(OE) $(ARENA)image.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)image.c
|
|
$(OBJ)/gif.o : $(OE) $(ARENA)gif.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)gif.c
|
|
$(OBJ)/bridge.o : $(OE) $(ARENA)bridge.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)bridge.c
|
|
$(OBJ)/strptime.o : $(OE) $(ARENA)strptime.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)strptime.c
|
|
$(OBJ)/mailcap.o : $(OE) $(ARENA)mailcap.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)mailcap.c
|
|
$(OBJ)/XGetHClrs.o : $(OE) $(ARENA)XGetHClrs.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)XGetHClrs.c
|
|
$(OBJ)/util.o : $(OE) $(ARENA)util.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)util.c
|
|
$(OBJ)/math.o : $(OE) $(ARENA)math.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)math.c
|
|
$(OBJ)/editor.o : $(OE) $(ARENA)editor.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)editor.c
|
|
$(OBJ)/icon.o : $(OE) $(ARENA)icon.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)icon.c
|
|
$(OBJ)/history.o : $(OE) $(ARENA)history.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)history.c
|
|
$(OBJ)/dither.o : $(OE) $(ARENA)dither.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)dither.c
|
|
$(OBJ)/jpeg.o : $(OE) $(ARENA)jpeg.c
|
|
$(CC) -c -o $@ $(CFLAGS2) -I$(JPEGDIR)/Implementation $(ARENA)jpeg.c
|
|
$(OBJ)/style.o : $(OE) $(ARENA)style.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)style.c
|
|
$(OBJ)/neweditor.o : $(OE) $(ARENA)neweditor.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)neweditor.c
|
|
$(OBJ)/popup.o : $(OE) $(ARENA)popup.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)popup.c
|
|
$(OBJ)/parsecommand.o : $(OE) $(ARENA)parsecommand.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)parsecommand.c
|
|
|
|
# $(OBJ)/skyblue.o : $(OE) $(ARENA)skyblue.c $(ARENA)skyblue.h
|
|
# $(CC) -c -o $@ $(CFLAGS2) $(ARENA)skyblue.c
|
|
# $(OBJ)/constraints.o : $(OE) $(ARENA)constraints.c $(ARENA)skyblue.h
|
|
# $(CC) -c -o $@ $(CFLAGS2) $(ARENA)constraints.c
|
|
|
|
$(OBJ)/x11.o : $(OE) $(ARENA)x11.c
|
|
$(CC) -c -o $@ $(CFLAGS2) $(ARENA)x11.c
|
|
$(OBJ)/png.o : $(OE) $(ARENA)png.c
|
|
$(CC) -c -o $@ $(CFLAGS2) -I$(PNGDIR)/Implementation -I$(ZLIBDIR)/Implementation $(ARENA)png.c
|
|
$(OBJ)/menu.o : $(OE) $(ARENA)menu.c
|
|
$(CC) -c -o $@ $(CFLAGS2) -I$(PNGDIR)/Implementation -I$(ZLIBDIR)/Implementation $(ARENA)menu.c
|
|
$(OBJ)/tools.o : $(OE) $(ARENA)tools.c
|
|
$(CC) -c -o $@ $(CFLAGS2) -I$(PNGDIR)/Implementation -I$(ZLIBDIR)/Implementation $(ARENA)tools.c
|
|
|
|
|
|
# W3 Source + documentation release
|
|
# ---------------------------------
|
|
|
|
distribute : /mnt/www0/pub/www/README.txt /mnt/www0/pub/www/Copyright.txt
|
|
(cd $(WWW)/.. && WWW=WWW ABS=`pwd`/ $(MAKE) $(MFLAGS) \
|
|
-f WWW/Arena/Implementation/CommonMakefile \
|
|
/mnt/www0/pub/www/src/WWWArena_$(VL).tar.Z)
|
|
(cd ../Implementation; cvs tag \
|
|
`sed -e 's/V. = /v/' Version.make | sed -e 's?\.?/?'` )
|
|
echo Distribution of Line Mode version $(VC) up to date.
|
|
|
|
# THIS MUST BE BUILT FROM THE DIRECTORY ABOVE WWW ! USE distribute above!
|
|
/mnt/www0/pub/www/src/WWWArena_$(VL).tar.Z : $(SOURCES) $(LMD)/line-mode-guide.txt
|
|
tar cf /mnt/www0/pub/www/src/WWWArena_$(VL).tar \
|
|
$(SOURCES) $(LMD)/line-mode-guide.txt \
|
|
$(WWW)/Arena/*/Makefile \
|
|
$(WWW)/Arena/vms/descrip.mms $(WWW)/Arena/vms/build_multinet.com \
|
|
$(WWW)/Arena/vms/setup.com
|
|
compress /mnt/www0/pub/www/src/WWWArena_$(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
|
|
/mnt/www0/pub/www/README.txt : $(WWW)/README.txt
|
|
cp $(WWW)/README.txt /mnt/www0/pub/www/README.txt
|
|
|
|
$(WWW)/Copyright.txt : $(WWW)/../Copyright.html
|
|
www -n -p66 http://info.cern.ch/hypertext/Copyright.html \
|
|
> $(WWW)/Copyright.txt
|
|
/mnt/www0/pub/www/Copyright.txt : $(WWW)/Copyright.txt
|
|
cp $? $@
|
|
|
|
# Line Mode 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 : /mnt/www0/pub/www/doc/line-mode-guide.txt
|
|
echo line mode browser guide exists.
|
|
|
|
/mnt/www0/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
|
|
|
|
|
|
|