Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
431 lines (369 sloc) 15 KB
##makefile for lynx
SHELL = @CONFIG_SHELL@
CDPATH = .
.SUFFIXES:
@SET_MAKE@
prefix = @prefix@
exec_prefix = @exec_prefix@
top_srcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = $(srcdir)
CC = @CC@
CFLAGS = @CFLAGS@
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@
LINT = @LINT@
x = @EXEEXT@
o = .@OBJEXT@
LIBS = @LIBS@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
LN_S = @LN_S@
MKINSTALLDIRS = @MKINSTALLDIRS@
TAR = @TAR@
TAR_UP = $(TAR) @TAR_UP_OPTIONS@ @TAR_PIPE_OPTIONS@
TAR_DOWN = $(TAR) @TAR_DOWN_OPTIONS@ @TAR_PIPE_OPTIONS@
## This is the version which we are developing (or, upon release, make this
## the same). Use no dots in the name, since it must work on VMS and MS-DOS.
VERSION = 2-8-6
##this is the name of the directory the lynx source code is in.
##(e.g., lynx2-8-6, not the full path)
lynxdir= lynx$(VERSION)
lynxname= lynx$(VERSION)
## The 'DESTDIR' variable allows you to install the program into a different
## location, e.g., for packaging, without affecting the compiled-in pathnames.
DESTDIR= @DESTDIR@
## Where you want lynx installed
bindir= @bindir@
BINDIR= $(DESTDIR)$(bindir)
## Where you want the lynx man file installed
mandir= @mandir@/man1
MANDIR= $(DESTDIR)$(mandir)
## Where you want the lynx.cfg file installed
sysconfdir= @sysconfdir@
SYSCONFDIR= $(DESTDIR)$(sysconfdir)
## Where you want the doc-files installed
docdir= @datadir@/lynx_doc
DOCDIR= $(DESTDIR)$(docdir)
## Where you want the help-files installed
helpdir= @datadir@/lynx_help
HELPDIR= $(DESTDIR)$(helpdir)
##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
## Path to gzip that will compress the help files.
## It will be used when --enable-gzip-help is set by configure.
## Leave *both* empty if you don't want to gzip help files.
COMPRESS_PROG=@COMPRESS_PROG@
COMPRESS_EXT=@COMPRESS_EXT@
# Path of scripts directory
scripts_dir=$(srcdir)/scripts
# !!!!!!!!!!! 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
# !!!!!!!!!!!!! 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.
# Please 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.
# !!!!!!!!!!!!! NCURSES Support (For color version of Lynx). !!!!!!!!!!!!!!
# If you need ncurses, the latest version can always be found
# in ftp://invisible-island.net/ncurses/
# or ftp://ftp.gnu.org/pub/gnu/
# Also be sure to check out the compilation symbols in userdefs.h
# before building Lynx!
# If you apply patches which require linking to site-specific libraries, set
# SITE_LIBS to those libraries.
SITE_LIBS= # Your libraries here
# Set SITE_LYDEFS to one or more of the defines for the WWW Library:
SITE_LYDEFS = # Your defines here
# Set SITE_DEFS to one or more of the defines for lynx below:
SITE_DEFS = # Your defines here
# defines for which there are no configure options:
# -DEXP_ASCII_CTYPES use POSIX locale for toupper/tolower/isupper
# -DHP_TERMINAL For DIM workaround to REVERSE problems on HP terminals.
# -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx.
# -DNO_RULES Disables CERN-style access rules (see lynx.cfg).
# -DMISC_EXP Enable some truly experimental stuff
# -DSHORTENED_RBIND For a SOCKSified lynx with the short version of Rbind.
# -DSLANG_MBCS_HACK prevent cutoff lines when using UTF8 console (slang only)
# -DUSE_VASPRINT Use vasprintf() function
#
# if you are linking to freeWAIS-0.202 or older, you should define this
# in SITE_DEFS
#
# -DDECLARE_WAIS_LOGFILES
#
# if you have the reverse clear screen problem of some SUN4 systems you
# should define this in 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 SITE_DEFS
#
# -DSVR4_BSDSELECT
#
# Old Data General systems may need this in their SITE_LYDEFS
# for their inet_addr(host) calls.
#
# -DDGUX_OLD
# Many other defines have configure options (see INSTALLATION, Section II-1c.):
#
# for installation of local execution links, please see the file userdefs.h
all lynx$x: cfg_defs.h LYHelp.h
@MSG_DIR_MAKE@ $(SHELL) $(scripts_dir)/fixtext.sh $(srcdir)/LYMessages_en.h >LYMessages.c
@MSG_DIR_MAKE@ cd po && $(MAKE) CC="$(CC)"
cd $(WWWINC) && $(MAKE) CC="$(CC)" \
LY_CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
LYFLAGS="$(SITE_LYDEFS)"
cd src && $(MAKE) all CC="$(CC)" \
CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../$(WWWINC)/libwww.a"
lint:
cd $(WWWINC) && $(MAKE) LINT="$(LINT)" CC="$(CC)" \
LY_CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
LYFLAGS="$(SITE_LYDEFS)" lint
cd src && $(MAKE) all LINT="$(LINT)" CC="$(CC)" \
CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SITE_LIBS)" \
SITE_DEFS="$(SITE_DEFS)" \
WWWINC=$(WWWINC) \
WWWLIB="../$(WWWINC)/libwww.a" lint
help:
@echo
@echo "Please run make with one of the following arguments"
@echo "all -- to make the executable, put it in this directory"
@echo "clean -- removes all '$o' and 'core' files"
@echo "depend -- use makedepend to generate header-dependencies"
@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
##Miscellaneous actions
clean:
rm -f WWW/Library/*/*.[aoib]
rm -f WWW/Library/*/.created
cd src && $(MAKE) clean
@MSG_DIR_MAKE@ rm -f LYMessages.c
@MSG_DIR_MAKE@ cd po && $(MAKE) $@
rm -f *.b src/lynx$x *.leaks cfg_defs.h LYHelp.h lint.*
@LYNXCFG_MAKE@ -rm -f alphatoc.html body.html cattoc.html tmp007
rm -f help_files.sed
rm -f core *.core
depend: cfg_defs.h LYHelp.h
cd $(WWWINC) && $(MAKE) $@
cd src && $(MAKE) $@
distclean: clean
-rm -f WWW/Library/*/*~
-rm -f WWW/Library/*/*.bak
-rm -rf src/obsolete
-cd src && $(MAKE) $@
-cd src/chrtrans && $(MAKE) $@
@MSG_DIR_MAKE@ cd po && $(MAKE) $@
@MSG_DIR_MAKE@ -rmdir po
-rm -f *~ *.bak *.sav tags TAGS
-rm -f $(WWWINC)/makefile src/makefile src/chrtrans/makefile
@SRCDIR_CLEAN@ -rmdir $(WWWINC) && rmdir WWW/Library && rmdir WWW
@SRCDIR_CLEAN@ -rmdir src/chrtrans && rmdir src
-rm -f makefile lynx_cfg.h config.status config.log config.cache
-rm -f lynx$x install-*
maintainer-clean: distclean
-find . -type f -name '*.rej' -exec rm -f {} \;
-find . -type f -name '*.orig' -exec rm -f {} \;
-rm -rf WWW/Library/*/obsolete
-rm -f Lynx.prj .*_aux
tar: clean
rm -f lynx$x
$(MAKE) save
turnover: clean
$(MAKE) save
zipcompress: compress zip
echo "done!"
zip: clean
rm -f src/lynx$x
rm -f lynx$x
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_UP) $(lynxdir) > $(lynxname).tar
compress: tar
cd ..; rm -f $(lynxname).tar.Z; compress -f -v $(lynxname).tar
# Directory containing reference source for patch generation,
# either absolute or relative to $(top_srcdir)/..
REFDIR=orig/$(lynxdir)
lynx.patch: $(top_srcdir) $(top_srcdir)/CHANGES
- cd $(top_srcdir)/.. && cd $(REFDIR) && { rm -f \
config.log \
config.status \
lynx_cfg.h \
; \
for I in . src $(WWWINC); do ( set +e; \
( set -x; cd $$I && rm -f *.orig *.rej makefile ); : ); \
done; }
( cd $(top_srcdir)/..; echo "%%% Created `date` by target $@. %%%"; \
if diff -bru /dev/null /dev/null; \
then diff -bru $(REFDIR) $(lynxdir); \
else diff -brc $(REFDIR) $(lynxdir); fi ) \
| grep -v '^Common' \
| grep -v '^Binary files ' \
| grep -v '^Only ' | tee $@ | egrep '^\-\-\- .*$(lynxdir)'
install: install-bin install-man install-cfg @INSTALL_LSS@
@echo
@echo "Use $(MAKE) install-help to install the help-files"
@echo "Use $(MAKE) install-doc to install extra documentation files"
@echo
install-full: install install-help install-doc
@echo Full installation complete.
install-bin: $(BINDIR) lynx$x
@MSG_DIR_MAKE@ cd po && $(MAKE) CC="$(CC)" install
-mv -f $(BINDIR)/lynx$x $(BINDIR)/lynx.old
$(INSTALL_PROGRAM) lynx$x $(BINDIR)/lynx$x
install-man : $(MANDIR)
$(INSTALL_DATA) $(srcdir)/lynx.man $(MANDIR)/lynx.1
install-doc : $(DOCDIR) $(HELPDIR)
@echo Copying sample files
(cd $(srcdir) && $(TAR_UP) C[HO]* PROBLEMS README docs samples test ) | \
( cd $(DOCDIR) && chmod -R u+w . && $(TAR_DOWN) )
$(SHELL) -c 'if test "$(COMPRESS_PROG)" != "" ; then \
(cd $(DOCDIR) && $(COMPRESS_PROG) -f docs/CHANGES*.[0-9] docs/*.announce ) \
fi'
$(SHELL) -c 'for name in COPYING COPYHEADER; do \
cd $(HELPDIR) && rm -f $$name ;\
cd $(HELPDIR) && ( $(LN_S) $(DOCDIR)/$$name . || cp $(DOCDIR)/$$name . );\
done'
-$(SHELL) -c 'case `id|sed -e "s/(.*//"` in uid=0) chown -R root $(DOCDIR);; esac'
# HPUX 'sed' does not seem to like '=' as pattern delimiter.
# We cannot use '%' because it may appear in a URL.
# Andrew filesystem uses '@'.
# So we limit sed delimiters to '!' and '%', depending on the expected text.
FIX_SED = tr '=' '"'
help_files.sed : makefile $(srcdir)/lynx_help/help_files.txt
@echo Constructing sed-script $@
@-rm -f $@ help_files.tmp
@cat $(srcdir)/lynx_help/help_files.txt > help_files.tmp
@LYNXCFG_MAKE@ @echo 's!http://www.hippo.ru/%7Ehvv/lynxcfg_toc.html#alphatoc!alphatoc.html!g' >> help_files.tmp
@LYNXCFG_MAKE@ @echo 's!http://www.hippo.ru/%7Ehvv/lynxcfg_toc.html!cattoc.html!g' >> help_files.tmp
@LYNXCFG_MAKE@ @echo 's!alphatoc\.html!alphatoc.html$(COMPRESS_EXT)!g' >> help_files.tmp
@LYNXCFG_MAKE@ @echo 's!cattoc\.html!cattoc.html$(COMPRESS_EXT)!g' >> help_files.tmp
@LYNXCFG_MAKE@ @echo 's!body\.html!body.html$(COMPRESS_EXT)!g' >> help_files.tmp
@ECHO_CC@sed -e '/^#/d' -e '/^$$/d' \
-e 's%\(.*\)=\(.*\@.*\)$$%s=@\1@=\2=g%' \
-e 's%\(.*\)=\(http:.*\)$$%s=@\1@=\2=g%' \
-e 's%\(.*\)=\(ftp:.*\)$$%s=@\1@=\2=g%' \
-e 's%\(.*\)=\(.*\.html\)$$%s=@\1@=\2$(COMPRESS_EXT)=g%' \
help_files.tmp | $(FIX_SED) > $@
@echo Appending interim-fix for existing html files to $@
@ECHO_CC@sed -e '/^#/d' -e '/[:@]/d' -e '/^$$/d' \
-e 's%\(.*\)=\(.*\.html\)$$%s=\2=\2$(COMPRESS_EXT)=g%' \
-e 's%\.html=%\\.html=%' \
help_files.tmp | $(FIX_SED) >> $@
@ECHO_CC@if test -n "$(COMPRESS_EXT)"; then echo 's%\$(COMPRESS_EXT)\$(COMPRESS_EXT)%$(COMPRESS_EXT)%g' >> $@; fi
@-rm -f help_files.tmp
install-help : help_files.sed $(HELPDIR)
- (cd $(HELPDIR) && WD=`pwd` && HEAD=`echo $$WD|sed -e 's!/lynx_help$$!!'` && test $$WD != $$HEAD && rm -fr *)
test -d $(HELPDIR)/keystrokes || mkdir $(HELPDIR)/keystrokes
@LYNXCFG_MAKE@ @echo 'Making htmlized lynx.cfg'
@LYNXCFG_MAKE@ cd src && make LYReadCFG.i
@LYNXCFG_MAKE@ @-rm -f alphatoc.html body.html cattoc.html
@LYNXCFG_MAKE@ sed -n -e '/Config_Type *Config_Table/,/{0, *0, *0}/ p' src/LYReadCFG.i | \
@LYNXCFG_MAKE@ sed -e 's/ *{ *"\([^"]*\)".*/\1/' | \
@LYNXCFG_MAKE@ perl $(scripts_dir)/cfg2html.pl -ms $(srcdir)/lynx.cfg
@echo Translating/copying html files
@LYNXCFG_MAKE@ @$(SHELL) -c 'for f in alphatoc.html body.html cattoc.html ; do \
@LYNXCFG_MAKE@ sed -f help_files.sed $$f > $(HELPDIR)/$$f ; \
@LYNXCFG_MAKE@ done'
@LYNXCFG_MAKE@ -rm -f src/LYReadCFG.i
@ECHO_CC@$(SHELL) -c 'sed_prog=`pwd`/help_files.sed && \
cd $(srcdir)/lynx_help && \
dirs=keystrokes && \
files="*.html */*.html" && \
for f in $$files ; do \
sed -f $$sed_prog $$f > $(HELPDIR)/$$f ; \
done && \
if test "$(COMPRESS_PROG)" != "" ; then \
(cd $(HELPDIR) && $(COMPRESS_PROG) $$files ) \
fi'
@echo Updating $(sysconfdir)/lynx.cfg
@ECHO_CC@$(SHELL) -c 'if test -f $(SYSCONFDIR)/lynx.cfg ; then \
mv $(SYSCONFDIR)/lynx.cfg $(SYSCONFDIR)/lynx.tmp ; \
else \
cp $(srcdir)/lynx.cfg $(SYSCONFDIR)/lynx.tmp ; \
fi'
@echo Updating $(sysconfdir)/lynx.cfg to point to installed help-files
@ECHO_CC@sed -e '/^HELPFILE:http/s!^!#!' \
-e '/^#HELPFILE:file/s!#!!' \
$(SYSCONFDIR)/lynx.tmp | \
$(SHELL) $(scripts_dir)/cfg_path.sh lynx_help $(helpdir) | \
$(SHELL) $(scripts_dir)/cfg_path.sh lynx_doc $(helpdir) | \
sed -e '/^HELPFILE:file/s!$$!$(COMPRESS_EXT)!' \
-e '/^HELPFILE:file/s!$(COMPRESS_EXT)$(COMPRESS_EXT)$$!$(COMPRESS_EXT)!' \
>$(SYSCONFDIR)/lynx.cfg
chmod 644 $(SYSCONFDIR)/lynx.cfg
-rm -f $(SYSCONFDIR)/lynx.tmp
LYHelp.h : help_files.sed LYHelp.hin
@echo Creating $@
@sed -f help_files.sed $(srcdir)/LYHelp.hin > $@
@echo '**********************************************'
@echo
@$(SHELL) -c 'if test "$(COMPRESS_PROG)" = "" ; then \
echo " Help files will NOT be gzipped."; \
else \
echo " Help links point to compressed files"; \
echo " To access them properly you have to type"; \
echo " make install-help"; \
fi'
@echo
@echo '**********************************************'
cfg_defs.h : $(scripts_dir)/cfg_defs.sh $(scripts_dir)/cfg_edit.sh config.cache lynx_cfg.h
@rm -f $@
$(SHELL) -c 'SHELL=$(SHELL) $(SHELL) $(scripts_dir)/cfg_defs.sh $(srcdir)'
install-cfg : $(SYSCONFDIR)
@$(SHELL) $(scripts_dir)/install-cfg.sh "$(INSTALL_DATA)" $(srcdir)/lynx.cfg $(SYSCONFDIR)/lynx.cfg
install-lss : $(SYSCONFDIR)
-mv -f $(SYSCONFDIR)/lynx.lss $(SYSCONFDIR)/lynx.oldlss
$(INSTALL_DATA) $(srcdir)/samples/lynx.lss $(SYSCONFDIR)/lynx.lss
uninstall ::
@MSG_DIR_MAKE@ cd po && $(MAKE) CC="$(CC)" uninstall
-rm -f $(BINDIR)/lynx$x
-rm -f $(MANDIR)/lynx.1
-rm -f $(SYSCONFDIR)/lynx.cfg
-rm -f $(SYSCONFDIR)/lynx.lss
uninstall \
uninstall-help ::
-test -d $(HELPDIR) && WD=`cd $(HELPDIR) && pwd` && HEAD=`echo $$WD|sed -e 's!/lynx_help$$!!'` && test $$WD != $$HEAD && rm -rf $(HELPDIR)
uninstall \
uninstall-doc ::
-test -d $(DOCDIR) && WD=`cd $(DOCDIR) && pwd` && HEAD=`echo $$WD|sed -e 's!/lynx_doc$$!!'` && test $$WD != $$HEAD && rm -rf $(DOCDIR)
-test -d $(HELPDIR) && WD=`cd $(HELPDIR) && pwd` && HEAD=`echo $$WD|sed -e 's!/lynx_help$$!!'` && test $$WD != $$HEAD && cd $(HELPDIR) && rm -f COPYING COPYHEADER
$(BINDIR) \
$(MANDIR) \
$(SYSCONFDIR) \
$(HELPDIR) \
$(DOCDIR) :
$(SHELL) $(MKINSTALLDIRS) $@
etags:
etags -r "/\(PRIVATE\|PUBLIC\)[ \t]+\([a-zA-Z_][a-zA-Z_0-1]*[ \t*]+\)*\([a-zA-Z_][a-zA-Z_0-1]*\)[ \t]+\(ARGS[0-9]\|NOARGS\)/\3/" *.[ch] */*.[ch] */*/*.[ch] */*/*/*.[ch]