summaryrefslogtreecommitdiff
path: root/SCM/Makefile.orig
diff options
context:
space:
mode:
Diffstat (limited to 'SCM/Makefile.orig')
-rw-r--r--SCM/Makefile.orig736
1 files changed, 736 insertions, 0 deletions
diff --git a/SCM/Makefile.orig b/SCM/Makefile.orig
new file mode 100644
index 0000000..1477c86
--- /dev/null
+++ b/SCM/Makefile.orig
@@ -0,0 +1,736 @@
+# "Makefile" for scm Scheme Interpreter
+# Copyright (C) 1990-2008 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+
+# Author: Aubrey Jaffer
+
+SHELL = /bin/sh
+#CC = gcc
+#CFLAGS = -g
+#LIBS =
+#LD = $(CC) -g
+LD = $(CC)
+SCMLIT = ./scmlit
+SCMEXE = ./scm
+#SHOBJS = *.sl
+SHOBJS = *.so
+
+#BUILD = ./build -hsystem -p svr4-gcc-sun-ld
+BUILD = ./build -hsystem
+
+# Workaround for unexec on Fedora Core 1 GNU/Linux i386
+#SETARCH = setarch i386
+
+# http://jamesthornton.com/writing/emacs-compile.html
+# [For FC3] combreloc has become the default for recent GNU ld, which
+# breaks the unexec/undump on all versions of both Emacs and
+# XEmacs...
+#
+# Add the following to udscm5.opt:
+#--linker-options="-z nocombreloc"
+
+# http://www.opensubscriber.com/message/emacs-devel@gnu.org/1007118.html
+# Kernels later than 2.6.11 must do (as root) before dumping:
+#echo 0 > /proc/sys/kernel/randomize_va_space
+
+#for RPMs
+RELEASE = 1
+
+intro:
+ @echo
+ @echo "This is the scm-$(VERSION) distribution. Read \"scm.info\""
+ @echo "to learn how to build and install SCM. Or browse"
+ @echo " http://swiss.csail.mit.edu/~jaffer/SCM"
+ @echo
+ $(MAKE) scm
+
+srcdir.mk: Makefile
+ echo "CPROTO=`type cproto | sed 's%.* %%'`" > srcdir.mk
+ echo "srcdir=`pwd`/" >> srcdir.mk
+#srcdir=$(HOME)/scm/
+#srcdir=/usr/local/src/scm/
+include srcdir.mk
+
+# directory where COPYING and InitXXX.scm reside.
+#IMPLPATH = /usr/local/src/scm/
+#this one is good for bootstrapping
+#IMPLPATH = `pwd`/
+IMPLPATH=$(srcdir)
+include patchlvl.h
+IMPLINIT = $(IMPLPATH)Init$(VERSION).scm
+
+# If pathname where InitXXX.scm resides is not known in advance then
+# SCM_INIT_PATH is the environment variable whose value is the
+# pathname where InitXXX.scm resides.
+
+hfiles = scm.h scmfig.h setjump.h patchlvl.h continue.h
+cfiles = scmmain.c scm.c time.c repl.c ioext.c scl.c sys.c eval.c \
+ subr.c sc2.c unif.c rgx.c crs.c dynl.c record.c posix.c socket.c\
+ unix.c rope.c ramap.c gsubr.c edline.c continue.c \
+ findexec.c script.c debug.c byte.c bytenumb.c differ.c
+ufiles = pre-crt0.c ecrt0.c gmalloc.c unexec.c unexelf.c unexhp9k800.c \
+ unexsunos4.c unexalpha.c unexsgi.c
+# cxux-crt0.s ecrt0.c gmalloc.c pre-crt0.c unexaix.c unexalpha.c \
+# unexapollo.c unexconvex.c unexec.c unexelf.c unexelf1.c \
+# unexencap.c unexenix.c unexfx2800.c unexhp9k800.c unexmips.c \
+# unexnext.c unexnt.c unexsgi.c unexsni.c unexsunos4.c
+ofiles = scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o \
+ continue.o findexec.o script.o debug.o
+# continue-ia64.o
+ifiles = Init$(VERSION).scm Transcen.scm Link.scm Macro.scm Macexp.scm \
+ Tscript.scm compile.scm Iedline.scm Idiffer.scm
+hobfiles = hobbit.scm scmhob.scm scmhob.h
+turfiles = turtlegr.c turtle grtest.scm
+xafiles = xatoms.scm x11.scm xevent.scm keysymdef.scm
+xfiles = x.c x.h xgen.scm xevent.h inc2scm $(xafiles)
+
+all: require.scm
+ $(MAKE) mydlls
+ $(MAKE) dscm5
+ $(MAKE) differ.so
+ $(MAKE) db.so
+ if [ -d /usr/X11R6/lib ]; then $(MAKE) x.so; fi
+require.scm:
+ cp -p requires.scm require.scm
+
+# SCMLIT -- try making this first!
+scmlit: $(ofiles) scmmain.o require.scm Makefile
+ $(LD) -o scmlit $(ofiles) scmmain.o $(LIBS)
+ $(MAKE) checklit
+scmflags.h: scmflags
+scmflags:
+ echo "#ifndef IMPLINIT" > newflags.h
+ echo "#define IMPLINIT \"$(IMPLINIT)\"" >> newflags.h
+ echo "#endif" >> newflags.h
+ echo "#define CHEAP_CONTINUATIONS" >> newflags.h
+ echo "#define CAUTIOUS" >> newflags.h
+ -if (cmp -s newflags.h scmflags.h) then rm newflags.h; \
+ else mv newflags.h scmflags.h; fi
+.c.o:
+ $(CC) -c $(CFLAGS) $< -o $@
+scm.o: scm.c scm.h scmfig.h scmflags.h patchlvl.h
+scmmain.o: scmmain.c scm.h scmfig.h scmflags.h patchlvl.h
+scl.o: scl.c scm.h scmfig.h scmflags.h
+eval.o: eval.c scm.h scmfig.h scmflags.h setjump.h
+debug.o: debug.c scm.h scmfig.h scmflags.h setjump.h
+unif.o: unif.c scm.h scmfig.h scmflags.h
+#ramap.o: ramap.c scm.h scmfig.h scmflags.h
+repl.o: repl.c scm.h scmfig.h scmflags.h setjump.h
+sys.o: sys.c scm.h scmfig.h scmflags.h setjump.h
+time.o: time.c scm.h scmfig.h scmflags.h
+subr.o: subr.c scm.h scmfig.h scmflags.h
+rope.o: rope.c scm.h scmfig.h scmflags.h
+continue.o: continue.c continue.h setjump.h scm.h scmfig.h scmflags.h
+continue-ia64.o: continue-ia64.S get-contoffset-ia64.c
+ gcc -o get-contoffset-ia64 get-contoffset-ia64.c
+ ./get-contoffset-ia64 contoffset-ia64.S
+ gcc -c -o continue-ia64.o continue-ia64.S
+
+# Simple build with bignums for running JACAL
+scm: scmlit
+ $(BUILD) -s $(IMPLPATH) -F cautious bignums arrays # i/o-extensions
+ $(MAKE) check
+
+# R4RS interpreter (not dumpable)
+scm4.opt:
+ echo "-F cautious bignums arrays inexact" >> scm4.opt
+ echo "-F engineering-notation dynamic-linking" >> scm4.opt
+# if type gcc; then echo "--compiler-options=\"-fno-guess-branch-probability\"" >> scm4.opt; fi
+scm4: $(cfiles) $(hfiles) build.scm build scm4.opt
+ $(BUILD) -f scm4.opt -o scm -s $(IMPLPATH)
+ -rm $(ofiles) scmmain.o
+ -$(MAKE) check
+
+# R5RS interpreter (not dumpable)
+scm5.opt:
+ echo "-F cautious bignums arrays inexact" >> scm5.opt
+ echo "-F engineering-notation dynamic-linking" >> scm5.opt
+ echo "-F macro" >> scm5.opt
+# if type gcc; then echo "--compiler-options=\"-fno-guess-branch-probability\"" >> scm5.opt; fi
+scm5: $(cfiles) $(hfiles) build.scm build scm5.opt
+ $(BUILD) -f scm5.opt -o scm -s $(IMPLPATH)
+ -rm $(ofiles) scmmain.o
+ -$(MAKE) check
+ -$(MAKE) checkmacro
+
+# dumpable R4RS interpreter
+udscm4.opt:
+ echo "-F cautious bignums arrays inexact" >> udscm4.opt
+ echo "-F engineering-notation dump dynamic-linking" >> udscm4.opt
+# if type gcc; then echo "--compiler-options=\"-fno-guess-branch-probability\"" >> udscm4.opt; fi
+udscm4: $(cfiles) $(hfiles) build.scm build udscm4.opt
+ $(BUILD) -f udscm4.opt -o udscm4 -s $(IMPLPATH)
+ -rm $(ofiles) scmmain.o
+dscm4: udscm4 $(ifiles) require.scm
+ if [ -f /proc/sys/kernel/randomize_va_space -a\
+ "`cat /proc/sys/kernel/randomize_va_space`" != "0" ]; then {\
+ cat /proc/sys/kernel/randomize_va_space > randomize_va_space.tmp;\
+ echo 0 > /proc/sys/kernel/randomize_va_space;\
+ } fi
+ -rm -f slibcat implcat scm~
+ -mv scm scm~
+ echo "(quit)" | $(SETARCH) ./udscm4 -no-init-file -o scm
+ if [ -f randomize_va_space.tmp ]; then {\
+ cat randomize_va_space.tmp > /proc/sys/kernel/randomize_va_space;\
+ rm randomize_va_space.tmp;\
+ } fi
+
+# dumpable R5RS interpreter
+udscm5.opt:
+ $(MAKE) udscm4.opt
+ cat udscm4.opt >> udscm5.opt
+ echo "-F macro" >> udscm5.opt
+udscm5: $(cfiles) $(ufiles) $(hfiles) build.scm build udscm5.opt
+ $(BUILD) -f udscm5.opt -o udscm5 -s $(IMPLPATH)
+ -rm $(ofiles) scmmain.o
+ strip udscm5
+dscm5: udscm5 $(ifiles) require.scm
+ if [ -f /proc/sys/kernel/randomize_va_space -a\
+ "`cat /proc/sys/kernel/randomize_va_space`" != "0" ]; then {\
+ cat /proc/sys/kernel/randomize_va_space > randomize_va_space.tmp;\
+ echo 0 > /proc/sys/kernel/randomize_va_space;\
+ } fi
+ -rm -f slibcat implcat scm~
+ -mv scm scm~
+ echo "(quit)" | $(SETARCH) ./udscm5 -no-init-file -r5 -o scm
+ if [ -f randomize_va_space.tmp ]; then {\
+ cat randomize_va_space.tmp > /proc/sys/kernel/randomize_va_space;\
+ rm randomize_va_space.tmp;\
+ } fi
+ $(MAKE) check
+ $(MAKE) checkmacro
+
+# R5RS interpreter for debugging with GDB.
+gdb.opt: udscm5.opt
+ cat udscm5.opt > gdb.opt
+ echo "-F debug" >> gdb.opt
+ echo "--compiler-options=-Wall" >> gdb.opt
+ echo "--linker-options=-Wall" >> gdb.opt
+ echo "-D NO_ENV_CACHE" >> gdb.opt
+# echo "-DTEST_FARLOC -DTEST_SCM2PTR" >> gdb.opt
+udgdbscm: gdb.opt $(cfiles) $(ufiles) $(hfiles) build.scm build
+ $(BUILD) -f gdb.opt -o udgdbscm -s $(IMPLPATH)
+gdbscm: udgdbscm $(ifiles) require.scm
+ echo "(quit)" | $(SETARCH) ./udgdbscm -no-init-file -r5 -o gdbscm
+
+# R4RS interpreter for profiling
+pg.opt: udscm4.opt
+ cat udscm4.opt >> pg.opt
+ echo "--compiler-options=-pg" >> pg.opt
+ echo "--linker-options=-pg" >> pg.opt
+ echo "-DLACK_SETITIMER" >> pg.opt
+udpgscm: pg.opt
+ $(BUILD) -f pg.opt -o udpgscm -s $(IMPLPATH)
+pgscm: udpgscm
+ echo "(quit)" | $(SETARCH) ./udpgscm -no-init-file -o pgscm
+
+# R4RS SCM library
+libscm.opt:
+ echo "-F cautious bignums arrays inexact" >> libscm.opt
+ echo "-F engineering-notation" >> libscm.opt
+ echo "-F dynamic-linking" >> libscm.opt
+mylib: libscm.a
+libscm.a: libscm.opt scm.h scmfig.h
+ $(BUILD) -t lib -f libscm.opt
+libtest: libscm.a libtest.c
+ $(LD) -o libtest libtest.c libscm.a -ldl -lm -lc
+ ./libtest
+
+# DLLs for dynamic linking
+dlls.opt:
+ echo "--compiler-options=-Wall" >> dlls.opt
+ echo "--linker-options=-Wall" >> dlls.opt
+mydlls: dlls.opt bytenumb.so
+ $(BUILD) -t dll -f dlls.opt -c ramap.c
+ $(BUILD) -t dll -f dlls.opt -c record.c
+ $(BUILD) -t dll -f dlls.opt -c gsubr.c
+ $(BUILD) -t dll -f dlls.opt -c byte.c
+ $(BUILD) -t dll -f dlls.opt -c sc2.c
+ $(BUILD) -t dll -f dlls.opt -c ioext.c
+ $(BUILD) -t dll -f dlls.opt -c posix.c
+ $(BUILD) -t dll -f dlls.opt -c socket.c
+ $(BUILD) -t dll -f dlls.opt -c unix.c
+ $(BUILD) -t dll -f dlls.opt -F curses
+ $(BUILD) -t dll -f dlls.opt -c rgx.c
+ if [ -f /usr/lib/libreadline.so ]; \
+ then $(BUILD) -t dll -f dlls.opt -F edit-line; fi
+
+rwb-isam.scm wbtab.scm: ../wb/rwb-isam.scm ../wb/wbtab.scm
+ cp ../wb/rwb-isam.scm ../wb/wbtab.scm ./
+db.so: dlls.opt rwb-isam.scm wbtab.scm scm.h scmfig.h
+ if [ -f ../wb/blink.c ]; then \
+ $(BUILD) -t dll -f dlls.opt -F wb; fi
+
+bytenumb.so: bytenumb.c scm.h scmfig.h
+ $(BUILD) -t dll -f dlls.opt -F byte-number inexact bignums
+differ.so: differ.c scm.h scmfig.h
+ $(BUILD) -t dll -f dlls.opt -F differ
+myturtle: dlls.opt scm.h scmfig.h
+ $(BUILD) -t dll -f dlls.opt -F turtlegr
+
+x.so: x.c x.h xevent.h dlls.opt scm.h scmfig.h
+ $(BUILD) -t dll -f dlls.opt -F x
+
+# Generate x11 include and Scheme files
+incdir=/usr/include/
+x11.scm: inc2scm
+ rm -f x11.scm
+ $(SCMLIT) -l inc2scm x11.scm x: $(DESTDIR)$(incdir) X11/X.h X11/cursorfont.h X11/Xlib.h \
+ X11/Xutil.h
+keysymdef.scm: inc2scm
+ rm -f keysymdef.scm
+ $(SCMLIT) -l inc2scm keysymdef.scm x: $(DESTDIR)$(incdir) X11/keysym.h X11/keysymdef.h
+xevent.h xevent.scm xatoms.scm: xgen.scm Makefile
+ $(SCMLIT) -l xgen.scm $(DESTDIR)$(incdir)X11/Xlib.h
+x.h: x.c xevent.h
+ if [ -x "$(CPROTO)" ]; then $(CPROTO) x.c > x.h; fi
+
+# Check SCM; SCMLIT function.
+checklit:
+ $(SCMLIT) -fr4rstest.scm -e'(test-sc4)(test-delay)(gc)' \
+ -e '(or (null? errs) (quit 1))'
+Checklit:
+ $(SCMLIT) --no-symbol-case-fold -fr4rstest.scm -e'(test-sc4)(test-delay)(gc)' \
+ -e '(or (null? errs) (quit 1))'
+check: r4rstest.scm
+ $(SCMEXE) -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \
+ -e '(or (null? errs) (quit 1))'
+Check: r4rstest.scm
+ $(SCMEXE) --no-symbol-case-fold -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \
+ -e '(or (null? errs) (quit 1))'
+checkmacro: syntest1.scm syntest2.scm r4rstest.scm
+ $(SCMEXE) -rmacro -fsyntest1.scm -fsyntest2.scm \
+ -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)' -fsyntest1 \
+ -e '(or (null? errs) (quit 1))'
+
+# Measuare running speed of SCM; SCMLIT. Results are appended to file
+# "BenchLog"
+bench:
+ echo `whoami`@`hostname` testing scm \
+ `$(SCMEXE) -e'(display *scm-version*)'` >> BenchLog
+ echo on `date` >> BenchLog
+ ls -l scm >> BenchLog
+ size scm >> BenchLog
+ uname -a >> BenchLog
+ $(SCMEXE) -lbench.scm
+ -cat prng.log >> BenchLog
+ echo >> BenchLog
+ -cat pi.log >> BenchLog
+ echo >> BenchLog
+ echo
+ tail -20 BenchLog
+ -rm -f pi.log prng.log
+benchlit:
+ echo `whoami`@`hostname` testing scmlit \
+ `$(SCMLIT) -e'(display *scm-version*)'` >> BenchLog
+ echo on `date` >> BenchLog
+ ls -l scmlit >> BenchLog
+ size scmlit >> BenchLog
+ uname -a >> BenchLog
+ $(SCMLIT) -lbench.scm
+ -cat prng.log >> BenchLog
+ echo >> BenchLog
+ -cat pi.log >> BenchLog
+ echo >> BenchLog
+ echo
+ tail -20 BenchLog
+ -rm -f pi.log prng.log
+report:
+ $(SCMLIT) -e"(slib:report #t)"
+ $(SCMEXE) -e"(slib:report #t)"
+
+implcat: $(SHOBJS) mkimpcat.scm
+ $(SCMLIT) -lmkimpcat.scm
+
+htmldir=../public_html/
+dvi: scm.dvi Xlibscm.dvi hobbit.dvi
+scm.dvi: $(texifiles) Makefile
+ texi2dvi -b -c scm.texi
+Xlibscm.dvi: version.txi Xlibscm.texi Makefile
+ texi2dvi -b -c Xlibscm.texi
+hobbit.dvi: version.txi hobbit.texi Makefile
+ texi2dvi -b -c hobbit.texi
+xdvi: scm.dvi
+ xdvi scm.dvi
+Xdvi: Xlibscm.dvi
+ xdvi Xlibscm.dvi
+hobdvi: hobbit.dvi
+ xdvi hobbit.dvi
+
+pdf: $(htmldir)scm.pdf $(htmldir)Xlibscm.pdf $(htmldir)hobbit.pdf
+$(htmldir)scm.pdf: $(texifiles) Makefile
+ texi2pdf -b -c scm.texi
+ mv scm.pdf $(htmldir)
+$(htmldir)Xlibscm.pdf: version.txi Xlibscm.texi Makefile
+ texi2pdf -b -c Xlibscm.texi
+ mv Xlibscm.pdf $(htmldir)
+$(htmldir)hobbit.pdf: version.txi hobbit.texi Makefile
+ texi2pdf -b -c hobbit.texi
+ mv hobbit.pdf $(htmldir)
+xpdf: $(htmldir)scm.pdf
+ xpdf $(htmldir)scm.pdf
+Xpdf: $(htmldir)Xlibscm.pdf
+ xpdf $(htmldir)Xlibscm.pdf
+hobpdf: $(htmldir)hobbit.pdf
+ xpdf $(htmldir)hobbit.pdf
+
+PREVDOCS = prevdocs/
+html: $(htmldir)scm_toc.html $(htmldir)Xlibscm_toc.html $(htmldir)hobbit_toc.html
+
+TEXI2HTML = /usr/local/bin/texi2html -split -verbose
+
+$(htmldir)scm_toc.html: Makefile $(texifiles)
+ ${TEXI2HTML} scm.texi
+ -rm -f scm_stoc.html
+ if [ -f $(PREVDOCS)scm_toc.html ]; \
+ then hitch $(PREVDOCS)scm_\*.html scm_\*.html $(htmldir); \
+ else cp scm_*.html $(htmldir); fi
+$(htmldir)Xlibscm_toc.html: Makefile version.txi Xlibscm.texi
+ ${TEXI2HTML} Xlibscm.texi
+ -rm -f Xlibscm_stoc.html
+ chpat '</HEAD>' '<LINK REL="icon" HREF="Logo/SCM.ico">\
+<LINK REL="shortcut icon" HREF="Logo/SCM.ico">\
+</HEAD>' Xlibscm_*.html
+ cp Xlibscm_*.html $(htmldir)
+$(htmldir)hobbit_toc.html: Makefile version.txi hobbit.texi
+ ${TEXI2HTML} hobbit.texi
+ -rm -f hobbit_stoc.html
+ chpat '</HEAD>' '<LINK REL="icon" HREF="Logo/SCM.ico">\
+<LINK REL="shortcut icon" HREF="Logo/SCM.ico">\
+</HEAD>' hobbit_*.html
+ cp hobbit_*.html $(htmldir)
+
+prevdocs: $(PREVDOCS)scm_toc.html $(PREVDOCS)scm.info
+$(PREVDOCS)scm_toc.html:
+$(PREVDOCS)scm.info: Makefile
+ cd $(PREVDOCS); unzip -a $(dest)scm*.zip
+ rm $(PREVDOCS)scm/scm.info
+ cd $(PREVDOCS)scm; make scm.info; make scm_toc.html
+ cd $(PREVDOCS); mv -f scm/scm.info scm/*.html ./
+ rm -rf $(PREVDOCS)scm
+ -rm -f scm-$(VERSION).info
+
+################ INSTALL DEFINITIONS ################
+
+rpm_prefix=$(HOME)/rpmbuild/
+
+prefix = /usr/local/
+exec_prefix = $(prefix)
+# directory where `make install' will put executable.
+bindir = $(exec_prefix)bin/
+libdir = $(exec_prefix)lib/
+libscmdir = $(libdir)scm/
+# directory where `make install' will put manual page.
+man1dir = $(prefix)man/man1/
+infodir = $(prefix)info/
+includedir = $(prefix)include/
+
+README: build build.scm scm.info
+ $(SCMEXE) -l build -e"(make-readme)"
+
+platform.txi: build.scm
+ $(SCMLIT) -r database-browse -l build.scm -e "(browse build 'platform)" \
+ > platform.txi
+features.txi: build build.scm
+ $(SCMLIT) -l build -e"(make-features-txi)"
+scm.info: $(texifiles)
+ makeinfo scm.texi --no-split -o scm.info
+ mv scm.info scm-$(VERSION).info
+ if [ -f $(PREVDOCS)scm.info ]; \
+ then infobar $(PREVDOCS)scm.info scm-$(VERSION).info scm.info; \
+ else cp scm-$(VERSION).info scm.info; fi
+$(DESTDIR)$(infodir)scm.info: scm.info
+ mkdir -p $(DESTDIR)$(infodir)
+ cp -p scm.info $(DESTDIR)$(infodir)scm.info
+ -install-info $(DESTDIR)$(infodir)scm.info $(DESTDIR)$(infodir)dir
+ -rm $(DESTDIR)$(infodir)scm.info.gz
+
+Xlibscm.info: version.txi Xlibscm.texi
+ makeinfo Xlibscm.texi --no-split -o Xlibscm.info
+$(DESTDIR)$(infodir)Xlibscm.info: Xlibscm.info
+ mkdir -p $(DESTDIR)$(infodir)
+ cp Xlibscm.info $(DESTDIR)$(infodir)Xlibscm.info
+ -install-info $(DESTDIR)$(infodir)Xlibscm.info $(DESTDIR)$(infodir)dir
+ -rm $(DESTDIR)$(infodir)Xlibscm.info*.gz
+
+hobbit.info: version.txi hobbit.texi
+ makeinfo hobbit.texi --no-split -o hobbit.info
+$(DESTDIR)$(infodir)hobbit.info: hobbit.info
+ mkdir -p $(DESTDIR)$(infodir)
+ cp hobbit.info $(DESTDIR)$(infodir)hobbit.info
+ -install-info $(DESTDIR)$(infodir)hobbit.info $(DESTDIR)$(infodir)dir
+ -rm $(DESTDIR)$(infodir)hobbit.info*.gz
+
+info: installinfo
+installinfo: $(DESTDIR)$(infodir)scm.info $(DESTDIR)$(infodir)Xlibscm.info $(DESTDIR)$(infodir)hobbit.info
+
+infoz: installinfoz
+installinfoz: $(DESTDIR)$(infodir)scm.info.gz $(DESTDIR)$(infodir)Xlibscm.info.gz $(DESTDIR)$(infodir)hobbit.info.gz
+$(DESTDIR)$(infodir)scm.info.gz: $(DESTDIR)$(infodir)scm.info
+ gzip -f $(DESTDIR)$(infodir)scm.info
+$(DESTDIR)$(infodir)Xlibscm.info.gz: $(DESTDIR)$(infodir)Xlibscm.info
+ gzip -f $(DESTDIR)$(infodir)Xlibscm.info
+$(DESTDIR)$(infodir)hobbit.info.gz: $(DESTDIR)$(infodir)hobbit.info
+ gzip -f $(DESTDIR)$(infodir)hobbit.info
+
+lsdfiles = $(ifiles) $(hobfiles) COPYING COPYING.LESSER r4rstest.scm \
+ build build.scm mkimpcat.scm $(SHOBJS) patchlvl.h \
+ Iedline.scm $(xafiles) db.so wbtab.scm rwb-isam.scm
+
+install: scm.1
+ mkdir -p $(DESTDIR)$(bindir)
+ mkdir -p $(DESTDIR)$(man1dir)
+ -cp scm scmlit $(DESTDIR)$(bindir)
+ -strip $(DESTDIR)$(bindir)scmlit
+ -cp scm.1 $(DESTDIR)$(man1dir)
+ mkdir -p $(DESTDIR)$(libscmdir)
+ test -f $(DESTDIR)$(libscmdir)require.scm || \
+ cp requires.scm $(DESTDIR)$(libscmdir)require.scm
+ -cp $(lsdfiles) $(DESTDIR)$(libscmdir)
+
+installlib:
+ mkdir -p $(DESTDIR)$(includedir)
+ cp scm.h scmfig.h scmflags.h $(DESTDIR)$(includedir)
+ mkdir -p $(DESTDIR)$(libdir)
+ cp libscm.a $(DESTDIR)$(libdir)libscm.a
+
+uninstall:
+ -rm $(DESTDIR)$(bindir)scm $(DESTDIR)$(bindir)scmlit
+ -rm $(DESTDIR)$(man1dir)scm.1
+ -rm $(DESTDIR)$(includedir)scm.h $(DESTDIR)$(includedir)scmfig.h $(DESTDIR)$(includedir)scmflags.h
+ -rm $(DESTDIR)$(libdir)libscm.a
+ -(cd $(DESTDIR)$(libscmdir); rm $(lsdfiles) require.scm)
+
+uninstallinfo:
+ -rm $(DESTDIR)$(infodir)scm.info.gz $(DESTDIR)$(infodir)Xlibscm.info.gz\
+ $(DESTDIR)$(infodir)hobbit.info.gz
+
+scm.doc: scm.1
+ nroff -man $< | ul -tunknown >$@
+
+docs: $(DESTDIR)$(infodir)scm.info.gz $(htmldir)scm_toc.html scm.doc \
+ scm.dvi Xlibscm.dvi hobbit.dvi \
+ $(htmldir)scm.pdf $(htmldir)Xlibscm.pdf $(htmldir)hobbit.pdf
+ xdvi -s 4 scm.dvi
+
+winscm5.opt:
+ echo "-F arrays array-for-each byte i/o-extensions" >> winscm5.opt
+ echo "-F bignums inexact engineering-notation" >> winscm5.opt
+ echo "-F cautious rev2-procedures macro" >> winscm5.opt
+ echo "-F wb" >> winscm5.opt
+gw32scmwb.sh: winscm5.opt build.scm Makefile version.txi scmlit
+ ./build -p gnu-win32 -f winscm5.opt -w gw32scmwb.sh
+scm.exe: gw32scmwb.sh
+ ./gw32scmwb.sh
+
+hobbit.html: hobbit.texi
+ makeinfo --html --no-split --no-warn hobbit.texi
+scm.html: $(texifiles)
+ makeinfo --html --no-split --no-warn --force scm.texi
+
+## to build a windows installer
+## make sure makeinfo and NSIS are available on the commandline
+w32install: scm.exe hobbit.html scm.html
+ makensis scm.nsi
+
+#### Stuff for maintaining SCM below ####
+
+ver = $(VERSION)
+version.txi: patchlvl.h
+ echo @set SCMVERSION $(ver) > version.txi
+ echo @set SCMDATE `date +"%B %Y"` >> version.txi
+
+RM_R = rm -rf
+
+confiles = scmconfig.h.in mkinstalldirs acconfig-1.5.h install-sh \
+ configure configure.in Makefile.in COPYING COPYING.LESSER \
+ README.unix
+
+tfiles = r4rstest.scm example.scm pi.scm pi.c split.scm bench.scm \
+ syntest2.scm syntest1.scm
+texifiles = version.txi scm.texi fdl.texi indexes.texi platform.txi features.txi
+dfiles = ANNOUNCE README COPYING COPYING.LESSER scm.1 scm.doc QUICKREF \
+ $(texifiles) scm.info Xlibscm.info Xlibscm.texi \
+ hobbit.info hobbit.texi ChangeLog
+mfiles = Makefile build.scm build build.bat requires.scm \
+ .gdbinit mkimpcat.scm disarm.scm scm.spec scm.nsi
+sfiles = setjump.mar setjump.s ugsetjump.s continue-ia64.S \
+ get-contoffset-ia64.c
+wbfiles = wbtab.scm rwb-isam.scm
+afiles = $(dfiles) $(cfiles) $(hfiles) $(ifiles) $(tfiles) $(mfiles) \
+ $(hobfiles) $(sfiles) $(ufiles) $(xfiles) $(turfiles) $(wbfiles)
+
+makedev = make -f $(HOME)/makefile.dev
+CHPAT=$(HOME)/bin/chpat
+RSYNC=rsync -bav
+UPLOADEE=swissnet_upload
+dest = $(HOME)/dist/
+DOSCM = /c/Voluntocracy/dist/
+
+temp/scm: $(afiles)
+ -$(RM_R) temp
+ mkdir -p temp/scm
+ ln $(afiles) temp/scm
+
+release: dist pdf # rpm
+ cvs tag -F scm-$(VERSION)
+ cp ANNOUNCE $(htmldir)SCM_ANNOUNCE.txt
+ $(RSYNC) $(htmldir)SCM.html $(htmldir)SCM_ANNOUNCE.txt $(UPLOADEE):public_html/
+ $(RSYNC) $(dest)README $(dest)scm-$(VERSION).zip \
+ $(dest)scm-$(VERSION)-$(RELEASE).src.rpm $(dest)scm-$(VERSION)-$(RELEASE).i386.rpm \
+ $(htmldir)hobbit.pdf $(htmldir)Xlibscm.pdf $(UPLOADEE):dist/
+# upload $(dest)README $(dest)scm-$(VERSION).zip ftp.gnu.org:gnu/jacal/
+
+upzip: $(HOME)/pub/scm.zip
+ $(RSYNC) $(HOME)/pub/scm.zip $(UPLOADEE):pub/
+ $(RSYNC) r4rstest.scm $(HOME)/dist/
+ $(RSYNC) r4rstest.scm $(UPLOADEE):dist/
+
+dist: $(dest)scm-$(VERSION).zip
+$(dest)scm-$(VERSION).zip: temp/scm
+ $(makedev) DEST=$(dest) PROD=scm ver=-$(VERSION) zip
+
+rpm: pubzip
+# $(dest)scm-$(VERSION)-$(RELEASE).i386.rpm: $(dest)scm-$(VERSION).zip
+ cp -f $(HOME)/pub/scm.zip $(rpm_prefix)SOURCES/scm-$(VERSION).zip
+ rpmbuild -ba scm.spec # --clean
+ rm $(rpm_prefix)SOURCES/scm-$(VERSION).zip
+ mv $(rpm_prefix)RPMS/i386/scm-$(VERSION)-$(RELEASE).i386.rpm \
+ $(rpm_prefix)SRPMS/scm-$(VERSION)-$(RELEASE).src.rpm $(dest)
+
+shar: scm.shar
+scm.shar: temp/scm
+ $(makedev) PROD=scm shar
+dclshar: scm.com
+com: scm.com
+scm.com: temp/scm
+ $(makedev) PROD=scm com
+zip: scm.zip
+scm.zip: temp/scm
+ $(makedev) PROD=scm zip
+doszip: $(DOSCM)scm-$(VERSION).zip
+$(DOSCM)scm-$(VERSION).zip: temp/scm turtle turtlegr.c grtest.scm SCM.ico scm.html hobbit.html
+ $(makedev) DEST=$(DOSCM) PROD=scm ver=-$(VERSION) zip
+ -cd ..; zip -9ur $(DOSCM)scm-$(VERSION).zip \
+ scm/turtle scm/turtlegr.c scm/grtest.scm \
+ scm/SCM.ico \
+ scm/scm.html scm/hobbit.html
+ zip -d $(DOSCM)scm-$(VERSION).zip scm/scm.info scm/Xlibscm.info scm/hobbit.info
+pubzip: $(HOME)/pub/scm.zip
+$(HOME)/pub/scm.zip: temp/scm
+ $(makedev) DEST=$(HOME)/pub/ PROD=scm zip
+
+diffs: pubdiffs
+pubdiffs: temp/scm
+ $(makedev) DEST=$(HOME)/pub/ PROD=scm pubdiffs
+distdiffs: temp/scm
+ $(makedev) DEST=$(dest) PROD=scm ver=$(ver) distdiffs
+
+CITERS = ANNOUNCE hobbit.texi hobbit.scm \
+ ../jacal/ANNOUNCE ../jacal/jacal.texi \
+ ../wb/ANNOUNCE ../wb/README ../wb/wb.texi \
+ ../synch/ANNOUNCE \
+ ../dist/README \
+ $(DOSCM)unzipall.bat $(DOSCM)buildall \
+ $(htmldir)JACAL.html $(htmldir)README.html \
+ $(htmldir)SIMSYNCH.html $(htmldir)SLIB.html \
+ $(htmldir)FreeSnell/ANNOUNCE $(htmldir)FreeSnell/index.html
+CITES = scm.spec scm.nsi ../wb/wb.spec $(htmldir)SCM.html
+
+updates: Init$(ver).scm
+ $(CHPAT) slib-$(VERSION) slib-$(ver) $(CITERS)
+ $(CHPAT) $(VERSION) $(ver) $(CITES)
+ make README
+
+Init$(ver).scm:
+ mv -f Init$(VERSION).scm Init$(ver).scm
+ $(CHPAT) $(VERSION) $(ver) patchlvl.h Init$(ver).scm
+
+new: updates
+ echo `date -I` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change
+ echo>> change
+ echo \ \* patchlvl.h \(SCMVERSION\): Bumped from $(VERSION) to $(ver).>>change
+ echo>> change
+ cat ChangeLog >> change
+ mv -f change ChangeLog
+ cvs remove Init$(VERSION).scm
+ cvs add Init$(ver).scm
+ cvs commit -m 'Init$(VERSION).scm changed to Init$(ver).scm' \
+ Init$(VERSION).scm Init$(ver).scm
+ cvs commit -m '(SCMVERSION): Bumped from $(VERSION) to $(ver).'
+ cvs tag -F scm-$(ver)
+
+configtemp/scm: $(confiles)
+ -$(RM_R) configtemp/scm
+ -mkdir -p configtemp/scm
+ ln $(confiles) configtemp/scm
+confdist: scmconfig.tar.gz
+scmconfig.tar.gz: configtemp/scm
+ cd configtemp; tar cohf ../scmconfig.tar scm
+ chmod 664 scmconfig.tar
+ -rm -f scmconfig.tar.*z
+ gzip scmconfig.tar
+ chmod 664 scmconfig.tar.*z
+
+lint: lints
+lints: $(cfiles) $(hfiles)
+ lint $(CPPFLAGS) $(ALL_CFLAGS) $(cfiles) | tee lints
+# lint $(CPPFLAGS) $(ALL_CFLAGS) $(cfiles) | tee lintes
+
+#seds to help find names not unique in first 8 characters (name8s)
+# for BSD nm format
+SED_TO_STRIP_NM=sed -e '/.*\.o$$/d' -e 's/.* _//' -e 's/.* T //'
+#old, bad for T [^_] on suns: SED_TO_STRIP_NM=sed -e '/.*\.o$$/d' -e 's/.* _//'
+# For a System V nm where plain C identifiers have _ prepended:
+#SED_TO_STRIP_NM=sed -e '/^_[A-Za-z][A-za-z0-9_]*[ |].*|extern|!d' -e 's/|/ /g' -e 's/^_//'
+# For a System V nm where plain C identifiers have nothing prepended:
+#SED_TO_STRIP_NM=sed -e '/^[A-Za-z][A-za-z0-9_]*[ |].*|extern|!d' -e 's/|/ /g'
+
+name8: name8s
+name8s: scmlit
+ nm scmlit |\
+ $(SED_TO_STRIP_NM) |\
+ sort -u|\
+ awk '{ if (substr(l,1,8)==substr($$1,1,8)) {\
+ if (p) print l;\
+ print $$1;p=0;stat=1\
+ }else p=1;\
+ l=$$1\
+ }END{exit stat}' -
+
+ctagfiles = $(hfiles) $(cfiles) $(xfiles)
+ctags: $(ctagfiles)
+ etags $(ctagfiles)
+
+TAGFILES = $(hfiles) $(cfiles) $(ifiles) $(sfiles) $(xfiles) $(mfiles)\
+ $(txifiles) Xlibscm.texi hobbit.texi build hobbit.scm
+# # $(ufiles) ChangeLog
+TAGS: $(TAGFILES)
+ etags $(TAGFILES)
+tags: TAGS
+
+mostlyclean:
+clean:
+ -rm -f core a.out ramap.o ramap.obj $(ofiles) scmmain.o lints
+ -$(RM_R) *temp
+distclean: clean
+ -rm -f $(EXECFILES) *.o *.obj a.out TAGS implcat slibcat gdbscm
+realclean: distclean
+ -rm -f scm.doc scm.html hobbit.html scm.exe scmlit.exe scm~ SCM-*.exe
+realempty: temp/scm
+ -rm -f $(afiles)
+myclean: clean
+ -rm -f *~ *.bak *.orig *.rej tmp* \#* *\#