# $LynxId: makefile.in,v 1.168 2018/03/12 23:25:57 tom Exp $ ##makefile for lynx SHELL = @CONFIG_SHELL@ CDPATH = . .SUFFIXES: @SET_MAKE@ prefix = @prefix@ exec_prefix = @exec_prefix@ top_srcdir = @top_srcdir@ srcdir = @srcdir@ builddir = . VPATH = $(srcdir) CC = @CC@ CFLAGS = @CFLAGS@ DEFS = @DEFS@ CPPFLAGS = @CPPFLAGS@ LINT = @LINT@ ETAGS = @ETAGS@ BUILD_CC = @BUILD_CC@ BUILD_CPP = @BUILD_CPP@ BUILD_CFLAGS = @BUILD_CFLAGS@ BUILD_CPPFLAGS = @BUILD_CPPFLAGS@ @DEFS@ BUILD_EXEEXT = @BUILD_EXEEXT@ BUILD_LDFLAGS = @BUILD_LDFLAGS@ BUILD_LIBS = @BUILD_LIBS@ x = @EXEEXT@ o = .@OBJEXT@ LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@ LIBS = @LIBS@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ LN_S = @LN_S@ TAR = @TAR@ TAR_UP = $(TAR) @TAR_UP_OPTIONS@ @TAR_PIPE_OPTIONS@ TAR_DOWN = $(TAR) @TAR_DOWN_OPTIONS@ @TAR_PIPE_OPTIONS@ # $Format: "LYNX_VERSION = $ProjectVersion$"$ LYNX_VERSION = 2.8.9dev.17 ## 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-8 ##this is the name of the directory the lynx source code is in. ##(e.g., lynx2-8-8, 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 datarootdir= @datarootdir@ 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!!! WWW_DIR = $(builddir)/WWW/Library/Implementation ##set the relative location of the message-file directory ##do not set this to be an absolute path!!! PO_DIR = $(builddir)/po PO_SRCDIR = $(srcdir)/po ##set the relative location of the main source-directory ##do not set this to be an absolute path!!! SRC_DIR = $(builddir)/src ##set the relative location of the character-translation data directory ##do not set this to be an absolute path!!! CHR_DIR = $(SRC_DIR)/chrtrans ## 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 MAKE_RECUR = $(MAKE) @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" CC="$(CC)" @LYNXCFG_MAKE@CFG2HTML = alphatoc.html body.html cattoc.html # !!!!!!!!!!! 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://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: # -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx. # -DNO_RULES Disables CERN-style access rules (see lynx.cfg). # -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 an SVR4 system with the "type any key" problem, try defining # this in LYFLAGS (SITE_LYDEFS) and SITE_DEFS # # -DSVR4_BSDSELECT # # Many other defines have configure options (see INSTALLATION, Section II-1c.): # # for installation of local execution links, please see the file userdefs.h WWW_CFLAGS = \ LY_CFLAGS="$(CFLAGS)" \ CPPFLAGS="$(CPPFLAGS)" \ LYFLAGS="$(SITE_LYDEFS)" CHR_CFLAGS = \ SITE_DEFS="$(SITE_DEFS)" \ BUILD_CFLAGS="$(BUILD_CFLAGS)" \ BUILD_CPPFLAGS="$(BUILD_CPPFLAGS)" \ BUILD_LDFLAGS="$(BUILD_LDFLAGS)" \ BUILD_LIBS="$(BUILD_LIBS)" \ BUILD_CC="$(BUILD_CC)" SRC_CFLAGS = \ CFLAGS="$(CFLAGS)" \ CPPFLAGS="$(CPPFLAGS)" \ LDFLAGS="$(LDFLAGS)" \ LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SITE_LIBS)" \ SITE_DEFS="$(SITE_DEFS)" \ WWWINC=$(WWW_DIR) \ WWWLIB="../$(WWW_DIR)/libwww.a" actual_PROG = `echo lynx|sed '@program_transform_name@'` binary_PROG = $(actual_PROG)$x 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_DIR) && $(MAKE_RECUR) cd $(WWW_DIR) && $(MAKE_RECUR) $(WWW_CFLAGS) cd $(CHR_DIR) && $(MAKE_RECUR) all $(CHR_CFLAGS) cd $(SRC_DIR) && $(MAKE_RECUR) all $(SRC_CFLAGS) lint: cd $(WWW_DIR) && $(MAKE_RECUR) LINT="$(LINT)" $(WWW_CFLAGS) $@ cd $(SRC_DIR) && $(MAKE_RECUR) LINT="$(LINT)" $(SRC_CFLAGS) $@ cd $(CHR_DIR) && $(MAKE_RECUR) LINT="$(LINT)" $@ tags: cd $(WWW_DIR) && $(MAKE_RECUR) $(WWW_CFLAGS) $@ cd $(SRC_DIR) && $(MAKE_RECUR) $(SRC_CFLAGS) $@ cd $(CHR_DIR) && $(MAKE_RECUR) $@ etags: $(ETAGS) *.[ch] */*.[ch] */*/*.[ch] */*/*/*.[ch] 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 "distclean -- removes all generated files" @echo "depend -- use makedepend to generate header-dependencies" @echo ##Miscellaneous actions clean: rm -f WWW/Library/*/*.[aoib] rm -f WWW/Library/*/.created cd $(WWW_DIR) && $(MAKE_RECUR) $@ cd $(SRC_DIR) && $(MAKE_RECUR) $@ @MSG_DIR_MAKE@ rm -f LYMessages.c @MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) $@ rm -f *.b $(SRC_DIR)/lynx$x *.leaks cfg_defs.h LYHelp.h lint.* @LYNXCFG_MAKE@ -rm -f $(CFG2HTML) rm -f help_files.sed rm -f core *.core depend: cfg_defs.h LYHelp.h cd $(WWW_DIR) && $(MAKE_RECUR) $@ cd $(SRC_DIR) && $(MAKE_RECUR) $@ distclean: clean -rm -f WWW/Library/*/*~ -rm -f WWW/Library/*/*.bak -rm -rf $(SRC_DIR)/obsolete -cd $(WWW_DIR) && $(MAKE_RECUR) $@ -cd $(SRC_DIR) && $(MAKE_RECUR) $@ -cd $(CHR_DIR) && $(MAKE_RECUR) $@ @MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) $@ @MSG_DIR_MAKE@ -rmdir $(PO_DIR) -rm -f *~ *.bak *.sav tags TAGS -rm -f $(WWW_DIR)/makefile $(SRC_DIR)/makefile $(CHR_DIR)/makefile @SRCDIR_CLEAN@ -rmdir $(WWW_DIR) && rmdir WWW/Library && rmdir WWW @SRCDIR_CLEAN@ -rmdir $(CHR_DIR) && rmdir $(SRC_DIR) -rm -f makefile lynx_cfg.h config.status config.log config.cache -rm -f lynx$x 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 # 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_DIR) $(WWW_DIR); 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_DIR) && $(MAKE_RECUR) install @ECHO_CC@$(SHELL) -c "P=$(binary_PROG); \ if test -f $(BINDIR)/$$P ; then \ mv -f $(BINDIR)/$$P $(BINDIR)/$$P.old; fi" $(INSTALL_PROGRAM) lynx$x $(BINDIR)/$(binary_PROG) install-man : $(MANDIR) $(INSTALL_DATA) $(srcdir)/lynx.man $(MANDIR)/$(actual_PROG).1 install-doc : $(DOCDIR) $(HELPDIR) @echo Copying sample files $(SHELL) -c '\ ( umask 022; \ cd $(srcdir) && \ $(TAR_UP) C[HO]* PROBLEMS README docs samples test ) | \ ( umask 022; \ 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 ;\ r= ;\ test "$(LN_S)" = "ln -s" || r=`echo $(helpdir)|sed -e "s%[^/]\+%..%g" -e "s%^.%%"`; \ cd $(HELPDIR) && ( $(LN_S) $$r$(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 '=' '"' LYNX_URL='@HOMEPAGE_URL@release/breakout' LYNXDOCS_URL='$(LYNX_URL)/docs/' LYNXHELP_URL='$(LYNX_URL)/lynx_help/' @LYNXCFG_MAKE@$(CFG2HTML) : @LYNXCFG_MAKE@ @echo 'Making htmlized lynx.cfg' @LYNXCFG_MAKE@ cd $(SRC_DIR) && $(MAKE_RECUR) LYReadCFG.i @LYNXCFG_MAKE@ @-rm -f $(CFG2HTML) @LYNXCFG_MAKE@ sed -n -e '/Config_Type *Config_Table/,/{0, *0, *0}/ p' $(SRC_DIR)/LYReadCFG.i | \ @LYNXCFG_MAKE@ sed -e 's/ *{ *"\([^"]*\)".*/\1/' | \ @LYNXCFG_MAKE@ perl $(scripts_dir)/cfg2html.pl -ams $(srcdir)/lynx.cfg @LYNXCFG_MAKE@ -rm -f $(SRC_DIR)/LYReadCFG.i 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 @LYNXDOC_MAKE@ @ECHO_CC@echo 's!$(LYNXDOCS_URL)!file://$(docdir)/!g' >> help_files.tmp @LYNXCFG_MAKE@ @ECHO_CC@echo 's!$(LYNXHELP_URL)alphatoc.html!alphatoc.html!g' >> help_files.tmp @LYNXCFG_MAKE@ @ECHO_CC@echo 's!$(LYNXHELP_URL)cattoc.html!cattoc.html!g' >> help_files.tmp @LYNXCFG_MAKE@ @ECHO_CC@echo 's!alphatoc\.html!alphatoc.html$(COMPRESS_EXT)!g' >> help_files.tmp @LYNXCFG_MAKE@ @ECHO_CC@echo 's!cattoc\.html!cattoc.html$(COMPRESS_EXT)!g' >> help_files.tmp @LYNXCFG_MAKE@ @ECHO_CC@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 : $(CFG2HTML) help_files.sed $(HELPDIR) $(SYSCONFDIR) -$(SHELL) -c 'if cd "$(HELPDIR)" ; then \ WD=`pwd` ; \ TAIL=`basename "$(helpdir)"` ; \ HEAD=`echo "$$WD"|sed -e "s,/$${TAIL}$$,,"` ; \ test "x$$WD" != "x$$HEAD" && rm -fr * ; \ fi' test -d $(HELPDIR)/keystrokes || mkdir $(HELPDIR)/keystrokes @echo Translating/copying html files @LYNXCFG_MAKE@ @$(SHELL) -c 'for f in $(CFG2HTML) ; do \ @LYNXCFG_MAKE@ sed -f help_files.sed $$f > $(HELPDIR)/$$f ; \ @LYNXCFG_MAKE@ done' @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 $(srcdir)/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) @$(SHELL) $(scripts_dir)/install-lss.sh "$(INSTALL_DATA)" $(srcdir)/samples/lynx.lss $(SYSCONFDIR)/lynx.lss uninstall :: @MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) uninstall -rm -f $(BINDIR)/$(binary_PROG) -rm -f $(MANDIR)/$(actual_PROG).1 -rm -f $(SYSCONFDIR)/lynx.cfg -rm -f $(SYSCONFDIR)/lynx.lss uninstall \ uninstall-help :: -$(SHELL) -c 'if test -d "$(HELPDIR)" ; then \ WD=`cd "$(HELPDIR)" && pwd` ; \ TAIL=`basename "$(helpdir)"` ; \ HEAD=`echo "$$WD"|sed -e "s,/$${TAIL}$$,,"` ; \ test "x$$WD" != "x$$HEAD" && rm -rf "$(HELPDIR)"; \ fi' uninstall \ uninstall-doc :: -$(SHELL) -c 'if test -d "$(DOCDIR)" ; then \ WD=`cd "$(DOCDIR)" && pwd` ; \ TAIL=`basename "$(docdir)"` ; \ HEAD=`echo "$$WD"|sed -e "s,/$${TAIL}$$,,"` ; \ test "x$$WD" != "x$$HEAD" && rm -rf "$(DOCDIR)"; \ fi' -$(SHELL) -c 'if test -d "$(HELPDIR)" ; then \ WD=`cd "$(HELPDIR)" && pwd` ; \ TAIL=`basename "$(helpdir)"` ; \ HEAD=`echo "$$WD"|sed -e "s,/'$${TAIL}'$$,,"` ; \ test "x$$WD" != "x$$HEAD" ; \ cd "$(HELPDIR)" && rm -f COPYING COPYHEADER ; \ fi' update-po: rsync -Lrtvz translationproject.org::tp/latest/lynx/ $(PO_SRCDIR) test -f $(PO_SRCDIR)/makefile && cd $(PO_SRCDIR) && $(MAKE_RECUR) $@ preinstall : @ echo '' @ echo '** Configuration summary for LYNX $(LYNX_VERSION):' @ echo '' @ echo ' program name: '$(actual_PROG) @ echo '' @ echo ' bin directory: '$(BINDIR) @ echo ' config directory: '$(SYSCONFDIR) @ echo ' man directory: '$(MANDIR) @ echo ' help directory: '$(HELPDIR) @ echo ' doc directory: '$(DOCDIR) $(BINDIR) \ $(MANDIR) \ $(SYSCONFDIR) \ $(HELPDIR) \ $(DOCDIR) : mkdir -p $@