Drop the old build system

This commit is contained in:
Fries 2022-04-28 18:40:08 -07:00
parent bdd58c27d9
commit f0729d199b
4 changed files with 0 additions and 959 deletions

400
INSTALL
View File

@ -1,400 +0,0 @@
=================================
Installation Notes: NCSA X Mosaic
=================================
=================
Table of Contents
=================
Section One: Introduction
How our Makefile works and what we would like from you...
Section Two: Step-by-Step
Four easy steps to X Mosaic.
Section Three: The Makefile.OS
How the Makefiles are set up and what means what.
Section Four: Disclaimer
If captured, we will disavow all knowledge...
=========================
Section One: Introduction
=========================
First you will need to edit the Makefile for your OS. The toplevel makefile
simply calls one of the specific makefiles located in the directory
"makefiles". Its purpose is to enable a quick way of using the correct
makefile for people who recompile Mosaic again and again. It also facillitates
adding a new platform. There are two ways to use the toplevel makefile: First
you can manually specify "make <OS>" where <OS> is one of the items listed
when you type "make help" or "make list" or you set the environment variable
"DEV_ARCH" (developer architecture) to one of the same items. Of course, this
assumes you have made the necessary adjustments to the makefile of your
choice. In the near future we intend to implement autoconf (GNU) which should
solve _everyone's_ problems.
=========================
Section Two: Step-by-Step
=========================
1) Edit "makefiles/Makefile.OS" (issue "make list" from toplevel to see
a list of supported OSs). See Section Three for more information.
2) Compile any external libraries you need (from what you selected in your
Makefile.OS.
3) Install Mosaic in your favorite thrid party directory.
4) Start up Mosaic and READ THE RELEASE NOTES! There have, no doubt, been
tremendous strides forward!
==============================
Section Three: The Makefile.OS
==============================
What I am going to do is simply include Makefile.solaris-24 and explain each
part. To save space, only the configurable section is included. My comments
are noted by:
:::
SWP
---
Comment
:::
----------------------------Makefile.solaris-24------------------------------
# Toplevel Makefile for NCSA Mosaic.
# You shouldn't need to touch any of the Makefiles in the various
# source subdirectories if you configure this Makefile correctly.
# If you need to make serious changes to get Mosaic to compile on your
# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
prereleaseflags = -DPRERELEASE
:::
SWP
---
The prereleaseflags variable should not be modified as it allows us to set the
correct version as well as dictating whether or not the comment card is
active.
:::
RANLIB = /bin/true
#### On non-SGI's, this should be ranlib.
# RANLIB = ranlib
:::
SWP
---
The RANLIB variable should be set according to whether or not your system
needs to have libraries ranlibed.
:::
#CC = cc
#### On Sun's, this should be gcc (ANSI required).
CC = gcc
:::
SWP
---
Set your compiler here. If you use something other than one of the two
listed, make it so, otherwise comment one or the other out.
:::
#### Linker Flags -- Primarily for linking static on linux-elf.
#ldflags = -static
ldflags =
:::
SWP
---
This is where you stick anything extra for linking. This will only affect the
final link of Mosaic (not building libraries).
:::
#### For a few files in the source, some compilers may need to be kicked
#### in K&R mode. E.g., on SGI's, -cckr does this.
# knrflag = -cckr
#### On most systems, no flag is needed.
knrflag =
:::
SWP
---
This does exactly what the comment above says. It is used on every compile.
:::
#### Random system configuration flags.
#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
#### For IBM AIX 3.2, do -D_BSD
#### For NeXT, do -DNEXT
#### For HP/UX, do -Aa -D_HPUX_SOURCE
#### For Dell SVR4, do -DSVR4
#### For Solaris, do -DSVR4 -DSOLARIS
#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
#### For Convex whatever, do -DCONVEX
#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
sysconfigflags = -DSOLARIS -DSVR4 -DMOTIF1_2 -DSOLARIS24
:::
SWP
---
This is used to pass in weird system flags...basically, if they aren't defined
or defined correctly for your system to not barf on the source code, add it
here. This is given to every compile line.
:::
#### System libraries.
# syslibs = -lPW -lsun -lmalloc
#### For AIX 3.2
# syslibs = -lPW -lbsd
#### For most other Motif platforms:
# syslibs = -lPW
#### For Sun's and Ultrix and HP and BSD/386:
# syslibs =
#### For Sun's with no DNS:
# syslibs = -lresolv
#### For SCO ODT:
# syslibs = -lPW -lsocket -lmalloc
#### For Dell SVR4:
# syslibs = -lnsl -lsocket -lc -lucb
#### For Solaris (2.x) --nsl does not link correctly staticly.
syslibs = -lnsl /usr/lib/libsocket.a /usr/ccs/lib/libgen.a
#### For Motorola SVR4:
# syslibs = -lnsl -lsocket -lgen
:::
SWP
---
These are any additional libraries needed (system libs only).
:::
#### X include file locations -- if your platform puts the X include
#### files in a strange place, set this variable appropriately. Else
#### don't worry about it.
#### HP X11R4 version:
# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
#### HP X11R5 version:
# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
#### NeXT version:
# xinc = -I/usr/include/X11
#### BSD/386
# xinc = -I/usr/X11/include
#### Solaris 2.x (Patched X11R5 and Motif libs)
xinc = -I/usr/openwin/include -I/usr/dt/include
:::
SWP
---
This is where you specify where you have installed your X libraries. Some
systems have everything off of /usr/lib, some are not so lucky. If you
are compiling and you get an error of "can't find include file XXX.h" it is
more than likely a problem here (or if you don't have a particular lib
installed.
:::
#### X library locations.
# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
#### For Sun's (at least running stock X/Motif as installed on our machines):
# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
#### For HP-UX 8.00:
# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
#### For HP-UX 9.01: The X11R5 libraries are here on our systems
# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
#### For NeXT:
# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
#### For Dell SVR4:
# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
#### For Solaris (2.x) (Use static to go from machine to machine)
xlibs = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/dt/lib -lXm
xlibs += /usr/openwin/lib/libXmu.a /usr/openwin/lib/libXt.a
xlibs += /usr/openwin/lib/libXext.a -lX11
xlibs += /usr/lib/libm.a
#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
# xlibs = -lXtXm_s -lXmu -lX11_s
#### For nearly everyone else:
# xlibs = -lXm -lXmu -lXt -lX11
#### For BSD/386:
# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
#### For Motorola SVR4:
# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
:::
SWP
---
This is where you specify exactly what X libraries to link in and in what
order (Yes, it matters. List the libraries in dependent order.).
:::
#### DTM AND HDF SUPPORT; READ CAREFULLY
#### If you want to compile with DTM and HDF support, you should leave
#### the following lines uncommented and make sure you have a copy of
#### HDF 3.3 (r1 or later) installed and ready. You can find HDF on
#### ftp.ncsa.uiuc.edu in /HDF.
#### If you do not want to compile with DTM and HDF support, comment
#### the following lines out. (If you are compiling from source for
#### the first time, you should probably not bother with HDF and DTM
#### support.)
#### dtmmachtype needs to be set to one of the following:
#### sun, sgi, dec, ibm, next, cray, convex
#### If your platform is not one of the above, then either do not compile
#### with HDF/DTM support or try hacking libdtm/makefile.
dtmmachtype = solaris
dtmdirs = libdtm libnet
dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
dtmflags = -DHAVE_DTM -I.. -I../libnet
hdfdir = /hdf2/install/solaris
hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
:::
SWP
---
This is one of those external libraries you will need to obtain if you want
HDF support (there is no real purpose for building the dtm libs unless you
use HDF. If you are not going to use it, comment it out.
:::
#### PNG SUPPORT
#### For inline PNG support, the following should be defined:
#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
pngdir = /xdev/mosaic/libpng/solaris-24
pnglibdir = $(pngdir)/lib
pngincludedir = $(pngdir)/include
pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
pngflags = -I$(pngincludedir) -DHAVE_PNG
:::
SWP
---
This is one of those external libraries you will need to obtain if you want
PNG support. Comment it out if you aren't going to use it.
:::
#### JPEG SUPPORT
#### For inline JPEG support, the following should be defined:
#### The library used is Independent JPEG Group (IJG's) 5.0a.
jpegdir = /xdev/mosaic/libjpeg/solaris-24
jpeglibs = $(jpegdir)/lib/libjpeg.a
jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
:::
SWP
---
This is one of those external libraries you will need to obtain if you want
JPEG support. Comment it out if you aren't going to use it.
:::
#### KERBEROS SUPPORT
####
#### If you want Mosaic to support Kerberos authentication, set the
#### following flags appropriately. You can support Kerberos V4 and/or V5,
#### although it's most likely that your realm supports one or the other.
#### To enable DES-encryption of HTTP messages via Kerberos key exchange,
#### define the KRB-ENCRYPT flag.
##krb4dir = /usr/athena
#krb4dir = /xdev/mosaic/libkrb4/solaris-24
#krb4libs = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
#krb4flags = -DKRB4 -I$(krb4dir)/include
##krb5dir = /krb5
#krb5dir = /xdev/mosaic/libkrb5/solaris-24
#krb5libs = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
#Do not comment out.
krbflags = $(krb4flags) $(krb5flags)
krblibs = $(krb4libs) $(krb5libs)
:::
SWP
---
This is one of those external libraries you will need to obtain if you want
KERBEROS 4 or 5 (you can have both) support. If you do not want to use it,
comment out the first two groups, but not the group that expressly tells you
to leave it alone.
:::
#### DIRECT WAIS SUPPORT
#### If you want to have Mosaic be able to communicate directly with
#### WAIS servers, do set the following flags appropriately. We
#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
#### WAIS distributions may work but we have not tested them with
#### Mosaic. freeWAIS 0.5 can currently (Sept.1995) be found at
#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS
#### If you do not wish to link to the WAIS libraries, then comment
#### the following lines out. Mosaic will then communicate with WAIS
#### servers via a HTTP gateway.
#### -lm is required for freeWAIS 0.5, as ceil() is used.
waisroot = /xdev/mosaic/freeWAIS/solaris24
waisflags = -DDIRECT_WAIS -I$(waisroot)/include
waislibdir = $(waisroot)/bin
waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
:::
SWP
---
This is one of those external libraries you will need to obtain if you want
WAIS support. Comment it out if you don't want it.
:::
#### Customization flags:
#### . If you want Mosaic to come up with monochrome colors by default,
#### use -DMONO_DEFAULT
#### . If you want to define the default Mosaic home page, set
#### -DHOME_PAGE_DEFAULT=\\\"url\\\"
#### . If you want to define the default Mosaic documentation directory
#### (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
#### . Other things you can define are spelled out in src/mosaic.h.
customflags =
:::
SWP
---
This is the section which will set up various minor things in Mosaic.
:::
# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
---------------------------Makefile.solaris-24--------------------------------
And that should be all you need to know about our Makefiles. Again, if you
make modifications to it for support on your OS, please send in patches so
we can support your platform.
========================
Section Four: Disclaimer
========================
The Makefiles provided are done so with the following intentions:
o They are used to compile the Mosaic binaries that NCSA provides.
o They are meant to be used as _guidelines_ for others who wish
to compile Mosaic for themselves.
o They do _not_ compile all of the necessary libraries.
o They _will_ require editing to work for your system. Each config-
urable section explains what it is and what it expects.
o They are _not_ guarunteed to work.
Note that the file "Makefile" is now simply a mechanism for calling the
correct Makefile. This is due in large part to the finger
of Tom Lane who very pointedly pointed out that if it does not compile Mosaic
for all of the platforms, it shouldn't be there! No, this is not intended as
a slight to Tom...we simply had not thought it through.
Another note...the 2.8 distribution tree will be drastically changing. Do not
expect patches for 2.7x to work for 2.8x. We will be moving the libraries
out of the distribution tree and into a "library" distribution along with
pointers to completely external libs (jpeg, png, zlib, etc). Since we have
these libs in binary form, we will probably distribute a "binary_libs" archive
of all the libs we build with for each platform (for those who can't get the
lib to build or simply don't care to take the time, but still want to play
with the source to Mosaic).
The last note is for future reference. As a side project we have been playing
with autoconf (ftp://prep.ai.mit.edu/pub/gnu). Please take into
account that these are side projects which would certainly make life easy,
but since these Makefiles suffice for us it is our intention to focus our
efforts on more important features. HOWEVER, if someone out there in the
great space wishes to perform this feat for us, we would gladly accept.
Scott Powers spowers@ncsa.uiuc.edu \ The N.C.S.A. X Mosaic
Paul Bleisch pbleisch@ncsa.uiuc.edu \ Development Team
Dan Pape dpape@ncsa.uiuc.edu >
Tommy Reilly tpreilly@ncsa.uiuc.edu / Comments? Suggestions? Problems?
Brian Swetland swetland@ncsa.uiuc.edu/ mosaic-x@ncsa.uiuc.edu

186
Makefile
View File

@ -1,186 +0,0 @@
##
## Toplevel Makefile for all Makefiles
##
##
## Scott Powers
##
all: dev_$(DEV_ARCH)
list: dev_
help: dev_
dev_::
@echo "You must specify one of the following or set the environment variable"
@echo "[DEV_ARCH] to one of the following:"
@echo " alpha -- DEC Alpha AXP running OSF/1"
@echo " bsdi -- x86 running BSDI BSD/OS 2.1"
@echo " dec -- DEC 2100 running Ultrix 4.3"
@echo " hp -- HP 9000/735 running HP-UX A.09.01"
@echo " ibm -- IBM RS6000 running AIX 4.4 BSD"
@echo " indy -- SGI Indy running IRIX 5.3"
@echo " linux -- x86 running Linux 1.2.13 DYNAMIC"
@echo " linux-static -- x86 running Linux 1.2.13 ALL STATIC"
@echo " linux-static-motif -- x86 running Linux 1.2.13 STATIC MOTIF"
@echo " sco -- x86 running SCO System V 3.2"
@echo " sgi -- SGI Iris running IRIS 4.0.2"
@echo " solaris-23 -- SPARCstation 20 running Solaris 2.3"
@echo " solaris-24 -- SPARCstation 20 running Solaris 2.4"
@echo " solaris-24-x86 -- x86 running Solaris 2.4 for x86"
@echo " sun -- SPARCserver 690MP running SunOS 4.1.3"
@echo " sun-lresolv -- SPARCserver 690MP running SunOS 4.1.3"
@echo " "
@echo "To make a Purify or Quantify version of Mosaic, put a 'p_' or"
@echo " 'q_' in front of the platform."
@echo "If your OS is not listed, you will need to copy one of the"
@echo " the Makefiles.OS in the 'makefiles' directory, edit it for"
@echo " your system, edit this Makefile to add your system, compile,"
@echo " and send in your changes to: mosaic-x@ncsa.uiuc.edu."
purifyd:
$(MAKE) p_$(DEV_ARCH)
quantifyd:
$(MAKE) q_$(DEV_ARCH)
rm_and_touch:
@rm -f config.h
@touch config.h
dev_alpha: rm_and_touch alpha
alpha: rm_and_touch
$(MAKE) -f makefiles/Makefile.alpha DEV_ARCH=alpha
p_alpha: rm_and_touch
$(MAKE) -f makefiles/Makefile.alpha purifyd DEV_ARCH=alpha
q_alpha: rm_and_touch
$(MAKE) -f makefiles/Makefile.alpha quantifyd DEV_ARCH=alpha
dev_bsdi: rm_and_touch bsdi
bsdi: rm_and_touch
$(MAKE) -f makefiles/Makefile.bsdi DEV_ARCH=bsdi
p_bsdi: rm_and_touch
$(MAKE) -f makefiles/Makefile.bsdi purifyd DEV_ARCH=bsdi
q_bsdi: rm_and_touch
$(MAKE) -f makefiles/Makefile.bsdi quantifyd DEV_ARCH=bsdi
dev_dec: rm_and_touch dec
dec: rm_and_touch
$(MAKE) -f makefiles/Makefile.dec DEV_ARCH=dec
p_dec: rm_and_touch
$(MAKE) -f makefiles/Makefile.dec purifyd DEV_ARCH=dec
q_dec: rm_and_touch
$(MAKE) -f makefiles/Makefile.dec quantifyd DEV_ARCH=dec
dev_hp: rm_and_touch hp
hp: rm_and_touch
$(MAKE) -f makefiles/Makefile.hp DEV_ARCH=hp
p_hp: rm_and_touch
$(MAKE) -f makefiles/Makefile.hp purifyd DEV_ARCH=hp
q_hp: rm_and_touch
$(MAKE) -f makefiles/Makefile.hp quantifyd DEV_ARCH=hp
dev_ibm: rm_and_touch ibm
ibm: rm_and_touch
$(MAKE) -f makefiles/Makefile.ibm DEV_ARCH=ibm
p_ibm: rm_and_touch
$(MAKE) -f makefiles/Makefile.ibm purifyd DEV_ARCH=ibm
q_ibm: rm_and_touch
$(MAKE) -f makefiles/Makefile.ibm quantifyd DEV_ARCH=ibm
dev_indy: rm_and_touch indy
indy: rm_and_touch
$(MAKE) -f makefiles/Makefile.indy DEV_ARCH=indy
p_indy: rm_and_touch
$(MAKE) -f makefiles/Makefile.indy purifyd DEV_ARCH=indy
q_indy: rm_and_touch
$(MAKE) -f makefiles/Makefile.indy quantifyd DEV_ARCH=indy
dev_linux: rm_and_touch linux
linux: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux DEV_ARCH=linux
p_linux: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux purifyd DEV_ARCH=linux
q_linux: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux quantifyd DEV_ARCH=linux
dev_linux_static: rm_and_touch linux_static
linux_static: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux staticd DEV_ARCH=linux
p_linux_static: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux p_staticd DEV_ARCH=linux
q_linux_static: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux q_staticd DEV_ARCH=linux
dev_linux_static_motif: rm_and_touch linux_static_motif
linux_static_motif: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux static_motifd DEV_ARCH=linux
p_linux_static_motif: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux p_static_motifd DEV_ARCH=linux
q_linux_static_motif: rm_and_touch
$(MAKE) -f makefiles/Makefile.linux q_static_motifd DEV_ARCH=linux
dev_sco: rm_and_touch sco
sco: rm_and_touch
$(MAKE) -f makefiles/Makefile.sco DEV_ARCH=sco
p_sco: rm_and_touch
$(MAKE) -f makefiles/Makefile.sco purifyd DEV_ARCH=sco
q_sco: rm_and_touch
$(MAKE) -f makefiles/Makefile.sco quantifyd DEV_ARCH=sco
dev_sgi: rm_and_touch sgi
sgi: rm_and_touch
$(MAKE) -f makefiles/Makefile.sgi DEV_ARCH=sgi
p_sgi: rm_and_touch
$(MAKE) -f makefiles/Makefile.sgi purifyd DEV_ARCH=sgi
q_sgi: rm_and_touch
$(MAKE) -f makefiles/Makefile.sgi quantifyd DEV_ARCH=sgi
dev_solaris-23: rm_and_touch solaris-23
solaris-23: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-23 DEV_ARCH=solaris-23
p_solaris-23: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-23 purifyd DEV_ARCH=solaris-23
q_solaris-23: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-23 quantifyd DEV_ARCH=solaris-23
dev_solaris-24: rm_and_touch solaris-24
solaris-24: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-24 DEV_ARCH=solaris-24
p_solaris-24: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-24 purifyd DEV_ARCH=solaris-24
q_solaris-24: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-24 quantifyd DEV_ARCH=solaris-24
dev_solaris-24-x86: rm_and_touch solaris-24-x86
solaris-24-x86: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-24-x86 DEV_ARCH=solaris-24-x86
p_solaris-24-x86: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-24-x86 purifyd DEV_ARCH=solaris-24-x86
q_solaris-24-x86: rm_and_touch
$(MAKE) -f makefiles/Makefile.solaris-24-x86 quantifyd DEV_ARCH=solaris-24-x86
dev_sun: rm_and_touch sun
sun: rm_and_touch
$(MAKE) -f makefiles/Makefile.sun DEV_ARCH=sun
p_sun: rm_and_touch
$(MAKE) -f makefiles/Makefile.sun purifyd DEV_ARCH=sun
q_sun: rm_and_touch
$(MAKE) -f makefiles/Makefile.sun quantifyd DEV_ARCH=sun
dev_sun-lresolv: rm_and_touch sun-lresolv
sun-lresolv: rm_and_touch
$(MAKE) -f makefiles/Makefile.sun-lresolv DEV_ARCH=sun-lresolv
p_sun-lresolv: rm_and_touch
$(MAKE) -f makefiles/Makefile.sun-lresolv purifyd DEV_ARCH=sun-lresolv
q_sun-lresolv: rm_and_touch
$(MAKE) -f makefiles/Makefile.sun-lresolv quantifyd DEV_ARCH=sun-lresolv
clean:
cd libXmx; $(MAKE) clean
cd libdtm; $(MAKE) clean
cd libhtmlw; $(MAKE) clean
cd libnet; $(MAKE) clean
cd libnut; $(MAKE) clean
cd libwww2; $(MAKE) clean
cd src; $(MAKE) clean MOSAIC="Mosaic"
@echo "Done cleaning..."

View File

@ -1,343 +0,0 @@
# Toplevel Makefile for NCSA Mosaic.
# You shouldn't need to touch any of the Makefiles in the various
# subdirectories if you configure this Makefile correctly.
# If you need to make serious changes to get Mosaic to compile on your
# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
#prereleaseflags = -DPRERELEASE
prereleaseflags = -DPRERELEASE
#RANLIB = /bin/true
#### On non-SGI's, this should be ranlib.
RANLIB = ranlib
#CC = cc
#### On Sun's, this should be gcc (ANSI required).
CC = gcc
#### Linker Flags
ldflags =
#### For a few files in the source, some compilers may need to be kicked
#### in K&R mode. E.g., on SGI's, -cckr does this.
#knrflag = -cckr
#### On most systems, no flag is needed.
knrflag =
#### Random system configuration flags.
#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
#### For IBM AIX 3.2, do -D_BSD
#### For NeXT, do -DNEXT
#### For HP/UX, do -Aa -D_HPUX_SOURCE
#### For Dell SVR4, do -DSVR4
#### For Solaris, do -DSVR4
#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
#### For Convex whatever, do -DCONVEX
#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
sysconfigflags = -DMOTIF1_2 -DLINUX
#### System libraries.
# syslibs = -lPW -lsun -lmalloc
#### For AIX 3.2
# syslibs = -lPW -lbsd
#### For most other Motif platforms:
# syslibs = -lPW
#### For Sun's and Ultrix and HP and BSD/386:
# syslibs =
#### For Sun's with no DNS:
# syslibs = -lresolv
#### For SCO ODT:
# syslibs = -lPW -lsocket -lmalloc
#### For Dell SVR4:
# syslibs = -lnsl -lsocket -lc -lucb
#### For Solaris (?)
# syslibs = -lnsl -lsocket -lgen
#### For Motorola SVR4:
# syslibs = -lnsl -lsocket -lgen
syslibs = -lc
#### X include file locations -- if your platform puts the X include
#### files in a strange place, set this variable appropriately. Else
#### don't worry about it.
#### HP X11R4 version:
# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
#### HP X11R5 version:
# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
#### NeXT version:
# xinc = -I/usr/include/X11
#### BSD/386
# xinc = -I/usr/X11/include
xinc = -I/usr/X11R6/include
#### X library locations.
# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
#### For Sun's (at least running stock X/Motif as installed on our machines):
# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm #### For HP-UX 8.00:
# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
#### For HP-UX 9.01: The X11R5 libraries are here on our systems
# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
#### For NeXT:
# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
#### For Dell SVR4:
# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
#### For Solaris (?)
# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
# xlibs = -lXtXm_s -lXmu -lX11_s
#### For nearly everyone else:
# xlibs = -lXm -lXmu -lXt -lX11
#### For Linux -- You must set "LD_LIBRARY_PATH" to include the path to
#### your X libs, or some may not be found by the loader. Check the
#### loader with "ldd Mosaic" after you build.
xlibs = -L/usr/X11R6/lib -lXext -lXpm -lXm -lXmu -lXt -lX11 -lICE -lSM
static_motif_xlibs = -L/usr/X11R6/lib -lXext -lXpm /usr/X11R6/lib/libXm.a -lXmu -lXt -lX11 -lICE -lSM
static_xlibs = /usr/X11R6/lib/libXpm.a /usr/X11R6/lib/libXm.a /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXt.a /usr/X11R6/lib/libXext.a /usr/X11R6/lib/libX11.a /usr/X11R6/lib/libSM.a /usr/X11R6/lib/libICE.a
#### For BSD/386:
# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
#### For Motorola SVR4:
# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
#### DTM AND HDF SUPPORT; READ CAREFULLY
#### If you want to compile with DTM and HDF support, you should leave
#### the following lines uncommented and make sure you have a copy of
#### HDF 3.3 (r1 or later) installed and ready. You can find HDF on
#### ftp.ncsa.uiuc.edu in /HDF.
#### If you do not want to compile with DTM and HDF support, comment
#### the following lines out. (If you are compiling from source for
#### the first time, you should probably not bother with HDF and DTM
#### support.)
#### dtmmachtype needs to be set to one of the following:
#### sun, sgi, dec, ibm, next, cray, convex
#### If your platform is not one of the above, then either do not compile
#### with HDF/DTM support or try hacking libdtm/makefile.
#dtmmachtype = sun
#dtmdirs = libdtm libnet
#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
#dtmflags = -DHAVE_DTM -I.. -I../libnet
#hdfdir = /hdf2/install/linux
#hdflibs = $(hdfdir)/lib/libnetcdf.a $(hdfdir)/lib/libdf.a
#hdfflags = -DHAVE_HDF -I$(hdfdir)/include
#### PNG SUPPORT
#### For inline PNG support, the following should be defined:
#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
# SAM pngdir = /xdev/mosaic/libpng/linux
# SAM pnglibdir = $(pngdir)/lib
# SAM pngincludedir = $(pngdir)/include
# SAM pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a /usr/lib/libm.a
# SAM pngflags = -I$(pngincludedir) -DHAVE_PNG
pnglibs = -lpng -lz -lm
pngflags = -DHAVE_PNG
#### JPEG SUPPORT
#### For inline JPEG support, the following should be defined:
#### The library used is Independent JPEG Group (IJG's) 5.0a.
# SAM jpegdir = /xdev/mosaic/libjpeg/linux
# SAM jpeglibs = $(jpegdir)/lib/libjpeg.a
#SAM jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
jpeglibs = -ljpeg
jpegflags = -DHAVE_JPEG
#### KERBEROS SUPPORT
####
#### If you want Mosaic to support Kerberos authentication, set the
#### following flags appropriately. You can support Kerberos V4 and/or V5,
#### although it's most likely that your realm supports one or the other.
#### To enable DES-encryption of HTTP messages via Kerberos key exchange,
#### define the KRB-ENCRYPT flag.
##krb4dir = /usr/athena
#krb4dir = /xdev/mosaic/libkrb4/linux
#krb4libs = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
#krb4flags = -DKRB4 -I$(krb4dir)/include
##krb5dir = /krb5
#krb5dir = /xdev/mosaic/libkrb5/linux
#krb5libs = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
#Do not comment out.
krbflags = $(krb4flags) $(krb5flags)
krblibs = $(krb4libs) $(krb5libs)
#### DIRECT WAIS SUPPORT
#### If you want to have Mosaic be able to communicate directly with
#### WAIS servers, do set the following flags appropriately. We
#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
#### WAIS distributions may work but we have not tested them with
#### Mosaic. freeWAIS 0.5 can currently (Sept.1995) be found at
#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS
#### If you do not wish to link to the WAIS libraries, then comment
#### the following lines out. Mosaic will then communicate with WAIS
#### servers via a HTTP gateway.
#### -lm is required for freeWAIS 0.5, as ceil() is used.
#waisroot = /xdev/mosaic/freeWAIS/linux
#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
#waislibdir = $(waisroot)/bin
#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
#### Customization flags:
#### . If you want Mosaic to come up with monochrome colors by default,
#### use -DMONO_DEFAULT
#### . If you want to define the default Mosaic home page, set
#### -DHOME_PAGE_DEFAULT=\\\"url\\\"
#### . If you want to define the default Mosaic documentation directory
#### (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
#### . Other things you can define are spelled out in src/mosaic.h.
customflags =
########
########
#### NOTE! If you get errors because of the following line, it means
#### you are NOT using GNUs Make program. The following line is basically
#### for the developers at NCSA to customize the build process without
#### modifying the Makefiles, so you may comment it out without harm.
########
########
-include local-defines/$(DEV_ARCH)
# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
CFLAGS = -fcommon -g $(sysconfigflags) $(prereleaseflags)
# Don't worry about these -- for development purposes only.
PURIFY = purify
QUANTIFY = quantify
default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
@echo \*\*\* Welcome to NCSA Mosaic.
purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static
@echo \*\*\* Welcome to NCSA Mosaic linked static.
static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-motif
@echo \*\*\* Welcome to NCSA Mosaic linked static for motif.
p_staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-purifyd
@echo \*\*\* Welcome to Purify'd NCSA Mosaic linked static.
p_static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-motif-purifyd
@echo \*\*\* Welcome to Purify'd NCSA Mosaic linked static for motif.
q_staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-quantifyd
@echo \*\*\* Welcome to Quantify'd NCSA Mosaic linked static.
q_static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-motif-quantifyd
@echo \*\*\* Welcome to Quantify'd NCSA Mosaic linked static for motif.
libXmx::
@echo --- Building libXmx
cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
libhtmlw::
@echo --- Building libhtmlw
cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
libwww2::
@echo --- Building libwww2
cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
libnut::
@echo --- Building libnut
cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
src::
@echo --- Building src
cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
src-purifyd::
@echo --- Building Purify'd src
cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
src-quantifyd::
@echo --- Building Quantify'd src
cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
src-static::
@echo --- Building src-static
cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
src-static-motif::
@echo --- Building src-static-motif
cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
src-static-purifyd::
@echo --- Building src-static-purifyd
cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
src-static-motif-purifyd::
@echo --- Building src-static-motif-purifyd
cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
src-static-quantifyd::
@echo --- Building src-static-quantifyd
cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
src-static-motif-quantifyd::
@echo --- Building src-static-motif-quantifyd
cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
libnet::
@echo --- Building libnet
cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
libdtm::
@echo --- Building libdtm
cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
clean:
cd libXmx; $(MAKE) $@
cd libhtmlw; $(MAKE) $@
cd libwww2; $(MAKE) $@
cd src; $(MAKE) MOSAIC="Mosaic" $@
cd libnet; $(MAKE) $@
cd libdtm; $(MAKE) $@
cd libnut; $(MAKE) $@
wclean:
cd libhtmlw; $(MAKE) $@
cd src; $(MAKE) MOSAIC="Mosaic" $@
commit:
cvs commit
update:
cvs update
countlines:
wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
replicate:
cp Makefile Makefile.sun
cp Makefile Makefile.ibm
cp Makefile Makefile.dec
cp Makefile Makefile.alpha
cp Makefile Makefile.hp
prune:
mv Makefile.sun Makefile.sun.old
mv Makefile.ibm Makefile.ibm.old
mv Makefile.dec Makefile.dec.old
mv Makefile.alpha Makefile.alpha.old
mv Makefile.hp Makefile.hp.old

View File

@ -1,30 +0,0 @@
#! /bin/sh
# A script to store configuration variables for Mosaic's external
# software packages
#
# In all cases configure will check the dir you supply for all libs and
# header files as well the lib and include subdirectories of that directory.
# So if you do things right and install everything in a place like
# /usr/local/include and /usr/local/lib
# you can just enter /usr/local (the default) for every field.
#
# Where to find jpeg stuff
jpegdir=/xdev/mosaic/libjpeg/linux
# Where to find libz (don't need any headers)
zdir=/xdev/mosaic/libpng/linux
# Where to find png stuff
pngdir=/xdev/mosaic/libpng/linux
# Where to find wais stuff
waisdir=/xdev/mosaic/freeWAIS/linux
# Where to find hdf stuff
hdfdir=
# Use DTM? (yes or no)
with_dtm=no
echo ./configure --with-jpegdir=$jpegdir --with-zdir=${zdir} --with-pngdir=$pngdir --with-wais=$waisdir --with-hdfdir=$hdfdir --enable-dtm=$with_dtm $*
./configure --with-jpegdir=$jpegdir --with-zdir=${zdir} --with-pngdir=$pngdir --with-wais=$waisdir --with-hdfdir=$hdfdir --enable-dtm=$with_dtm $*