diff lisp/hyperbole/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/hyperbole/Makefile	Mon Aug 13 08:45:50 2007 +0200
@@ -0,0 +1,258 @@
+#
+# SUMMARY:      Build Hyperbole directories and distributions.
+#
+# AUTHOR:       Bob Weiner
+#
+# ORIG-DATE:    15-Jun-94 at 03:42:38
+# LAST-MOD:      3-Nov-95 at 23:57:26 by Bob Weiner
+#
+# This file is part of Hyperbole.
+# Available for use and distribution under the same terms as GNU Emacs.
+#
+# Copyright (C) 1994-1995, Free Software Foundation, Inc.
+# Developed with support from Motorola Inc.
+#
+# DESCRIPTION:  
+#
+# USAGE:        Emacs V19, configure Hyperbole for use in current directory:
+#                  make
+#               Rebuild out of date Emacs V19 Lisp .elc files:
+#                  make
+#               If you really want to rebuild all .elc files under Emacs 19:
+#                  make all-elc
+#               Emacs V18 and Epoch, rebuild Hyperbole in current directory:
+#                  make all-elc-v18
+#               Build out of date Emacs V18 Lisp .elc files:
+#                  make elc-v18
+#
+# DESCRIP-END.
+
+##########################################################################
+#                         CONFIGURABLE SECTION                           #
+##########################################################################
+
+# Executables for various versions of Emacs.  Ensure that the name following
+# the equals sign is correct for the version of emacs to which you set the
+# EMACS variable.
+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 Hyperbole mouse key help file.
+datadir = ../../etc
+# Where to install the Info version of the Hyperbole manual.
+infodir = ../../info
+# Where to install the Texinfo version of the Hyperbole manual.
+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 
+MV = \mv -f
+RM = \rm -f
+TAR = tar
+
+# Directory in which to create new distributions of Hyperbole.
+DIST_DIR = /tmp
+
+##########################################################################
+#                     NO CHANGES REQUIRED BELOW HERE.                    #
+##########################################################################
+
+HYPB_VERSION = 4.01
+
+MAN_DIR = ../../man
+
+# Libraries that must be pre-loaded before trying to byte-compile anything.
+PRELOADS = $(SITE_PRELOADS) -l ./hversion.el -l ./hyperbole.el -l ./hsite.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 kotl/
+# explicitly to those files which need it.
+VPATH = kotl
+
+EL_SRC = hsite.el hui-em19-b.el hui-ep-but.el hui-epV4-b.el hui-xe-but.el
+
+EL_COMPILE = hact.el hactypes.el hargs.el hbdata.el hbmap.el hbut.el \
+	     hgnus.el hhist.el hib-doc-id.el hib-kbd.el hibtypes.el \
+	     hinit.el hlvar.el hmail.el hmh.el hmoccur.el hmous-info.el \
+	     hmouse-drv.el hmouse-key.el hmouse-mod.el hmouse-reg.el \
+	     hmouse-sh.el hmouse-tag.el hpath.el hrmail.el hsmail.el \
+	     hsys-hbase.el hsys-w3.el hsys-wais.el \
+	     htz.el hui-menu.el hui-mini.el hui-mouse.el hui-window.el \
+	     hui.el hvar.el hversion.el hvm.el hypb.el hyperbole.el \
+	     set.el wconfig.el wrolo-logic.el wrolo-menu.el wrolo.el
+
+EL_KOTL = kotl/kfile.el kotl/kfill.el kotl/kimport.el kotl/klabel.el \
+	  kotl/klink.el kotl/kmenu.el kotl/knode.el kotl/kotl-mode.el \
+          kotl/kotl.el kotl/kproperty.el kotl/kprop-em.el \
+	  kotl/kprop-xe.el kotl/kview.el kotl/kvspec.el
+
+ELC_COMPILE = hactypes.elc hibtypes.elc hib-kbd.elc hib-doc-id.elc hact.elc \
+	     hargs.elc hbdata.elc hbmap.elc hbut.elc hgnus.elc hhist.elc \
+	     hinit.elc hlvar.elc hmail.elc hmh.elc hmoccur.elc hmous-info.elc \
+	     hmouse-drv.elc hmouse-key.elc hmouse-mod.elc hmouse-reg.elc \
+	     hmouse-sh.elc hmouse-tag.elc hpath.elc hrmail.elc hsmail.elc \
+	     hsys-hbase.elc hsys-w3.elc hsys-wais.elc \
+	     htz.elc hui-menu.elc hui-mini.elc hui-mouse.elc hui-window.elc \
+	     hui.elc hvar.elc hversion.elc hvm.elc hypb.elc hyperbole.elc \
+	     set.elc wconfig.elc wrolo-logic.elc wrolo-menu.elc wrolo.elc
+
+ELC_KOTL = kotl/kfile.elc kotl/kfill.elc kotl/kimport.elc kotl/klabel.elc \
+	   kotl/klink.elc kotl/kmenu.elc kotl/knode.elc kotl/kotl-mode.elc \
+           kotl/kotl.elc kotl/kproperty.elc \
+	   kotl/kprop-xe.elc kotl/kview.el kotl/kvspec.elc
+
+EL_TAGS = $(EL_SRC) $(EL_COMPILE) $(EL_KOTL)
+
+.SUFFIXES:            # Delete the default suffixes
+.SUFFIXES: .el .elc   # Define the list of file suffixes to match to rules
+
+# Install Hyperbole for use in current directory under Emacs 19.
+all: elc
+
+doc: info ps
+
+install: elc doc
+	cd $(MAN_DIR); $(INSTALL) hypb-mouse.txt $(datadir); \
+	  $(INSTALL) hyperbole.info* $(infodir); \
+	  $(INSTALL) hyperbole.texi $(texidir)
+
+install-v18:
+	$(MAKE) EMACS="$(EMACS18)" VPATH="" EL_KOTL="" ELC_KOTL="" install
+
+# Record any .el files that need to be compiled.
+.el.elc:
+	@ echo $< >> $(ELISP_TO_COMPILE)
+
+# Compile all recorded .el files.
+elc: elc-init hsite.el $(ELC_KOTL) $(ELC_COMPILE)
+	@- \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)
+
+elc-v18:
+	$(MAKE) EMACS="$(EMACS18)" VPATH="" EL_KOTL="" ELC_KOTL="" elc
+
+all-v19: all-elc install
+
+all-v18: all-elc-v18 install-v18
+
+# Remove and then rebuild all byte-compiled .elc files for V19 Emacs, even
+# those .elc files which do not yet exist.
+all-elc: hsite.el
+	$(RM) *.elc kotl/*.elc
+	$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile $(EL_KOTL) $(EL_COMPILE)
+
+# Remove and then rebuild all byte-compiled .elc files for V18 Emacs.
+# The kotl/ files are not used under V18 so they are not rebuilt.
+all-elc-v18:
+	$(MAKE) EMACS="$(EMACS18)" VPATH="" EL_KOTL="" ELC_KOTL="" all-elc
+
+# This creates the site-specific hsite.el file from hsite-ex.el if necessary.
+hsite.el: hsite-ex.el
+	\test -f hsite.el || $(CP) hsite-ex.el hsite.el
+
+dvi: $(MAN_DIR)/hyperbole.dvi
+
+info: $(infodir)/hyperbole.info
+
+ps: $(MAN_DIR)/hyperbole.ps
+
+$(MAN_DIR)/hyperbole.dvi: info
+	cd $(MAN_DIR); tex hyperbole.texi; \
+	   texindex hyperbole.??; tex hyperbole.texi
+
+$(infodir)/hyperbole.info: $(MAN_DIR)/hyperbole.texi
+	cd $(MAN_DIR); $(MAKEINFO) hyperbole.texi
+
+$(MAN_DIR)/hyperbole.ps: $(MAN_DIR)/hyperbole.texi
+	make $(MAN_DIR)/hyperbole.dvi
+	-$(RM) $(MAN_DIR)/hyperbole.ps
+	cd $(MAN_DIR); $(DVIPS) -o hyperbole.ps hyperbole.dvi
+
+tags: $(EL_TAGS)
+	$(ETAGS) $(EL_TAGS) h-skip-bytec.lsp
+
+clean:  
+	-$(RM) core .place* .*~ *~ *\# *.orig *.rej .nfs*
+	-cd kotl; $(RM) core .*~ *~ *\# *.orig *.rej .place* .nfs*
+	-cd $(MAN_DIR); $(RM) core .*~ *~ *\# *.orig *.rej .place* .nfs*
+
+version:
+	fgrep $(HYPB_VERSION) Makefile README hversion.el \
+	  $(MAN_DIR)/hyperbole.texi; echo ""
+
+# Don't use this target.
+bw-install:
+	cd /usr/local/infodock/lisp/; \
+	tar zxvf /tmp/hyperbole-$(HYPB_VERSION).tar.gz; \
+	cd hyperbole/; \
+	mv man/hyperbole.info* ../../info/; mv man/hyperbole.texi ../../man/; \
+	mv man/hypb-mouse.txt ../../etc/; rm -rf man
+
+dist: version elc info
+	echo "Ensure version # in README, hversion.el, Makefile and man/hyperbole.texi is up to date."
+	cd ..; $(TAR) clf $(DIST_DIR)/h.tar hyperbole; \
+	  $(RM) -r $(DIST_DIR)/hman; mkdir $(DIST_DIR)/hman; \
+	  $(CP) ../man/hyperbole.texi ../info/hyperbole.info* \
+             ../etc/hypb-mouse.txt $(DIST_DIR)/hman
+	$(RM) -r $(DIST_DIR)/hyperbole
+	cd $(DIST_DIR); $(TAR) xf h.tar; $(MV) hman hyperbole/man
+	cd $(DIST_DIR)/hyperbole; make distclean
+# This ver setup won't work under SunOS for some reason.
+#	ver="`head -3 hyperbole/hversion.el | tail -1 | sed -e 's/.*|//'`"
+	cd $(DIST_DIR); $(RM) h.tar ver; \
+	  $(TAR) --gzip -clf hyperbole-$(HYPB_VERSION).tar.gz hyperbole
+
+# Don't run this target manually.  Use 'make dist' instead.
+distclean: clean
+	-$(RM) TAGS hsite.el* kotl/TO-DO* $(MAN_DIR)/hyperbole.dvi \
+          $(MAN_DIR)/hyperbole.??