1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
|
# Makefile for Scheme Library
# Author: Aubrey Jaffer
#
# 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
include srcdir.mk
srcdir.mk: .. Makefile
echo -e "srcdir = `pwd`/\n" > srcdir.mk
#srcdir=$(HOME)/slib/
VERSION = 3a1
RELEASE = 1
rpm_prefix=/usr/src/redhat/
prefix = debian/tmp/usr
exec_prefix = $(prefix)
# directory where `make install' will put executable.
bindir = $(exec_prefix)bin/
libdir = $(exec_prefix)lib/
infodir = $(prefix)info/
PREVDOCS = prevdocs/
htmldir=slib_html/
dvidir=../dvi/
RUNNABLE = scheme48
LIB = $(libdir)$(RUNNABLE)/
VM = scheme48vm
IMAGE = slib.image
INSTALL_DATA = install -c
$(LIB)slibcat:
touch $(LIB)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 export SCHEME_INIT=umbscheme.init;\
echo "(require 'new-catalog)" | umb-scheme; fi
-if type mzscheme; then export SCHEME_LIBRARY_PATH=`pwd`/;\
mzscheme -g -f DrScheme.init -e "(require 'new-catalog)" </dev/null; fi
-if type scheme48; then make install48; fi
MKNMDB = (require 'color-database) (make-slib-color-name-db) (slib:exit)
clrnamdb: clrnamdb.scm
clrnamdb.scm: mkclrnam.scm Makefile
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 export SCHEME_INIT=`pwd`/umbscheme.init;\
echo "$(MKNMDB)" | umb-scheme;\
elif type mzscheme; then export SCHEME_LIBRARY_PATH=`pwd`/;\
echo "$(MKNMDB)" | mzscheme -f DrScheme.init;\
fi
slib48: $(IMAGE)
$(IMAGE): Makefile scheme48.init
export S48_VERSION="`echo ,exit | scheme48 | sed -n 's/Welcome to Scheme 48 //;s/ ([^)]*)[.]//;p;q'`";\
export S48_VICINITY="$(LIB)";\
export SCHEME_LIBRARY_PATH="`pwd`/";\
scheme48 < scheme48.init
install48: $(IMAGE)
$(INSTALL_DATA) $(IMAGE) $(LIB)
(echo '#! /bin/sh';\
echo exec $(RUNNABLE) -i '$(LIB)$(IMAGE)' \"\$$\@\") \
> $(bindir)slib48
chmod +x $(bindir)slib48
install:
test -d $(bindir) || mkdir $(bindir)
echo '#! /bin/sh' > $(bindir)slib
echo export SCHEME_LIBRARY_PATH=$(libdir)slib/ >> $(bindir)slib
echo VERSION=$(VERSION) >> $(bindir)slib
cat slib.sh >> $(bindir)slib
chmod +x $(bindir)slib
#### 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 = guile-1.6
collect.sc:
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
collectx.scm: collect.scm macwork.scm collect.sc
$(scheme) < collect.sc
ffiles = printf.scm genwrite.scm pp.scm format.scm \
ppfile.scm strcase.scm debug.scm trace.scm \
strport.scm scanf.scm qp.scm break.scm stdio.scm \
strsrch.scm prec.scm schmooz.scm defmacex.scm mbe.scm
lfiles = sort.scm comlist.scm logical.scm
revfiles = sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \
trnscrpt.scm withfile.scm dynwind.scm promise.scm \
values.scm eval.scm null.scm
afiles = charplot.scm root.scm cring.scm \
selfset.scm psxtime.scm cltime.scm timezone.scm tzfile.scm
bfiles = fluidlet.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-9.scm
efiles = record.scm dynamic.scm process.scm hash.scm \
wttree.scm wttest.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
gfiles = colorspc.scm cie1931.xyz cie1964.xyz resenecolours.txt saturate.txt
txiscms =grapheps.scm glob.scm getparam.scm \
vet.scm top-refs.scm hashtab.scm chap.scm comparse.scm\
alist.scm ratize.scm modular.scm dirs.scm priorque.scm queue.scm\
srfi.scm srfi-1.scm srfi-2.scm srfi-8.scm\
pnm.scm http-cgi.scm htmlform.scm html4each.scm db2html.scm uri.scm\
fft.scm solid.scm random.scm randinex.scm obj2str.scm ncbi-dna.scm\
minimize.scm factor.scm determ.scm daylight.scm colornam.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
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\
srfi.txi srfi-1.txi srfi-2.txi srfi-8.txi\
pnm.txi http-cgi.txi htmlform.txi html4each.txi db2html.txi uri.txi\
fft.txi solid.txi random.txi randinex.txi obj2str.txi ncbi-dna.txi\
minimize.txi factor.txi determ.txi daylight.txi colornam.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
% = `echo $(txiscms) | sed 's%.scm%.txi%g'`
docfiles = ANNOUNCE README COPYING FAQ slib.info slib.texi schmooz.texi\
ChangeLog version.txi object.texi $(txifiles)
mkfiles = Makefile require.scm Template.scm syncase.sh mklibcat.scm \
Bev2slib.scm slib.spec slib.sh grapheps.ps
ifiles = bigloo.init chez.init elk.init macscheme.init mitscheme.init \
scheme2c.init scheme48.init s48-0_57.init gambit.init t3.init \
vscm.init scm.init scsh.init pscheme.init STk.init \
RScheme.init DrScheme.init umbscheme.init guile.init
tfiles = plottest.scm macrotst.scm dwindtst.scm formatst.scm
sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \
$(rfiles) $(gfiles) $(scafiles) $(txiscms) $(srfiles)
allfiles = $(docfiles) $(mkfiles) $(ifiles) $(sfiles) $(tfiles) $(bfiles)
$(txifiles): $(txiscms) schmooz.scm
$(scheme) -l guile.init.local -c '(require '\''schmooz) (schmooz "slib.texi")'
dvi: $(dvidir)slib.dvi
$(dvidir)slib.dvi: version.txi slib.texi $(dvidir)slib.fn \
$(txifiles) object.texi schmooz.texi
# cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)slib.texi
-(cd $(dvidir);export TEXINPUTS=$(srcdir):;texindex slib.??)
cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)slib.texi
$(dvidir)slib.fn:
cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)slib.texi \
$(srcdir)schmooz.texi
xdvi: $(dvidir)slib.dvi
xdvi -s 3 $(dvidir)slib.dvi
pdf: $(htmldir)slib.pdf
$(htmldir)slib.pdf: version.txi slib.texi $(dvidir)slib.fn schmooz.texi
# cd $(dvidir);dvipdf slib.dvi # doesn't have links!
cd $(dvidir);export TEXINPUTS=$(srcdir):;pdftex $(srcdir)slib.texi
mv $(dvidir)slib.pdf $(htmldir)
xpdf: $(htmldir)slib.pdf
xpdf -z 3 $(htmldir)slib.pdf
TEXI2HTML = texi2html -split chapter -verbose
slib_toc.html: $(txifiles) version.txi slib.texi schmooz.texi
${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 mkdir -p $(htmldir) ; cp slib_*.html $(htmldir);fi
slib$(VERSION).info: $(txifiles) version.txi slib.texi schmooz.texi
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: $(infodir)slib.info
$(infodir)slib.info: slib.info
cp -a slib.info $(infodir)slib.info
-install-info $(infodir)slib.info $(infodir)dir
-rm $(infodir)slib.info.gz
infoz: installinfoz
installinfoz: $(infodir)slib.info.gz
$(infodir)slib.info.gz: $(infodir)slib.info
gzip -f $(infodir)slib.info
makedev = make -f $(HOME)/makefile.dev
CHPAT=$(HOME)/bin/chpat
RSYNC=rsync -avessh
UPLOADEE=swissnet_upload
dest = $(HOME)/dist/
temp/slib: $(allfiles)
-rm -rf temp
mkdir temp
mkdir temp/slib
ln $(allfiles) temp/slib
infotemp/slib: slib.info
-rm -rf infotemp
mkdir infotemp
mkdir infotemp/slib
ln slib.info slib.info-* infotemp/slib
#For change-barred HTML.
$(PREVDOCS)slib_toc.html:
$(PREVDOCS)slib.info: srcdir.mk 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
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
$(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 $(htmldir)slib.pdf \
$(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/
# $(MAKE) indiana
indiana:
upload $(dest)slib$(VERSION).zip ftp@ftp.cs.indiana.edu:/pub/scheme-repository/incoming
echo -e \
'I have uploaded slib$(VERSION).zip to ftp.cs.indiana.edu:/pub/scheme-repository/incoming\n' \
'for placement into ftp.cs.indiana.edu:/pub/scheme-repository/code/lib/' \
| mail -s 'SLIB upload' -b jaffer scheme-repository-request@cs.indiana.edu
postnews:
echo -e "Newsgroups: comp.lang.scheme\n" | cat - ANNOUNCE | \
inews -h -O -S \
-f "announce@voluntocracy.org (Aubrey Jaffer & Radey Shouman)" \
-t "SLIB$(VERSION) Released" -d world
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
rpm: pubzip
#$(dest)slib-$(VERSION)-$(RELEASE).noarch.rpm: $(dest)slib$(VERSION).zip
cp $(HOME)/pub/slib.zip $(rpm_prefix)SOURCES/slib$(VERSION).zip
rpm -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)
shar: slib.shar
slib.shar: temp/slib
$(makedev) PROD=slib shar
dclshar: slib.com
com: slib.com
slib.com: temp/slib
$(makedev) PROD=slib com
zip: slib.zip
slib.zip: temp/slib
$(makedev) DEST=../ PROD=slib zip
doszip: /c/scm/dist/slib$(VERSION).zip
/c/scm/dist/slib$(VERSION).zip: temp/slib
$(makedev) DEST=/c/scm/dist/ PROD=slib ver=$(VERSION) zip
zip -d /c/scm/dist/slib$(VERSION).zip slib/slib.info
pubzip: temp/slib
$(makedev) DEST=$(HOME)/pub/ 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
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:
-rm -rf psdtemp
mkdir psdtemp
mkdir psdtemp/slib
mkdir psdtemp/slib/psd
cd psd; ln $(psdfiles) ../psdtemp/slib/psd
mkdir 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/
new:
echo `date -I` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change
echo>> change
echo \ \* require.scm \(*SLIB-VERSION*\): Bumped from $(VERSION) to $(ver).>>change
echo>> change
cat ChangeLog >> change
mv -f change ChangeLog
$(CHPAT) slib$(VERSION) slib$(ver) ANNOUNCE FAQ ../scm/ANNOUNCE \
../jacal/ANNOUNCE ../wb/README ../wb/ANNOUNCE \
../synch/ANNOUNCE \
$(htmldir)README.html ../dist/README \
$(htmldir)JACAL.html \
$(htmldir)SCM.html \
$(htmldir)SIMSYNCH.html ../scm/scm.texi \
/c/scm/dist/install.bat /c/scm/dist/makefile \
/c/scm/dist/mkdisk.bat
$(CHPAT) slib-$(VERSION) slib-$(ver) ANNOUNCE FAQ ../scm/ANNOUNCE \
../jacal/ANNOUNCE ../wb/README ../wb/ANNOUNCE \
../synch/ANNOUNCE \
$(htmldir)README.html ../dist/README \
$(htmldir)JACAL.html \
$(htmldir)SCM.html \
$(htmldir)SIMSYNCH.html ../scm/scm.texi \
/c/scm/dist/install.bat /c/scm/dist/makefile \
/c/scm/dist/mkdisk.bat
$(CHPAT) $(VERSION) $(ver) README slib.texi require.scm Makefile \
$(htmldir)SLIB.html slib.spec scheme48.init s48-0_57.init
cvs commit -lm '(*SLIB-VERSION*): Bumped from $(VERSION) to $(ver).'
cvs tag -lF slib$(ver)
tagfiles = README version.txi slib.texi \
$(mkfiles) $(sfiles) $(bfiles) $(tfiles) $(ifiles)
# README and $(ifiles) cause semgentation faults in ETAGS for Emacs version 19.
tags: $(tagfiles)
etags $(tagfiles)
test: $(sfiles)
$(scheme) Template.scm $(sfiles)
rights:
$(scheme) -ladmin -e"(admin:check-all)" $(sfiles) $(tfiles) \
$(bfiles) $(ifiles)
report:
$(scheme) -e"(slib:report #t)"
clean:
-rm -f *~ *.bak *.orig *.rej core a.out *.o \#*
-rm -rf *temp
-rm -f slib$(VERSION).info
-rm -f version.txi
-rm -rf $(htmldir)
echo $(scheme) -l guile.init.local -c '(require '\''schmooz) (schmooz-which-files "slib.texi")'
distclean: realclean
realclean:
-rm -f *~ *.bak *.orig *.rej TAGS core a.out *.o \#*
-rm -f slib.info* slib.?? slib.???
-rm -rf *temp
realempty: temp/slib
-rm -f $(allfiles)
|