aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile579
1 files changed, 308 insertions, 271 deletions
diff --git a/Makefile b/Makefile
index 8c480e8..678f5cd 100644
--- a/Makefile
+++ b/Makefile
@@ -3,107 +3,52 @@
#
# This code is in the public domain.
-SHELL = /bin/sh
-intro:
- @echo
- @echo "Welcome to SLIB. Read \"README\" and \"slib.info\" (or"
- @echo "\"slib.texi\") to learn how to install and use SLIB."
- @echo
- -make slib.info
-
-VERSION = 3b1
-RELEASE = 1
-
-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/
-libslibdir = $(libdir)slib/
-# directory where `make install' will put manual page.
-man1dir = $(prefix)man/man1/
-infodir = $(prefix)info/
+# These are normally set in "config.status"; defaults are here so that
+# "make" won't complain about target redefinitions.
+snapdir=$(HOME)/pub/
+infodir=$(HOME)/info/
+htmldir=$(HOME)/public_html/
-PREVDOCS = prevdocs/
-
-htmldir=../public_html/
+SHELL = /bin/sh
+INSTALL = install
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_INFO = ginstall-info
+
+SCHEME = scm
+CHPAT = $(HOME)/bin/chpat
+MAKEDEV = $(MAKE) -f $(HOME)/makefile.dev
+TEXI2HTML = /usr/local/bin/texi2html -split -verbose
+TEXI2PDF = texi2pdf
+RSYNC = rsync -av
+Uploadee = csail
RUNNABLE = scheme48
S48INIT = scheme48.init
S48LIB = $(libdir)$(RUNNABLE)/
S48SLIB = $(S48LIB)slib/
-VM = scheme48vm
IMAGE48 = slib.image
-INSTALL_DATA = install -c
-$(DESTDIR)$(S48LIB)slibcat:
- touch $(DESTDIR)$(S48LIB)slibcat
-
-catalogs:
- -if type scm; then scm -c "(require 'new-catalog)"; fi
- -if type guile; then guile -l guile.init -c\
- "(use-modules (ice-9 slib)) (require 'new-catalog)"; fi
- -if type umb-scheme; then SCHEME_INIT=umbscheme.init;export SCHEME_INIT;\
- echo "(require 'new-catalog)" | umb-scheme; fi
- -if type mzscheme; then\
- SCHEME_LIBRARY_PATH=`pwd`/;export SCHEME_LIBRARY_PATH;\
- cp mkpltcat.scm `mzscheme -mf mzscheme.init -e '(begin(display(implementation-vicinity))(exit))'`mkimpcat.scm;\
- mzscheme -g -f mzscheme.init -e "(require 'new-catalog)" </dev/null; fi
- -if type scheme48; then make install48; fi
+intro: config.status
+ @echo
+ @echo "Welcome to SLIB. Read \"README\" and \"slib.info\" (or"
+ @echo "\"slib.texi\") to learn how to install and use SLIB."
+ @echo
-MKNMDB = (require 'color-database) (make-slib-color-name-db) (slib:exit)
-clrnamdb: clrnamdb.scm
-clrnamdb.scm: mkclrnam.scm color.scm resenecolours.txt saturate.txt nbs-iscc.txt
- if type scm; then scm -e"$(MKNMDB)";\
- elif type guile; then guile -l guile.init -c\
- "(use-modules (ice-9 slib)) $(MKNMDB)";\
- elif type slib48; then echo -e "$(MKNMDB)\n,exit" | slib48 -h 3000000;\
- elif type umb-scheme; then SCHEME_INIT=`pwd`/umbscheme.init;export SCHEME_INIT;\
- echo "$(MKNMDB)" | umb-scheme;\
- elif type mzscheme; then SCHEME_LIBRARY_PATH=`pwd`/;export SCHEME_LIBRARY_PATH;\
- echo "$(MKNMDB)" | mzscheme -f mzscheme.init;\
- fi
+VERSION = 3b5
+RELEASE = 1
-$(DESTDIR)$(S48SLIB)strport.scm:
- mkdir -p $(DESTDIR)$(S48SLIB)
- echo ";;; strport.scm -*- scheme -*-">$(DESTDIR)$(S48SLIB)strport.scm
- echo ";@">>$(DESTDIR)$(S48SLIB)strport.scm
- echo "(define (call-with-output-string proc)">>$(DESTDIR)$(S48SLIB)strport.scm
- echo " (let ((port (make-string-output-port)))">>$(DESTDIR)$(S48SLIB)strport.scm
- echo " (proc port)">>$(DESTDIR)$(S48SLIB)strport.scm
- echo " (string-output-port-output port)))">>$(DESTDIR)$(S48SLIB)strport.scm
- echo "(define (call-with-input-string string proc)">>$(DESTDIR)$(S48SLIB)strport.scm
- echo " (proc (make-string-input-port string)))">>$(DESTDIR)$(S48SLIB)strport.scm
+# ./configure --distdir=${HOME}/dist/ --snapdir=${HOME}/pub/ --htmldir=${HOME}/public_html/ --pdfdir=${HOME}/public_html/
-$(DESTDIR)$(S48SLIB)record.scm:
- mkdir -p $(DESTDIR)$(S48SLIB)
- echo ";;; record.scm -*- scheme -*-">$(DESTDIR)$(S48SLIB)record.scm
- echo ";; This code is in the public domain">>$(DESTDIR)$(S48SLIB)record.scm
- echo ";@">>$(DESTDIR)$(S48SLIB)record.scm
- echo "(define make-record-type make-record-type)">>$(DESTDIR)$(S48SLIB)record.scm
- echo "(define record-constructor">>$(DESTDIR)$(S48SLIB)record.scm
- echo " (let ((constructor record-constructor))">>$(DESTDIR)$(S48SLIB)record.scm
- echo " (lambda (rt . fields)">>$(DESTDIR)$(S48SLIB)record.scm
- echo " (constructor rt (if (pair? fields)">>$(DESTDIR)$(S48SLIB)record.scm
- echo " (car fields)">>$(DESTDIR)$(S48SLIB)record.scm
- echo " (record-type-field-names rt))))))">>$(DESTDIR)$(S48SLIB)record.scm
- echo "(define record-predicate record-predicate)">>$(DESTDIR)$(S48SLIB)record.scm
- echo "(define record-accessor record-accessor)">>$(DESTDIR)$(S48SLIB)record.scm
- echo "(define record-modifier record-modifier)">>$(DESTDIR)$(S48SLIB)record.scm
+config.status:
+ ./configure
+Makefile: config.status
+include config.status
-slib48: $(IMAGE48)
-$(IMAGE48): Makefile $(S48INIT)
- S48_VERSION="`echo ,exit | $(RUNNABLE) | sed -n 's/Welcome to Scheme 48 //;s/ ([^)]*)[.]//;p;q'`";export S48_VERSION;\
- S48_VICINITY="$(DESTDIR)$(S48LIB)";export S48_VICINITY;\
- SCHEME_LIBRARY_PATH="`pwd`/";export SCHEME_LIBRARY_PATH;\
- $(RUNNABLE) < $(S48INIT)
-install48: $(IMAGE48) $(DESTDIR)$(S48SLIB)strport.scm $(DESTDIR)$(S48SLIB)record.scm
- $(INSTALL_DATA) $(IMAGE48) $(DESTDIR)$(S48LIB)
- (echo '#! /bin/sh';\
- echo exec $(RUNNABLE) -i '$(DESTDIR)$(S48LIB)$(IMAGE48)' \"\$$\@\") \
- > $(DESTDIR)$(bindir)slib48
- chmod +x $(DESTDIR)$(bindir)slib48
+prevdocsdir = prevdocs/
+libslibdir = $(libdir)slib/
+windistdir = /c/Voluntocracy/dist/
+rpm_prefix = $(HOME)/rpmbuild/
ffiles = format.scm printf.scm genwrite.scm pp.scm \
ppfile.scm strcase.scm debug.scm trace.scm \
@@ -116,14 +61,16 @@ revfiles = sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \
afiles = charplot.scm root.scm cring.scm selfset.scm limit.scm \
timecore.scm psxtime.scm cltime.scm timezone.scm tzfile.scm \
math-real.scm
-bfiles = fluidlet.scm object.scm recobj.scm yasyn.scm collect.scm collectx.scm
+bfiles = fluidlet.scm fluid-let.scm object.scm recobj.scm yasyn.scm \
+ collect.scm collectx.scm
scfiles = r4rsyn.scm scmacro.scm synclo.scm synrul.scm synchk.scm \
repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm
scafiles = scainit.scm scaglob.scm scamacr.scm scaoutp.scm scaexpp.scm \
structure.scm
-srfiles = srfi-2.scm srfi-8.scm srfi-9.scm srfi-11.scm srfi-23.scm srfi-61.scm
-efiles = record.scm dynamic.scm process.scm hash.scm \
- wttree.scm wttest.scm sierpinski.scm soundex.scm simetrix.scm
+srfiles = srfi-2.scm srfi-8.scm srfi-9.scm srfi-11.scm \
+ srfi-23.scm srfi-39.scm srfi-61.scm
+efiles = record.scm dynamic.scm process.scm hash.scm wttree.scm \
+ wttree-test.scm sierpinski.scm soundex.scm simetrix.scm
rfiles = rdms.scm alistab.scm paramlst.scm \
batch.scm crc.scm dbrowse.scm getopt.scm dbinterp.scm \
dbcom.scm dbsyn.scm
@@ -140,7 +87,7 @@ txiscms =grapheps.scm glob.scm getparam.scm \
mkclrnam.scm color.scm subarray.scm dbutil.scm array.scm transact.scm\
arraymap.scm phil-spc.scm lineio.scm differ.scm cvs.scm tree.scm\
coerce.scm byte.scm bytenumb.scm matfile.scm tsort.scm manifest.scm\
- peanosfc.scm linterp.scm math-integer.scm
+ peanosfc.scm linterp.scm math-integer.scm rmdsff.scm
txifiles =grapheps.txi glob.txi getparam.txi\
vet.txi top-refs.txi hashtab.txi chap.txi comparse.txi\
alist.txi ratize.txi modular.txi dirs.txi priorque.txi queue.txi\
@@ -151,242 +98,333 @@ txifiles =grapheps.txi glob.txi getparam.txi\
mkclrnam.txi color.txi subarray.txi dbutil.txi array.txi transact.txi\
arraymap.txi phil-spc.txi lineio.txi differ.txi cvs.txi tree.txi\
coerce.txi byte.txi bytenumb.txi matfile.txi tsort.txi manifest.txi\
- peanosfc.txi linterp.txi math-integer.txi
+ peanosfc.txi linterp.txi math-integer.txi rmdsff.txi
#txifiles = `echo $(txiscms) | sed 's%.scm%.txi%g'`
texifiles = schmooz.texi indexes.texi object.texi format.texi limit.texi \
fdl.texi
-docfiles = ANNOUNCE README COPYING FAQ slib.1 slib.info slib.texi version.txi\
- ChangeLog $(texifiles) $(txifiles)
+docfiles = ANNOUNCE README COPYING FAQ slib.1 slib.texi \
+ $(texifiles) $(txifiles)
mkfiles = Makefile require.scm Template.scm mklibcat.scm mkpltcat.scm \
- syncase.sh Bev2slib.scm slib.spec slib.sh grapheps.ps slib.nsi
+ syncase.sh Bev2slib.scm slib.spec slib.sh grapheps.ps slib.nsi \
+ configure
ifiles = bigloo.init chez.init elk.init macscheme.init mitscheme.init \
scheme2c.init scheme48.init gambit.init t3.init vscm.init \
scm.init scsh.init sisc.init pscheme.init STk.init kawa.init \
- RScheme.init mzscheme.init umbscheme.init guile.init jscheme.init
+ RScheme.init mzscheme.init umbscheme.init jscheme.init s7.init \
+ guile.init guile.use guile-2.init
tfiles = macrotst.scm dwindtst.scm formatst.scm
sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \
$(rfiles) colorspc.scm $(scafiles) $(txiscms) $(srfiles)
-allfiles = $(docfiles) $(mkfiles) $(ifiles) $(sfiles) $(tfiles) $(bfiles) \
- slib.doc $(ciefiles) clrnamdb.scm SLIB.ico
-
-pinstall: slib.1
- mkdir -p $(DESTDIR)$(man1dir)
- -cp slib.1 $(DESTDIR)$(man1dir)
+allfiles = $(docfiles) $(mkfiles) $(ifiles) $(sfiles) $(tfiles) \
+ $(bfiles) slib.doc $(ciefiles) clrnamdb.scm SLIB.ico ChangeLog \
+ slib.info version.txi
+libfiles = $(ifiles) $(sfiles) $(bfiles) $(mkfiles) $(ciefiles) clrnamdb.scm
+tagfiles = $(docfiles) $(mkfiles) $(sfiles) $(bfiles) $(tfiles) $(ifiles)
+
+# $(DESTDIR)$(S48SLIB) isn't included in installdirs because
+# Scheme48 may not be installed.
+$(DESTDIR)$(S48SLIB):
+ mkdir -p $(DESTDIR)$(S48SLIB)
-install: pinstall clrnamdb.scm
+installdirs:
+ mkdir -p $(DESTDIR)$(mandir)man1/
mkdir -p $(DESTDIR)$(libslibdir)
- -cp $(ifiles) $(sfiles) $(bfiles) $(mkfiles) clrnamdb.scm $(DESTDIR)$(libslibdir)
mkdir -p $(DESTDIR)$(bindir)
- echo '#! /bin/sh' > $(DESTDIR)$(bindir)slib
- echo SCHEME_LIBRARY_PATH=$(DESTDIR)$(libslibdir) >> $(DESTDIR)$(bindir)slib
- echo S48_VICINITY=$(DESTDIR)$(S48LIB) >> $(DESTDIR)$(bindir)slib
- echo VERSION=$(VERSION) >> $(DESTDIR)$(bindir)slib
- echo export SCHEME_LIBRARY_PATH S48_VICINITY >> $(DESTDIR)$(bindir)slib
- cat slib.sh >> $(DESTDIR)$(bindir)slib
- chmod +x $(DESTDIR)$(bindir)slib
-
-uninstall:
- -(cd $(DESTDIR)$(libslibdir); rm $(ifiles) $(sfiles) $(bfiles) $(mkfiles) clrnamdb.scm)
- -rm $(DESTDIR)$(bindir)slib
- -rm $(DESTDIR)$(man1dir)slib.1
+ mkdir -p $(DESTDIR)$(infodir)
+ mkdir -p $(DESTDIR)$(htmldir)
+ mkdir -p $(DESTDIR)$(pdfdir)
+ mkdir -p $(DESTDIR)$(dvidir)
+
+$(txifiles): slib.texi $(txiscms) schmooz.scm
+ $(SCHEME) -rschmooz -e'(schmooz "$<")'
-slib.doc: slib.1
+slib.dvi: slib.texi version.txi $(txifiles) $(texifiles)
+ $(TEXI2DVI) -b -c $<
+dvi: slib.dvi
+xdvi: slib.dvi
+ xdvi $<
+install-dvi: slib.dvi installdirs
+ $(INSTALL_DATA) $< $(DESTDIR)$(dvidir)
+
+slib.pdf: slib.texi version.txi $(txifiles) $(texifiles)
+ $(TEXI2PDF) -b -c $<
+pdf: slib.pdf
+xpdf: slib.pdf
+ xpdf $<
+install-pdf: slib.pdf installdirs
+ $(INSTALL_DATA) $< $(DESTDIR)$(pdfdir)
+
+# slib_toc.html: slib.texi version.txi $(txifiles) $(texifiles)
+# $(TEXI2HTML) $<
+# html: slib_toc.html
+# $(DESTDIR)$(htmldir)slib_toc.html: slib_toc.html Makefile installdirs
+# -rm -f slib_stoc.html
+# if [ -f $(prevdocsdir)slib_toc.html ]; \
+# then hitch $(prevdocsdir)slib_\*.html slib_\*.html \
+# $(DESTDIR)$(htmldir); \
+# else $(INSTALL_DATA) slib_*.html $(DESTDIR)$(htmldir);fi
+# install-html: $(DESTDIR)$(htmldir)slib_toc.html
+
+html/slib: slib.texi version.txi $(txifiles) $(texifiles)
+ mkdir -p html
+ rm -rf html/slib
+ makeinfo --html $< -o html/slib
+ if type icoize>/dev/null; then icoize ../Logo/SCM.ico html/slib/*.html; fi
+html: html/slib
+$(DESTDIR)$(htmldir)slib: html/slib
+ -rm -rf $(DESTDIR)$(htmldir)slib
+ mkdir -p $(DESTDIR)$(htmldir)slib
+ $(INSTALL_DATA) html/slib/*.html $(DESTDIR)$(htmldir)slib
+install-html: $(DESTDIR)$(htmldir)slib
+
+# Used by w32install
+slib.html: slib.texi
+ $(MAKEINFO) --html --no-split --no-warn --force $<
+
+slib-$(VERSION).info: slib.texi version.txi $(txifiles) $(texifiles)
+ $(MAKEINFO) $< --no-warn --no-split -o slib-$(VERSION).info
+slib.info: slib-$(VERSION).info
+ if [ -f $(prevdocsdir)slib.info ];\
+ then infobar $(prevdocsdir)slib.info slib-$(VERSION).info \
+ slib.info;\
+ else cp $< $@;fi
+$(DESTDIR)$(infodir)slib.info: slib.info installdirs
+ $(INSTALL_DATA) $< $@
+ -rm $(DESTDIR)$(infodir)slib.info.gz
+ $(POST_INSTALL) # Post-install commands follow.
+ -$(INSTALL_INFO) $@ $(DESTDIR)$(infodir)dir
+install-info: $(DESTDIR)$(infodir)slib.info
+info: install-info
+$(DESTDIR)$(infodir)slib.info.gz: $(DESTDIR)$(infodir)slib.info
+ gzip -f $<
+install-infoz: $(DESTDIR)$(infodir)slib.info.gz
+infoz: install-infoz
+
+slib.doc: slib.1
nroff -man $< | ul -tunknown >$@
+install-man: slib.1 installdirs
+ -$(INSTALL_DATA) $< $(DESTDIR)$(mandir)man1/
+
+docs: $(DESTDIR)$(infodir)slib.info.gz \
+ $(DESTDIR)$(htmldir)slib_toc.html slib.dvi \
+ $(DESTDIR)$(pdfdir)slib.pdf \
+ slib.doc
+
+MKNMDB = (require 'color-database) (make-slib-color-name-db) (slib:exit)
+# this comment fixes emacs' colorizing
+
+clrnamdb: clrnamdb.scm
+clrnamdb.scm: mkclrnam.scm color.scm resenecolours.txt saturate.txt nbs-iscc.txt
+ if type scm; then scm -e"$(MKNMDB)";\
+ elif type guile; then guile -l guile.init -c\
+ "(use-modules (ice-9 slib)) $(MKNMDB)";\
+ elif type slib48; then echo -e "$(MKNMDB)\n,exit" | slib48 -h 3000000;\
+ elif type umb-scheme; \
+ then SCHEME_INIT=`pwd`/umbscheme.init;export SCHEME_INIT;\
+ echo "$(MKNMDB)" | umb-scheme;\
+ elif type mzscheme; \
+ then SCHEME_LIBRARY_PATH=`pwd`/;export SCHEME_LIBRARY_PATH;\
+ echo "$(MKNMDB)" | mzscheme -f mzscheme.init;\
+ fi
+
+catalogs:
+ -if type scm; then scm -c "(require 'new-catalog)"; fi
+ -if type guile; then guile -l guile.init -c\
+ "(use-modules (ice-9 slib)) (require 'new-catalog)"; fi
+ -if type umb-scheme; then\
+ SCHEME_INIT=umbscheme.init;export SCHEME_INIT;\
+ echo "(require 'new-catalog)" | umb-scheme; fi
+ -if type mzscheme; then\
+ SCHEME_LIBRARY_PATH=`pwd`/;export SCHEME_LIBRARY_PATH;\
+ cp mkpltcat.scm `mzscheme -mf mzscheme.init -e '(begin(display(implementation-vicinity))(exit))'`mkimpcat.scm;\
+ mzscheme -g -f mzscheme.init -e "(require 'new-catalog)"</dev/null; fi
+ -if type scheme48; then $(MAKE) install48; fi
-slib.html: slib.texi
- makeinfo --html --no-split --no-warn --force slib.texi
+$(DESTDIR)$(S48SLIB)strport.scm: $(DESTDIR)$(S48SLIB)
+ echo ";;; strport.scm -*- scheme -*-">$(DESTDIR)$(S48SLIB)strport.scm
+ echo ";@">>$(DESTDIR)$(S48SLIB)strport.scm
+ echo "(define (call-with-output-string proc)">>$(DESTDIR)$(S48SLIB)strport.scm
+ echo " (let ((port (make-string-output-port)))">>$(DESTDIR)$(S48SLIB)strport.scm
+ echo " (proc port)">>$(DESTDIR)$(S48SLIB)strport.scm
+ echo " (string-output-port-output port)))">>$(DESTDIR)$(S48SLIB)strport.scm
+ echo "(define (call-with-input-string string proc)">>$(DESTDIR)$(S48SLIB)strport.scm
+ echo " (proc (make-string-input-port string)))">>$(DESTDIR)$(S48SLIB)strport.scm
+
+$(DESTDIR)$(S48SLIB)record.scm: $(DESTDIR)$(S48SLIB)
+ echo ";;; record.scm -*- scheme -*-">$(DESTDIR)$(S48SLIB)record.scm
+ echo ";; This code is in the public domain">>$(DESTDIR)$(S48SLIB)record.scm
+ echo ";@">>$(DESTDIR)$(S48SLIB)record.scm
+ echo "(define make-record-type make-record-type)">>$(DESTDIR)$(S48SLIB)record.scm
+ echo "(define record-constructor">>$(DESTDIR)$(S48SLIB)record.scm
+ echo " (let ((constructor record-constructor))">>$(DESTDIR)$(S48SLIB)record.scm
+ echo " (lambda (rt . fields)">>$(DESTDIR)$(S48SLIB)record.scm
+ echo " (constructor rt (if (pair? fields)">>$(DESTDIR)$(S48SLIB)record.scm
+ echo " (car fields)">>$(DESTDIR)$(S48SLIB)record.scm
+ echo " (record-type-field-names rt))))))">>$(DESTDIR)$(S48SLIB)record.scm
+ echo "(define record-predicate record-predicate)">>$(DESTDIR)$(S48SLIB)record.scm
+ echo "(define record-accessor record-accessor)">>$(DESTDIR)$(S48SLIB)record.scm
+ echo "(define record-modifier record-modifier)">>$(DESTDIR)$(S48SLIB)record.scm
+
+slib48: $(IMAGE48)
+$(IMAGE48): $(S48INIT) Makefile
+ S48_VERSION="`echo ,exit | $(RUNNABLE) |\
+ sed -n 's/Welcome to Scheme 48 //;s/ ([^)]*)[.]//;p;q'`";\
+ export S48_VERSION;\
+ S48_VICINITY="$(DESTDIR)$(S48LIB)";export S48_VICINITY;\
+ SCHEME_LIBRARY_PATH="`pwd`/";export SCHEME_LIBRARY_PATH;\
+ $(RUNNABLE) < $<
+install48: $(IMAGE48) $(DESTDIR)$(S48SLIB)strport.scm \
+ $(DESTDIR)$(S48SLIB)record.scm
+ $(INSTALL_DATA) $(IMAGE48) $(DESTDIR)$(S48LIB)
+ (echo '#! /bin/sh';\
+ echo exec $(RUNNABLE) -i '$(DESTDIR)$(S48LIB)$(IMAGE48)' \"\$$\@\") \
+ > $(DESTDIR)$(bindir)slib48
+ chmod +x $(DESTDIR)$(bindir)slib48
+uninstall48:
+ -rm $(DESTDIR)$(S48LIB)$(IMAGE48)
+
+install-lib: $(libfiles) installdirs
+ -$(INSTALL_DATA) $(libfiles) $(DESTDIR)$(libslibdir)
+
+install-script: slib.sh installdirs
+ echo '#! /bin/sh' > slib-script
+ echo SCHEME_LIBRARY_PATH=$(libslibdir) >> slib-script
+ echo S48_VICINITY=$(S48LIB) >> slib-script
+ echo VERSION=$(VERSION) >> slib-script
+ echo export SCHEME_LIBRARY_PATH S48_VICINITY>> slib-script
+ cat $< >> slib-script
+ $(INSTALL_PROGRAM) slib-script $(DESTDIR)$(bindir)slib
+ rm slib-script
+
+install: install-script install-lib install-infoz install-man
+
+uninstall: uninstall48
+ $(PRE_UNINSTALL) # Pre-uninstall commands follow.
+ -$(INSTALL_INFO) --delete $(DESTDIR)$(infodir)slib.info \
+ $(DESTDIR)$(infodir)dir
+ $(NORMAL_UNINSTALL) # Normal commands follow.
+ -rm $(DESTDIR)$(infodir)slib.info*
+ -rm $(DESTDIR)$(mandir)man1/slib.1
+ -rm $(DESTDIR)$(bindir)slib
+ cd $(DESTDIR)$(libslibdir); rm $(libfiles)
+ $(POST_UNINSTALL) # Post-uninstall commands follow.
+ -rmdir $(DESTDIR)$(libslibdir)
## to build a windows installer
## make sure makeinfo and NSIS are available on the commandline
-w32install: slib.html
- makensis slib.nsi
+w32install: slib.nsi slib.html
+ makensis $<
#### Stuff for maintaining SLIB below ####
ver = $(VERSION)
-version.txi: Makefile
- echo @set SLIBVERSION $(ver) > version.txi
- echo @set SLIBDATE `date +"%B %Y"` >> version.txi
-scheme = scm
-
-collect.sc:
+collectx.scm: collect.scm macwork.scm
echo "(require 'macros-that-work)" > collect.sc
echo "(require 'pprint-file)" >> collect.sc
echo "(require 'yasos)" >> collect.sc
echo "(pprint-filter-file \"collect.scm\" macwork:expand \"collectx.scm\")" >> collect.sc
echo "(slib:exit #t)" >> collect.sc
+ $(SCHEME) < collect.sc
-collectx.scm: collect.scm macwork.scm collect.sc
- $(scheme) < collect.sc
-
-$(txifiles): $(txiscms) schmooz.scm
- $(scheme) -rschmooz -e'(schmooz "slib.texi")'
-
-dvi: slib.dvi
-slib.dvi: version.txi slib.texi $(txifiles) $(texifiles)
- texi2dvi -b -c slib.texi
-xdvi: slib.dvi
- xdvi -s 4 slib.dvi
-
-pdf: $(htmldir)slib.pdf
-$(htmldir)slib.pdf: version.txi slib.texi $(txifiles) $(texifiles)
-# dvipdf slib.dvi # doesn't have links!
- texi2pdf -b -c slib.texi
- mv slib.pdf $(htmldir)
-xpdf: $(htmldir)slib.pdf
- xpdf $(htmldir)slib.pdf
-
-TEXI2HTML = /usr/local/bin/texi2html -split -verbose
-slib_toc.html: version.txi slib.texi $(txifiles) $(texifiles)
- ${TEXI2HTML} slib.texi
-html: $(htmldir)slib_toc.html
-$(htmldir)slib_toc.html: slib_toc.html Makefile
- -rm -f slib_stoc.html
- if [ -f $(PREVDOCS)slib_toc.html ]; \
- then hitch $(PREVDOCS)slib_\*.html slib_\*.html $(htmldir); \
- else cp slib_*.html $(htmldir);fi
-
-slib-$(VERSION).info: version.txi slib.texi $(txifiles) $(texifiles)
- makeinfo slib.texi --no-warn --no-split -o slib.info
- mv slib.info slib-$(VERSION).info
-slib.info: slib-$(VERSION).info
- if [ -f $(PREVDOCS)slib.info ];\
- then infobar $(PREVDOCS)slib.info slib-$(VERSION).info slib.info;\
- else cp slib-$(VERSION).info slib.info;fi
-info: installinfo
-installinfo: $(DESTDIR)$(infodir)slib.info
-$(DESTDIR)$(infodir)slib.info: slib.info
- mkdir -p $(DESTDIR)$(infodir)
- cp -p slib.info $(DESTDIR)$(infodir)slib.info
- -install-info $(DESTDIR)$(infodir)slib.info $(DESTDIR)$(infodir)dir
- -rm $(DESTDIR)$(infodir)slib.info.gz
-infoz: installinfoz
-installinfoz: $(DESTDIR)$(infodir)slib.info.gz
-$(DESTDIR)$(infodir)slib.info.gz: $(DESTDIR)$(infodir)slib.info
- gzip -f $(DESTDIR)$(infodir)slib.info
-
-docs: $(DESTDIR)$(infodir)slib.info.gz $(htmldir)slib_toc.html slib.dvi \
- $(htmldir)slib.pdf slib.doc
- xdvi -s 4 slib.dvi
-
-makedev = make -f $(HOME)/makefile.dev
-CHPAT=$(HOME)/bin/chpat
-RSYNC=rsync -bav
-UPLOADEE=swissnet_upload
-dest = $(HOME)/dist/
-DOSCM = /c/Voluntocracy/dist/
-
-temp/slib: $(allfiles)
+temp/slib/: $(allfiles)
-rm -rf temp
- mkdir -p temp/slib
- ln $(allfiles) temp/slib
+ mkdir -p temp/slib/
+ ln $(allfiles) temp/slib/
-infotemp/slib: slib.info
- -rm -rf infotemp
- mkdir -p infotemp/slib
- ln slib.info slib.info-* infotemp/slib
#For change-barred HTML.
-prevdocs: $(PREVDOCS)slib_toc.html $(PREVDOCS)slib.info
-$(PREVDOCS)slib_toc.html:
-$(PREVDOCS)slib.info: Makefile
- cd $(PREVDOCS); unzip -ao $(dest)slib*.zip
- rm $(PREVDOCS)slib/slib.info
- cd $(PREVDOCS)slib; make slib.info; make slib_toc.html
- cd $(PREVDOCS); mv -f slib/slib.info slib/*.html ./
- rm -rf $(PREVDOCS)slib
+prevdocs: $(prevdocsdir)slib_toc.html $(prevdocsdir)slib.info
+$(prevdocsdir)slib_toc.html:
+$(prevdocsdir)slib.info: Makefile
+ cd $(prevdocsdir); unzip -ao $(distdir)slib*.zip
+ rm $(prevdocsdir)slib/slib.info
+ cd $(prevdocsdir)slib; $(MAKE) slib.info; $(MAKE) slib_toc.html
+ cd $(prevdocsdir); mv -f slib/slib.info slib/*.html ./
+ rm -rf $(prevdocsdir)slib
-rm -f slib-$(VERSION).info
-distinfo: $(dest)slib.info.zip
-$(dest)slib.info.zip: infotemp/slib
- $(makedev) TEMP=infotemp/ DEST=$(dest) PROD=slib ver=.info zip
- rm -rf infotemp
-
release: dist pdf tar.gz # rpm
cvs tag -F slib-$(VERSION)
cp ANNOUNCE $(htmldir)SLIB_ANNOUNCE.txt
cp COPYING $(htmldir)SLIB_COPYING.txt
cp FAQ $(htmldir)SLIB.FAQ
$(RSYNC) $(htmldir)SLIB.html $(htmldir)SLIB_ANNOUNCE.txt \
- $(htmldir)SLIB_COPYING.txt $(UPLOADEE):public_html/
- $(RSYNC) $(dest)README $(dest)slib-$(VERSION).zip \
- $(dest)slib-$(VERSION).tar.gz \
- $(dest)slib-$(VERSION)-$(RELEASE).noarch.rpm \
- $(dest)slib-$(VERSION)-$(RELEASE).src.rpm $(UPLOADEE):dist/
-# upload $(dest)README $(dest)slib-$(VERSION).zip ftp.gnu.org:gnu/jacal/
-
-upzip: $(HOME)/pub/slib.zip
- $(RSYNC) $(HOME)/pub/slib.zip $(UPLOADEE):pub/
-
-dist: $(dest)slib-$(VERSION).zip
-$(dest)slib-$(VERSION).zip: temp/slib
- $(makedev) DEST=$(dest) PROD=slib ver=-$(VERSION) zip
-
-tar.gz: $(dest)slib-$(VERSION).tar.gz
-$(dest)slib-$(VERSION).tar.gz: temp/slib
- $(makedev) DEST=$(dest) PROD=slib ver=-$(VERSION) tar.gz
+ $(htmldir)SLIB_COPYING.txt $(Uploadee):public_html/
+ $(RSYNC) $(distdir)README $(distdir)slib-$(VERSION).zip \
+ $(distdir)slib-$(VERSION).tar.gz \
+ $(distdir)slib-$(VERSION)-$(RELEASE).noarch.rpm \
+ $(distdir)slib-$(VERSION)-$(RELEASE).src.rpm $(Uploadee):dist/
+# upload $(distdir)README $(distdir)slib-$(VERSION).zip ftp.gnu.org:gnu/jacal/
+
+upzip: $(snapdir)slib.zip
+ $(RSYNC) $(snapdir)slib.zip $(Uploadee):pub/
+
+dist: $(distdir)slib-$(VERSION).zip
+$(distdir)slib-$(VERSION).zip: temp/slib/
+ $(MAKEDEV) DEST=$(distdir) PROD=slib ver=-$(VERSION) zip
+
+upgnu: $(distdir)slib-$(VERSION).tar.gz
+ cd $(distdir); gnupload --to ftp.gnu.org:slib slib-$(VERSION).tar.gz
+tar.gz: $(distdir)slib-$(VERSION).tar.gz
+$(distdir)slib-$(VERSION).tar.gz: temp/slib/
+ $(MAKEDEV) DEST=$(distdir) PROD=slib ver=-$(VERSION) tar.gz
rpm: pubzip
-#$(dest)slib-$(VERSION)-$(RELEASE).noarch.rpm: $(dest)slib-$(VERSION).zip
- cp $(HOME)/pub/slib.zip $(rpm_prefix)SOURCES/slib-$(VERSION).zip
+#$(distdir)slib-$(VERSION)-$(RELEASE).noarch.rpm: $(distdir)slib-$(VERSION).zip
+ cp $(snapdir)slib.zip $(rpm_prefix)SOURCES/slib-$(VERSION).zip
rpmbuild -ba slib.spec # --clean
rm $(rpm_prefix)SOURCES/slib-$(VERSION).zip
mv $(rpm_prefix)RPMS/noarch/slib-$(VERSION)-$(RELEASE).noarch.rpm \
- $(rpm_prefix)SRPMS/slib-$(VERSION)-$(RELEASE).src.rpm $(dest)
+ $(rpm_prefix)SRPMS/slib-$(VERSION)-$(RELEASE).src.rpm $(distdir)
shar: slib.shar
-slib.shar: temp/slib
- $(makedev) PROD=slib shar
+slib.shar: temp/slib/
+ $(MAKEDEV) PROD=slib shar
dclshar: slib.com
com: slib.com
-slib.com: temp/slib
- $(makedev) PROD=slib com
+slib.com: temp/slib/
+ $(MAKEDEV) PROD=slib com
zip: slib.zip
-slib.zip: temp/slib
- $(makedev) DEST=../ PROD=slib zip
-doszip: $(DOSCM)slib-$(VERSION).zip
-$(DOSCM)slib-$(VERSION).zip: temp/slib slib.html
- $(makedev) DEST=$(DOSCM) PROD=slib ver=-$(VERSION) zip
- -cd ..; zip -9ur $(DOSCM)slib-$(VERSION).zip slib/slib.html
- zip -d $(DOSCM)slib-$(VERSION).zip slib/slib.info
-pubzip: temp/slib
- $(makedev) DEST=$(HOME)/pub/ PROD=slib zip
+slib.zip: temp/slib/
+ $(MAKEDEV) DEST=../ PROD=slib zip
+doszip: $(windistdir)slib-$(VERSION).zip
+$(windistdir)slib-$(VERSION).zip: temp/slib/ slib.html
+ $(MAKEDEV) DEST=$(windistdir) PROD=slib ver=-$(VERSION) zip
+ -cd ..; zip -9ur $(windistdir)slib-$(VERSION).zip slib/slib.html
+ zip -d $(windistdir)slib-$(VERSION).zip slib/slib.info
+pubzip: temp/slib/
+ $(MAKEDEV) DEST=$(snapdir) PROD=slib zip
diffs: pubdiffs
-pubdiffs: temp/slib
- $(makedev) DEST=$(HOME)/pub/ PROD=slib pubdiffs
-distdiffs: temp/slib
- $(makedev) DEST=$(dest) PROD=slib ver=$(ver) distdiffs
-announcediffs: temp/slib
- $(makedev) DEST=$(dest) PROD=slib ver=-$(VERSION) announcediffs
+pubdiffs: temp/slib/
+ $(MAKEDEV) DEST=$(snapdir) PROD=slib pubdiffs
+distdiffs: temp/slib/
+ $(MAKEDEV) DEST=$(distdir) PROD=slib ver=$(ver) distdiffs
+announcediffs: temp/slib/
+ $(MAKEDEV) DEST=$(distdir) PROD=slib ver=-$(VERSION) announcediffs
psdfiles=COPYING.psd README.psd cmuscheme.el comint.el instrum.scm pexpr.scm \
primitives.scm psd-slib.scm psd.el read.scm runtime.scm version.scm
psdocfiles=article.bbl article.tex manual.bbl manual.tex quick-intro.tex
-psdtemp/slib:
+psdtemp/slib/:
-rm -rf psdtemp
mkdir -p psdtemp/slib/psd
cd psd; ln $(psdfiles) ../psdtemp/slib/psd
mkdir -p psdtemp/slib/psd/doc
cd psd/doc; ln $(psdocfiles) ../../psdtemp/slib/psd/doc
-psdist: $(dest)slib-psd.tar.gz
-$(dest)slib-psd.tar.gz: psdtemp/slib
- $(makedev) DEST=$(dest) PROD=slib ver=-psd tar.gz TEMP=psdtemp/
-
-CITERS = FAQ README ANNOUNCE \
- ../dist/README \
- ../jacal/ANNOUNCE ../jacal/jacal.texi \
- ../scm/ANNOUNCE ../scm/scm.texi \
- ../wb/ANNOUNCE ../wb/README \
- ../synch/ANNOUNCE \
- $(DOSCM)unzipall.bat $(DOSCM)buildall \
- $(htmldir)JACAL.html \
- $(htmldir)README.html \
- $(htmldir)SCM.html \
- $(htmldir)SIMSYNCH.html \
+psdist: $(distdir)slib-psd.tar.gz
+$(distdir)slib-psd.tar.gz: psdtemp/slib/
+ $(MAKEDEV) DEST=$(distdir) PROD=slib ver=-psd tar.gz TEMP=psdtemp/
+
+CITERS = FAQ README ANNOUNCE $(distdir)README ../jacal/ANNOUNCE \
+ ../jacal/jacal.texi ../scm/ANNOUNCE ../scm/scm.texi \
+ ../wb/ANNOUNCE ../wb/README ../synch/ANNOUNCE \
+ $(windistdir)unzipall.bat $(windistdir)buildall \
+ $(htmldir)JACAL.html $(htmldir)README.html $(htmldir)SCM.html \
+ $(htmldir)SIMSYNCH.html $(htmldir)FreeSnell/FreeSnell.texi \
$(htmldir)FreeSnell/ANNOUNCE $(htmldir)FreeSnell/index.html
CITES = require.scm Makefile slib.spec scheme48.init \
$(htmldir)SLIB.html slib.nsi ../scm/scm.nsi
@@ -394,6 +432,8 @@ CITES = require.scm Makefile slib.spec scheme48.init \
new:
$(CHPAT) slib-$(VERSION) slib-$(ver) $(CITERS)
$(CHPAT) $(VERSION) $(ver) $(CITES)
+ echo @set SLIBVERSION $(ver) > version.txi
+ echo @set SLIBDATE `date +"%B %Y"` >> version.txi
echo `date -I` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change
echo>> change
echo \ \* require.scm \(*slib-version*\): Bumped from $(VERSION) to $(ver).>>change
@@ -403,16 +443,13 @@ new:
cvs commit -lm '(*slib-version*): Bumped from $(VERSION) to $(ver).'
cvs tag -F slib-$(ver)
-tagfiles = README version.txi slib.texi $(texifiles) \
- $(mkfiles) $(sfiles) $(bfiles) $(tfiles) $(ifiles)
-# README and $(ifiles) cause semgentation faults in ETAGS for Emacs version 19.
tags: $(tagfiles)
etags $(tagfiles)
rights:
- $(scheme) -ladmin -e"(admin:check-all)" $(sfiles) $(tfiles) \
+ $(SCHEME) -ladmin -e"(admin:check-all)" $(sfiles) $(tfiles) \
$(bfiles) $(ifiles)
report:
- $(scheme) -e"(slib:report #t)"
+ $(SCHEME) -e"(slib:report #t)"
clean:
-rm -f *~ *.bak *.orig *.rej core a.out *.o \#*
-rm -rf *temp
@@ -421,5 +458,5 @@ realclean:
-rm -f *~ *.bak *.orig *.rej TAGS core a.out *.o \#*
-rm -f slib.info* slib.?? slib.html
-rm -rf *temp SLIB-*.exe
-realempty: temp/slib
+realempty: temp/slib/
-rm -f $(allfiles)