ilisp / Makefile

# -*- Mode: Makefile -*-

# Makefile --
#
# This file is part of ILISP.
# Please refer to the file COPYING for copyrights and licensing
# information.
# Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
# of present and past contributors.
#
# $Id$

# Note: this makefile assumes GNU make

# XEmacs is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.

# You should have received a copy of the GNU General Public License
# along with XEmacs; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

#==============================================================================
# Various Variables

VERSION = 1.20
AUTHOR_VERSION = 5.11.1
MAINTAINER = ilisp Maintainers <ilisp@cons.org>
PACKAGE = ilisp
PKG_TYPE = regular
REQUIRES = xemacs-base mail-lib fsf-compat eterm
CATEGORY = standard

ELCS =  ilisp.elc bridge.elc comint-ipc.elc completer.elc \
	ilisp-def.elc ilisp-sym.elc ilisp-inp.elc ilisp-ind.elc \
	ilisp-prc.elc ilisp-val.elc ilisp-out.elc ilisp-mov.elc \
	ilisp-key.elc ilisp-prn.elc ilisp-low.elc ilisp-doc.elc \
	ilisp-ext.elc ilisp-mod.elc ilisp-dia.elc ilisp-cmt.elc \
	ilisp-rng.elc ilisp-hnd.elc ilisp-utl.elc ilisp-cmp.elc \
	ilisp-kil.elc ilisp-snd.elc ilisp-xfr.elc ilisp-hi.elc \
	ilisp-aut.elc ilisp-cl.elc ilisp-cmu.elc ilisp-sbcl.elc \
	ilisp-acl.elc ilisp-kcl.elc ilisp-luc.elc ilisp-sch.elc \
	ilisp-hlw.elc ilisp-xls.elc ilisp-chs.elc ilxemacs.elc

ELCS_1 = extra/hyperspec.elc
ELCS_1_DEST = ilisp/extra
ELCS_1_FILES = extra/README extra/hyperspec*

OTHER_ELCS = bridge.elc ilcompat.elc \
	ilisp-mnb.elc ilisp.elc ilxemacs.elc

INFO_FILES = docs/$(PACKAGE).info*
HTML_FILES = docs/$(PACKAGE)*.html
HTML_DEP = docs/$(PACKAGE).html
TEXI_FILES = docs/$(PACKAGE).texi docs/README docs/doc-changes.txt \
	     docs/Makefile
MANUAL = $(PACKAGE)

EXTRA_SOURCES = *.lisp *.scm COPYING INSTALLATION HISTORY README \
	ilisp.el completer.el ilisp-mnb.el \
	Welcome GETTING-ILISP ilisp.emacs Makefile comint-v18.el \
	ilcompat.el ild.el ilfsf18.el ilfsf19.el ilfsf20.el \
	ilisp-bat.el ilisp-bug.el ilisp-cl-easy-menu.el \
	ilisp-imenu.el ilisp-mak.el ilisp-menu.el ilisp-s2c.el \
	ilisp-scheme-easy-menu.el ilisp-src.el illuc19.el ilxemacs.el

DATA_FILES = pictures/ilisp*
DATA_DEST = ilisp

rules-file = $(wildcard ../../XEmacs.rules)
ifeq ($(rules-file),)
        XEMACS ?= xemacs
	DOCS = ../../man/ilisp
else
        include ../../XEmacs.rules
	DOCS = docs
endif

ifeq ($(XEMACS_NATIVE_NT),t)
LN = copy
else
LN = cp
endif

# Pick the HyperSpec access package you prefer among the ones available in
# directory `extra'
HyperSpec = hyperspec-naggum.el

FaslFiles = *.fasl *.fas *.lib *.x86f *.sparcf

# XEmacs native MS Windows needs this quoting of command-line
# arguments due to basic differences in the handling of command-line
# arguments in Unix and MS Windows.
#### not any more, as of Cygwin 1.1.8-2 (Feb 2001) -- ben
ifeq ($(XEMACS_NATIVE_NT_NEEDS_EXTRA_QUOTING),t)
PRELOADS = -eval "(push (expand-file-name \\\".\\\") load-path)"
else
PRELOADS = -eval "(push (expand-file-name \".\") load-path)"
endif

# The 'rm' command used (we redefine it mostly because it may be
# aliased
RM = /bin/rm -f

all:: compile $(ELCS_1) auto-autoloads.elc $(DOCS)/ilisp.info

compile:
	$(XEMACS) -batch -l ilisp-mak.el
	(cd extra; $(LN) -f $(HyperSpec) hyperspec.el;true)
	$(XEMACS) -batch -eval '(setq load-path (append (list "../mail-lib" "../fsf-compat") load-path))' --eval '(byte-compile-file "extra/hyperspec.el")'

compress:
	gzip *.el

srckit: srckit-std

binkit: binkit-common

clean::
	-$(RM) $(ELCS) $(ELCS_1) *~ $(OTHER_ELCS) extra/hyperspec.el \
	extra/*~ TAGS $(FaslFiles) $(INFO_FILES)
	$(MAKE) $(MFLAGS) -C $(DOCS) clean

loadfile:
	touch ilisp-all.elc
	cat $(ELCS) > ilisp-all.elc
	$(RM) $(ELCS)
# Note that the redirection is done by a Bourne Shell.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.