diff lisp/oobr/Makefile @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children 4103f0995bd7
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/oobr/Makefile	Mon Aug 13 08:45:50 2007 +0200
@@ -0,0 +1,287 @@
+#
+# SUMMARY:      Build OO-Browser directories and distributions.
+#
+# AUTHOR:       Bob Weiner
+#
+# ORIG-DATE:     6-Oct-94 at 03:42:38
+# LAST-MOD:      1-Nov-95 at 22:22:45 by Bob Weiner
+#
+# Copyright (C) 1994-1995  Free Software Foundation, Inc.
+# See the file BR-COPY for license information.
+#
+# This file is part of the OO-Browser.
+#
+# DESCRIPTION:  
+#
+# USAGE:        Before doing your first make, edit the CONFIGURABLE SECTION
+#               in the "Makefile".  The only change you have to make is to
+#               set the EMACS variable to point to the Emacs executable that
+#               you want to use to byte-compile the OO-Browser Lisp files.
+#               Make this change now and save the file.
+#
+#               If you are running Emacs V18 or Epoch, you must first rebuild
+#               all byte-compiled Lisp files.  Use:
+#                    make all-elc
+#
+#               Then, whatever Emacs version you use, invoke:
+#   	             make
+#
+#               Use these commands if you want to build graphical interfaces
+#               to the OO-Browser:
+#                    Build the X OO-Browser:        make xoobr
+#
+#                    If you want to rebuild the NEXTSTEP OO-Browser below the
+#                    "tree-nx" directory, you must use NeXT's ProjectBuilder.
+#
+#               Now the OO-Browser should be ready for use if you have
+#               followed the installation instructions in "BR-README".
+#
+#   -----------------
+#
+#               To force rebuilding of all .elc files, even ones that are not
+#               out of date:
+#                    make all-elc
+#
+#               To build the Info version of the OO-Browser:
+#                    make info
+#
+#               To build the Postscript version of the OO-Browser:
+#                    make ps
+#
+# DESCRIP-END.
+
+##########################################################################
+#                         CONFIGURABLE SECTION                           #
+##########################################################################
+
+# Binaries for various versions of Emacs.  Set 'EMACS' below to the one you
+# want to use to byte-compile Lisp files.
+EMACS19 = emacs19
+EMACS18 = emacs
+EPOCH = epoch
+INFODOCK = infodock.bin
+XEMACS = xemacs
+
+# Emacs version used to byte-compile .el files into .elc's.
+EMACS = $(XEMACS)
+
+# Where to install the Info version of the OO-Browser manual.
+infodir = ../info
+# Where to install the Texinfo version of the OO-Browser manual
+# along with its im/ directory of images.
+texidir = ../man
+
+# Site-specific Emacs Lisp libraries to load before byte-compiling any files
+# from this package.  Typically the only reason to set this is to get Emacs
+# to include the directory of this package into its load-path variable, which
+# determines where it will find Lisp library files to load.
+#
+# InfoDock and XEmacs 19.12 or higher include this package and automatically
+# add its directory to load-path.  Under Emacs 19, if you add this directory
+# to load-path in your site-lisp/site-start.el file, then you need not change
+# this setting since site-start is automatically loaded whenever Emacs starts
+# up.  If, however, you set load-path in your personal ~/.emacs file, you
+# must add that to this setting.
+#
+# You must include the .el or .elc file suffix on each library name and each
+# must be preceded by the `-l ' command-line flag.  If the directory in which
+# the library is stored will not be in your Emacs load-path when Emacs
+# attempts to load the library, you must include the full pathname to the
+# library.  Here is an example setting.
+#
+# SITE_PRELOADS = -l ~/.emacs -l set-load-path.el
+#
+SITE_PRELOADS =
+
+# Temp file to use to build .elc files.
+ELISP_TO_COMPILE = /tmp/elc-${USER}
+
+# Shell used to process this Makefile.  Bourne shell syntax is required.
+SHELL = /bin/sh
+
+# UNIX commands you may want to change for your particular system.
+CP = \cp -p
+DVIPS = \dvips
+ETAGS = etags
+INSTALL = install -c
+MAKE = make
+MAKEINFO = \makeinfo --fill-column 74 
+MKDIR = mkdir
+MV = \mv -f
+RM = \rm -f
+TAR = tar
+
+# Directory in which to create new distributions of the OO-Browser.
+DIST_DIR = /tmp
+
+##########################################################################
+#                     NO CHANGES REQUIRED BELOW HERE                     #
+##########################################################################
+
+OOBR_VERSION = 2.9.11
+
+MAN_DIR = man
+
+# Libraries that must be pre-loaded before trying to byte-compile anything.
+PRELOADS = $(SITE_PRELOADS) -l ./br-start.el
+
+# Compile in batch mode. Under Emacs 19 and XEmacs, load
+# site-lisp/site-start.el, which may set load-path.
+BATCHFLAGS = -batch
+
+# Directories other than the current directory in which to find files.
+# This doesn't seem to work in all versions of make, so we also add hypb/
+# explicitly to those files which need it.
+VPATH = hypb
+
+HYPB_EL   = hypb/h-skip-bytec.lsp hypb/hact.el hypb/hargs.el \
+	    hypb/hhist.el hypb/hmail.el hypb/hmouse-drv.el \
+	    hypb/hmouse-key.el hypb/hmous-info.el \
+	    hypb/hmouse-reg.el hypb/hmouse-sh.el \
+	    hypb/hpath.el hypb/hui-mouse.el \
+	    hypb/hui-window.el hypb/hvar.el \
+	    hypb/hversion.el hypb/hypb.el hypb/set.el
+
+HYPB_ELC  = hypb/hact.elc hypb/hargs.elc \
+	    hypb/hhist.elc hypb/hmail.el hypb/hmouse-drv.elc \
+	    hypb/hmouse-key.elc hypb/hmous-info.elc \
+	    hypb/hmouse-reg.elc hypb/hmouse-sh.elc \
+	    hypb/hpath.elc hypb/hui-mouse.elc \
+	    hypb/hui-window.elc hypb/hvar.elc \
+	    hypb/hversion.elc hypb/hypb.elc hypb/set.elc
+
+# Files from Hyperbole necessary for OO-Browser mouse support.
+HYPERBOLE = $(HYPB_EL) $(HYPB_ELC)
+
+EL_COMPILE  = br-c-ft.el br-c++-ft.el br-c++.el br-clos-ft.el \
+	      br-clos.el br-compl.el \
+              br-eif-ft.el br-eif.el br-env.el br-ftr.el br-info.el \
+              br-init.el br-java.el br-java-ft.el \
+	      br-lib.el br-menu.el br-objc-ft.el \
+              br-objc.el br-python.elc br-python-ft.elc \
+	      br-site.el br-vers.el \
+	      br-smt.el br-start.el br-tree.el br.el c++-browse.el \
+	      clos-brows.el eif-browse.el eif-calls.el eif-ise-er.el \
+	      hasht.el hmouse-br.el info-brows.el java-brows.el \
+	      objc-brows.el python-browse.el smt-browse.el
+
+ELC_COMPILE = br-c-ft.elc br-c++-ft.elc br-c++.elc br-clos-ft.elc \
+	      br-clos.elc br-compl.elc \
+              br-eif-ft.elc br-eif.elc br-env.elc br-ftr.elc br-info.elc \
+              br-init.elc br-java.elc br-java-ft.elc \
+	      br-lib.elc br-menu.elc br-objc-ft.elc \
+              br-objc.elc br-python.elc br-python-ft.elc \
+	      br-site.elc br-vers.elc \
+	      br-smt.elc br-start.elc br-tree.elc br.elc c++-browse.elc \
+	      clos-brows.elc eif-browse.elc eif-calls.elc eif-ise-er.elc \
+	      hasht.elc hmouse-br.elc info-brows.elc java-brows.elc \
+	      objc-brows.elc python-browse.elc smt-browse.elc
+
+EL_TAGS = $(EL_COMPILE)
+
+.SUFFIXES:            # Delete the default suffixes
+.SUFFIXES: .el .elc   # Define the list of file suffixes to match to rules
+
+# Build the OO-Browser for use in current directory.
+all: elc
+
+doc: info ps
+
+xoobr:
+	cd tree-x; make
+
+
+install: xoobr
+	# Install the X OO-Browser in its executable directory.
+	cd tree-x; make install
+	cd $(MAN_DIR); $(INSTALL) oo-browser.info* $(infodir); \
+	  $(INSTALL) oo-browser.texi $(texidir); \
+	  $(INSTALL) im $(texidir)
+
+# Record any .el files that need to be compiled.
+.el.elc:
+	@ echo $< >> $(ELISP_TO_COMPILE)
+
+# Compile all recorded .el files.
+elc: elc-init $(ELC_COMPILE) $(HYPB_ELC)
+	@- \test ! -f $(ELISP_TO_COMPILE) \
+            || (echo "These files will be compiled: " \
+                 && echo "`cat $(ELISP_TO_COMPILE)`" \
+                 && $(EMACS) $(BATCHFLAGS) $(PRELOADS) \
+                       -f batch-byte-compile `cat $(ELISP_TO_COMPILE)`)
+	@ $(RM) $(ELISP_TO_COMPILE)
+
+elc-init:
+	@ $(RM) $(ELISP_TO_COMPILE)
+
+# Remove and then rebuild all byte-compiled .elc files for V19 Emacs, even
+# those .elc files which do not yet exist.
+all-elc:
+	$(RM) *.elc
+	$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile $(EL_COMPILE)
+
+# This target is used for background building of OO-Browser Environments.
+# Don't change the name of the target since it is used in "br-env.el".
+# Don't try to use this target manually unless you first set the following 2
+# environment variables:
+#    OOBR_DIR = full pathname of the directory where the OO-Browser lives
+#    OOBR_ENV = full pathname of the Environment specification to build
+oobr-env:
+	cd $(OOBR_DIR); $(EMACS) $(BATCHFLAGS) $(PRELOADS) ${OOBR_ENV} -f br-env-batch-build
+
+dvi: $(MAN_DIR)/oo-browser.dvi
+
+info: $(MAN_DIR)/oo-browser.info
+
+ps: $(MAN_DIR)/oo-browser.ps
+
+$(MAN_DIR)/oo-browser.dvi: $(MAN_DIR)/oo-browser.info
+	cd $(MAN_DIR); tex oo-browser.texi; texindex oo-browser.??; tex oo-browser.texi
+
+$(MAN_DIR)/oo-browser.info: $(MAN_DIR)/oo-browser.texi
+	cd $(MAN_DIR); $(MAKEINFO) oo-browser.texi
+
+$(MAN_DIR)/oo-browser.ps: $(MAN_DIR)/oo-browser.texi
+	make $(MAN_DIR)/oo-browser.dvi
+	-$(RM) $(MAN_DIR)/oo-browser.ps
+	cd $(MAN_DIR); $(DVIPS) -o oo-browser.ps oo-browser.dvi
+
+tags: $(EL_TAGS)
+	$(ETAGS) $(EL_TAGS) tree-x/*.[ch] tree-nx/*.[mh]
+
+hypb-tags: $(EL_TAGS)
+	cd $(DIST_DIR)/oobr; $(ETAGS) $(EL_TAGS) $(HYPB_EL) tree-x/*.[ch] tree-nx/*.[mh]
+
+clean:  distclean
+	$(RM) *.elc
+
+version:
+	fgrep $(OOBR_VERSION) BR-RELEASE br-vers.el man/oo-browser.texi
+	echo ""
+
+# Don't use this target.
+bw-install:
+	cd /usr/local/infodock/lisp/; \
+	tar zxvf /tmp/oo-browser-$(OOBR_VERSION).tar.gz; \
+	cd oobr/; mv man/*.info* ../../info/; mv man/*.texi ../../man/; \
+	rm -rf man
+
+dist: version elc info
+	echo "Ensure version # in br-vers.el and man/oo-browser.texi is up to date."
+	$(RM) -r $(DIST_DIR)/oobr
+	cd ..; $(TAR) clf $(DIST_DIR)/br.tar oobr
+	cd $(DIST_DIR); $(TAR) xf br.tar
+	cd $(DIST_DIR)/oobr; $(RM) -r hypb man/im; make distclean; \
+	  mkdir hypb man/im; chmod 755 hypb man/im; \
+	  $(CP) /usr/local/infodock/info-local/im/oobr-* man/im
+	$(CP) $(HYPERBOLE) $(DIST_DIR)/oobr/hypb
+# This ver setup won't work under SunOS for some reason.
+#	  ver="`head -3 oobr/br-vers.el | tail -1 | sed -e 's/.*|//'`"
+	cd $(DIST_DIR); $(RM) br.tar; \
+	  $(TAR) --gzip -clf oo-browser-$(OOBR_VERSION).tar.gz oobr
+
+distclean:
+	-$(RM) TAGS core .place* .*~ *~ *\# *.orig *.rej .nfs*
+	-cd tree-x; $(RM) .*~ *~ *\# *.orig *.rej *.o xoobr .nfs*
+	-cd tree-nx; $(RM) -r .*~ *~ *\# *.orig *.rej obj* TreeView.app .nfs*
+	-cd $(MAN_DIR); $(RM) oo-browser.?? oo-browser.dvi .*~ *~ *\# *.orig *.rej .nfs*