##makefile for lynx
SHELL = /bin/sh
@SET_MAKE@
prefix = @prefix@
exec_prefix = @exec_prefix@
srcdir = @srcdir@
VPATH = $(srcdir)
CC = @CC@
CPPOPTS = @DEFS@ @CPPFLAGS@
CFLAGS = $(CPPOPTS) @CFLAGS@
LIBS = @LIBS@
##this is the name of the directory the lynx source code is in.
##(e.g. lynx2-7-1, not the full path)
lynxdir= lynx2-7-1
##this is the name of the directory the lynx source code is in.
##(e.g. lynx2-7, not the full path)
lynxname= lynx2-7-1
## Where you want lynx installed
bindir= @bindir@
## Where you want the lynx man file installed
mandir= @mandir@/man1
## Where you want the lynx.cfg file installed
libdir= @libdir@
installbin= @INSTALL@ -c -s -m 755
installdoc= @INSTALL@ -c -m 444
##set the relative location of the WWW library Implementation directory,
##from this directory
##do not set this to be an absolute path!!!
WWWINC= WWW/Library/Implementation
# !!!!!!!!!!! SUN resolv LIBRARY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# To include resolv in the LIBS="" list for SUN 3, 4 or Solaris OS,
# point RESOLVLIB to that library. You need this if you get the message
# "Alert!: Unable to connect to remote host" whenever you try to
# access a host other than localhost and have made Lynx without it.
# See the PROBLEMS file for more information.
#RESOLVLIB= -lresolv
# !!!!!!!!!!! Alternate socket functions for SOCKS !!!!!!!!!!!!!!!!!!
# To make a SOCKSified lynx, include -DSOCKS in your SITE_LYDEFS and
# SITE_DEFS, below, and point SOCKSLIB to your SOCKS library. Note
# that you may have problems accessing FTP servers. Also, instead of
# SOCKSifying lynx for use behind a firewall, you are better off if
# you make it normally, and set it up to use a proxy server. You can
# SOCKSify the proxy server, and it will handle all clients, not just
# Lynx (see the INSTALLATION file in this distribution). If your SOCKS
# server was compiled to use the short version of Rbind, also include
# -DSHORTENED_RBIND in your SITE_LYDEFS and SITE_DEFS. If you do
# SOCKSify lynx, you can turn off SOCKS proxy usage via a -nosocks
# command line switch.
#SOCKSLIB= /usr/local/lib/libsocks.a
# !!!!!!!!!!!!! DIRECT WAIS ACCESS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# If you are adding direct wais access you must fill in the
# location of wais.a, client.a and the standard math library, libm.a.
# You can pick up the most current freeWAIS sources from
# ftp://ftp.cnidr.org/pub/NIDR.tools/freewais
# If you are using freeWAIS-0.202 or older, include -DDECLARE_WAIS_LOGFILES
# in your SITE_DEFS.
# Plese put an ABSOLUTE address here if you want it to work!
#WAISLIB= ../../freeWAIS-0.202/bin/client.a ../../freeWAIS-0.202/bin/wais.a /usr/lib/libm.a
# !!!!!!!!!!!!! SLANG Support (For color version of Lynx). !!!!!!!!!!!!!!!!
# The slang library is an alternative to curses, developed by John E. Davis
# (davis@space.mit.edu). Version 0.99-27 or higher is available from
# ftp://space.mit.edu/pub/davis
# It provides color support for Lynx.
# !!!!!!!!!!! Lynx Local Directory Listing Formats !!!!!!!!!!!!!!!!!!!!!!!!!!!
# Lynx supports "ls -l" format for local directory listings on Unix if the
# LONG_LIST compilation symbol is defined, and includes links to the parent
# directory if the compilation symbol NO_PARENT_DIR_REFERENCE is not defined.
# If "ls -l" format is enabled here, the listing format can be modifed via a
# LIST_FORMAT symbol in userdefs.h and/or lynx.cfg. Otherwise, only file and
# directory names will be included in the listings.
#
# If you are not including DirEd Support (see below) and wish to disable
# "ls -l" emulation in local directory listings, prepend "#" to this line:
DIR_LONG_LIST = -DLONG_LIST
#
# To disable "Up to" parent links in local directory listings,
# remove "#" from this line:
#DIR_PARENT = -DNO_PARENT_DIR_REFERENCE
# !!!!!!!!!!! Lynx DirEd Support !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# Lynx now supports directory editing (DirEd) for local directories.
# This allows users to do things like view, copy, & remove files using
# a tabular display of the directory & single-keystroke commands instead
# of using the command line. From inside Lynx, the keystroke sequence
# "g.<enter>" switches Lynx to DirEd mode on the current directory.
# If you're building a Lynx that is to be used as a kind of restricted
# shell for users who do not have access to the command line & should
# not have access to equivalent capabilities, you need to disable DirEd
# here. You can also disable some DirEd functions while allowing others.
#
# DirEd functions are disabled by inserting or removing "#" signs at
# the beginnings of lines that contain variable assignments here.
# All DirEd functions that were enabled on compilation can be disabled
# or modified at run time via DIRED_MENU symbols in lynx.cfg.
#
# To disable DirEd completely, prepend "#" to this line:
DIRED_SUPPORT = -DDIRED_SUPPORT
#(If you have disabled DirEd completely, you can ignore all the
#other DirEd stuff here.)
#
# To prevent DirEd from extracting files from an archive file,
# remove "#" from this line:
#DIRED_ARCHIVE = -DARCHIVE_ONLY
#
# To prevent DirEd from using the tar program, prepend "#" to this line:
DIRED_TAR = -DOK_TAR
#
# To prevent DirEd from using zip & unzip, prepend "#" to this line:
DIRED_ZIP = -DOK_ZIP
#
# To prevent DirEd from using gzip & gunzip, prepend "#" to this line:
DIRED_GZIP = -DOK_GZIP
#
# To prevent DirEd from using uudecode, prepend "#" to this line:
DIRED_UUDECODE = -DOK_UUDECODE
#
# Lynx users can customize their keymaps by creating private versions
# of lynx.cfg & modifying them, overriding the default keymap.
# To prevent DirEd keymap overriding, prepend "#" to this line:
DIRED_OVERRIDE = -DOK_OVERRIDE
#
# To prevent DirEd from changing the permissions on directories or files
# (i.e. from doing what the Unix chmod command or the DOS attrib command
# does), prepend "#" to this line:
DIRED_PERMIT = -DOK_PERMIT
#
# If you do not comment out the DIRED_PERMIT line, but want to restrict
# changes of the eXecute permission to directories (i.e., not allow it to
# be changed for files), remove "#" from this line (if you don't remove it,
# you can still block changes of the eXecute permission for files but not
# directories via the "change_exec_perms" command line restriction):
#DIRED_NOXPERMS = -DNO_CHANGE_EXECUTE_PERMS
# !!!!!!!!!!! Lynx Wishful Thinking !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# If you are on one of the supported systems (see all: list below)
# you should not have to modify anything from here down (but check
# it out for your system, anyway)!
# If you are not, then you should edit the generic: entry below.
#
# If you need ncurses, the latest version can always be found
# in ftp://ftp.clark.net/pub/dickey/ncurses/
# or ftp://ftp.netcom.com/pub/zm/zmbenhal/ncurses/
#
# Also be sure to check out the compilation symbols in userdefs.h
# before building Lynx!
all:
@echo
@echo "Please run make with one of the following arguments"
@echo "clix -- for Intergraph CLIX"
@echo "generic -- for generic UNIX"
@echo "ptx -- for Sequent's DYNIX/ptx, current version"
@echo "ptx2 -- for Sequent's DYNIX/ptx, version 2"
@echo "sco -- for SCO machines"
@echo "sco5 -- for SCO OpenServer Release 5 machines"
@echo "snake2 -- for HP-UX gte 9.01 (gcc)"
@echo "snake3 -- for HP-UX (purchased compiler)"
@echo "umaxv -- for Encore's UMAXV (SVR3.x) "
@echo "clean -- removes all '.o' and 'core' files"
@echo "tar -- runs clean, removes executable, and tars the whole directory"
@echo "compress -- runs tar, then compresses the result"
@echo "zip -- runs clean, removes executable, and zips the whole directory"
@echo
DIR_LYDEFS = $(DIRED_SUPPORT) $(DIR_LONG_LIST) $(DIR_PARENT)
DIR_DEFS = $(DIRED_SUPPORT) $(DIRED_ARCHIVE) $(DIRED_TAR) $(DIRED_ZIP) $(DIRED_GZIP) $(DIRED_UUDECODE) $(DIRED_OVERRIDE) $(DIRED_PERMIT) $(DIRED_NOXPERMS)
# If you apply patches which require linking to site-specific libraries,
# uncomment the following and point SITE_LIBS to those libraries.
#SITE_LIBS= # Your libraries here (remove the "#")
# Set SITE_LYDEFS to one or more of the defines for the WWW Library:
SITE_LYDEFS = $(DIR_LYDEFS) -DEXP_CHARTRANS -I../../../src # Your defines here
# Set SITE_DEFS to one or more of the defines for lynx below:
SITE_DEFS = $(DIR_DEFS) -DEXP_CHARTRANS # Your defines here
# if you are compiling on a previously unsupported system, modify
# this generic entry!!
#
# defines include:
# -DHP_TERMINAL For DIM workaround to REVERSE problems on HP terminals.
# -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx.
# -DNOPORT if you must use PASV instead of PORT for FTP
# -DNO_CPU_LIMIT Disables Max CPU timeout (includes CLOCKS_PER_SECOND)
# -DNSL_FORK For fork-based name server lookups that can be 'z'apped.
# -DSHORTENED_RBIND For a SOCKSified lynx with the short version of Rbind.
# -DSOCKS For making a SOCKSified lynx.
# -DUNDERLINE_LINKS Define if you want links underlined instead of bold.
# -DEXP_CHARTRANS enable chartrans support w/ new charsets, UTF8 mode etc.
# (needed in SITE_DEFS *and* SITE_LYDEFS !)
# -DEXP_CHARTRANS_AUTOSWITCH also let lynx switch term mode(Linux console only)
# -DSLANG_MBCS_HACK prevent cutoff lines when using UTF8 console (slang only)
#
# if you are linking to freeWAIS-0.202 or older, you should define this
# in MCFLAGS (SITE_DEFS)
#
# -DDECLARE_WAIS_LOGFILES
#
# if you have the reverse clear screen problem of some SUN4 systems you
# should define this in MCFLAGS (SITE_DEFS)
#
# -DREVERSE_CLEAR_SCREEN_PROBLEM
#
# if you have an SVR4 system with the "type any key" problem, try defining
# this in LYFLAGS (SITE_LYDEFS) and MCFLAGS (SITE_DEFS)
#
# -DSVR4_BSDSELECT
#
# Old Data General systems may need this in their SITE_LYDEFS
# for their inet_addr(host) calls.
#
# -DDGUX_OLD
#
# if you would like logging of client requests via syslog(), you should
# define this in MCFLAGS (SITE_DEFS)
#
# -DSYSLOG_REQUESTED_URLS
#
# for installation of local execution links, please see the file userdefs.h
generic: # NOT-TESTED
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.."
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="" \
LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
# Contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil).
# Note that some of the online help files in this distribution need
# to be edited and renamed to conform with the Intergraph CLIX 14
# character file name limit.
clix: # NOT-TESTED
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -DUSG" \
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="-DUSG" \
LIBS="-lmalloc -lcurses -ltermcap -lbsd -lc_s \
$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
snake2: # NOT-TESTED
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. \
-D_INCLUDE_HPUX_SOURCE \
-D_INCLUDE_POSIX_SOURCE \
-D_INCLUDE_AES_SOURCE \
-D_INCLUDE_XOPEN_SOURCE"
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="\
-D_INCLUDE_HPUX_SOURCE \
-D_INCLUDE_POSIX_SOURCE \
-D_INCLUDE_AES_SOURCE \
-D_INCLUDE_XOPEN_SOURCE" \
LIBS="$(LIBS) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
# Lynx will compile with the purchased cc compiler added to HP-UX.
# contributed by Andy Finkenstadt (genie@panix.com)
# Note that initial releases of HP/UX 10.10 have a broken select() in
# libcurses.a and will malfunction with Lynx. See the PROBLEMS file.
snake3: # NOT-TESTED (replaces snake3-curses, snake3-slang)
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -Ae"
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="-Ae" \
LIBS="$(LIBS) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
# aka SEQUENT
ptx: # NOT-TESTED (replaces ptx-curses, ptx-slang)
cd WWW/Library/unix; $(MAKE) $(MFLAGS) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -DSVR4_BSDSELECT -DNO_IOCTL -DUSE_FCNTL"
cd src; $(MAKE) $(MFLAGS) all CC="$(CC)" \
MCFLAGS="" \
LIBS="$(LIBS) -lsocket -linet -lnsl \
$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
ptx2: # NOT-TESTED
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -DPTX2 -DNOPORT -DSVR4_BSDSELECT $(SITE_LYDEFS)"
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="-DPTX2" \
LIBS="$(LIBS) -lsocket -linet -lnsl \
$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
# Contributed by Thanh Ma (tma@encore.com).
umaxv: # NOT-TESTED (replaces umaxv-curses, umaxv-slang)
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -D_SYSV3"
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="-D_SYSV3" \
LIBS="$(LIBS) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
# has a const/volatile bug in its native cc compiler. (don't use it ;)
sco: # NOT-TESTED
cd WWW/Library/unix; $(MAKE) CC="$(CC)" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -DSCO -DSVR4"
cd src; $(MAKE) all CC="$(CC)" \
MCFLAGS="-s -DSCO" \
LIBS="$(LIBS) -lmalloc $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
sco5: # NOT-TESTED
cd WWW/Library/unix; $(MAKE) CC="cc -belf" \
LYFLAGS="$(SITE_LYDEFS) -I../../.. -DSCO -DSVR4"
cd src; $(MAKE) all CC="cc -belf" \
MCFLAGS="-s -DSCO" \
LIBS="$(LIBS) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../WWW/Library/unix/libwww.a"
##Miscellaneous actions
clean:
rm -f WWW/Library/*/*.[aob]
rm -f WWW/Library/*/.created
cd src; $(MAKE) clean
rm -f *.b src/lynx core Lynx.leaks
distclean: clean
-rm -f WWW/Library/unix/makefile src/makefile src/chrtrans/makefile
-rm -f WWW/Library/*/*~
-rm -f WWW/Library/*/*.bak
-rm -rf src/obsolete
-cd src; $(MAKE) clean
-cd src/chrtrans; $(MAKE) distclean
-rm -f *~ *.bak *.sav .*_aux
-rm -f makefile lynx_cfg.h config.status config.log config.cache
-rm -f lynx
maintainer-clean: distclean
-rm -rf WWW/Library/*/obsolete
-rm -f Lynx.prj
tar: clean
rm -f lynx
$(MAKE) save
turnover: clean
$(MAKE) save
zipcompress: compress zip
echo "done!"
zip: clean
rm -f src/lynx
rm -f lynx
rm -f src/a.out
rm -f ../$(lynxname).zip
cd ..; rm -f $(lynxname).zip; zip -r $(lynxname).zip $(lynxdir)
save:
cd ..; rm -f $(lynxname).tar; tar -cf - $(lynxdir) > $(lynxname).tar
compress: tar
cd ..; rm -f $(lynxname).tar.Z; compress -f -v $(lynxname).tar
install:
-mv -f $(bindir)/lynx $(bindir)/lynx.old
-mv -f $(libdir)/lynx.cfg $(libdir)/lynx.oldcfg
$(installbin) lynx $(bindir)/lynx
$(installdoc) lynx.man $(mandir)/lynx.1
$(installdoc) lynx.cfg $(libdir)/lynx.cfg