aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile208
1 files changed, 94 insertions, 114 deletions
diff --git a/Makefile b/Makefile
index 1f01857..1477c86 100644
--- a/Makefile
+++ b/Makefile
@@ -1,44 +1,20 @@
-# Copyright (C) 1990-1999 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA.
-#
-# As a special exception, the Free Software Foundation gives permission
-# for additional uses of the text contained in its release of SCM.
-#
-# The exception is that, if you link the SCM library with other files
-# to produce an executable, this does not by itself cause the
-# resulting executable to be covered by the GNU General Public License.
-# Your use of that executable is in no way restricted on account of
-# linking the SCM library code into it.
+# "Makefile" for scm Scheme Interpreter
+# Copyright (C) 1990-2008 Free Software Foundation, Inc.
#
-# This exception does not however invalidate any other reasons why
-# the executable file might be covered by the GNU General Public License.
+# 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 exception applies only to the code released by the
-# Free Software Foundation under the name SCM. If you copy
-# code from other Free Software Foundation releases into a copy of
-# SCM, as the General Public License permits, the exception does
-# not apply to the code that you add in this way. To avoid misleading
-# anyone as to the status of such modified files, you must delete
-# this exception notice from them.
+# 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.
#
-# If you write modifications of your own for SCM, it is your choice
-# whether to permit this exception to apply to your modifications.
-# If you do not wish that, delete this exception notice.
+# 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/>.
-# "Makefile" for scm Scheme Interpreter
# Author: Aubrey Jaffer
SHELL = /bin/sh
@@ -75,7 +51,7 @@ RELEASE = 1
intro:
@echo
- @echo "This is the scm$(VERSION) distribution. Read \"scm.info\""
+ @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
@@ -124,8 +100,9 @@ xfiles = x.c x.h xgen.scm xevent.h inc2scm $(xafiles)
all: require.scm
$(MAKE) mydlls
$(MAKE) dscm5
- $(MAKE) x.so
+ $(MAKE) differ.so
$(MAKE) db.so
+ if [ -d /usr/X11R6/lib ]; then $(MAKE) x.so; fi
require.scm:
cp -p requires.scm require.scm
@@ -266,7 +243,7 @@ libscm.opt:
echo "-F engineering-notation" >> libscm.opt
echo "-F dynamic-linking" >> libscm.opt
mylib: libscm.a
-libscm.a: libscm.opt
+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
@@ -293,18 +270,18 @@ mydlls: dlls.opt bytenumb.so
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
+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 Makefile
+bytenumb.so: bytenumb.c scm.h scmfig.h
$(BUILD) -t dll -f dlls.opt -F byte-number inexact bignums
-differ.so: differ.c
+differ.so: differ.c scm.h scmfig.h
$(BUILD) -t dll -f dlls.opt -F differ
-myturtle: dlls.opt
+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
+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
@@ -380,7 +357,7 @@ implcat: $(SHOBJS) mkimpcat.scm
htmldir=../public_html/
dvi: scm.dvi Xlibscm.dvi hobbit.dvi
-scm.dvi: version.txi scm.texi indexes.texi platform.txi features.txi Makefile
+scm.dvi: $(texifiles) Makefile
texi2dvi -b -c scm.texi
Xlibscm.dvi: version.txi Xlibscm.texi Makefile
texi2dvi -b -c Xlibscm.texi
@@ -394,7 +371,7 @@ hobdvi: hobbit.dvi
xdvi hobbit.dvi
pdf: $(htmldir)scm.pdf $(htmldir)Xlibscm.pdf $(htmldir)hobbit.pdf
-$(htmldir)scm.pdf: version.txi scm.texi indexes.texi platform.txi features.txi Makefile
+$(htmldir)scm.pdf: $(texifiles) Makefile
texi2pdf -b -c scm.texi
mv scm.pdf $(htmldir)
$(htmldir)Xlibscm.pdf: version.txi Xlibscm.texi Makefile
@@ -414,25 +391,29 @@ PREVDOCS = prevdocs/
html: $(htmldir)scm_toc.html $(htmldir)Xlibscm_toc.html $(htmldir)hobbit_toc.html
TEXI2HTML = /usr/local/bin/texi2html -split -verbose
-scm_toc.html: version.txi scm.texi indexes.texi platform.txi features.txi
- ${TEXI2HTML} scm.texi
-Xlibscm_toc.html: version.txi Xlibscm.texi
- ${TEXI2HTML} Xlibscm.texi
-hobbit_toc.html: version.txi hobbit.texi
- ${TEXI2HTML} hobbit.texi
-$(htmldir)scm_toc.html: scm_toc.html Makefile
+$(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: Xlibscm_toc.html Makefile
+$(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: hobbit_toc.html Makefile
+$(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
@@ -440,6 +421,7 @@ $(PREVDOCS)scm.info: Makefile
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 ################
@@ -452,8 +434,7 @@ bindir = $(exec_prefix)bin/
libdir = $(exec_prefix)lib/
libscmdir = $(libdir)scm/
# directory where `make install' will put manual page.
-mandir = $(prefix)man/
-man1dir = $(mandir)man1/
+man1dir = $(prefix)man/man1/
infodir = $(prefix)info/
includedir = $(prefix)include/
@@ -465,12 +446,12 @@ platform.txi: build.scm
> platform.txi
features.txi: build build.scm
$(SCMLIT) -l build -e"(make-features-txi)"
-scm.info: version.txi scm.texi indexes.texi platform.txi features.txi
+scm.info: $(texifiles)
makeinfo scm.texi --no-split -o scm.info
- mv scm.info scm$(VERSION).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
+ 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
@@ -505,27 +486,25 @@ $(DESTDIR)$(infodir)Xlibscm.info.gz: $(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
- test -d $(DESTDIR)$(bindir) || mkdir $(DESTDIR)$(bindir)
- test -d $(DESTDIR)$(mandir) || mkdir $(DESTDIR)$(mandir)
- test -d $(DESTDIR)$(man1dir) || mkdir $(DESTDIR)$(man1dir)
+ mkdir -p $(DESTDIR)$(bindir)
+ mkdir -p $(DESTDIR)$(man1dir)
-cp scm scmlit $(DESTDIR)$(bindir)
-strip $(DESTDIR)$(bindir)scmlit
-cp scm.1 $(DESTDIR)$(man1dir)
- test -d $(DESTDIR)$(libdir) || mkdir $(DESTDIR)$(libdir)
- test -d $(DESTDIR)$(libscmdir) || mkdir $(DESTDIR)$(libscmdir)
- -cp $(ifiles) $(hobfiles) COPYING r4rstest.scm $(DESTDIR)$(libscmdir)
+ mkdir -p $(DESTDIR)$(libscmdir)
test -f $(DESTDIR)$(libscmdir)require.scm || \
cp requires.scm $(DESTDIR)$(libscmdir)require.scm
- -cp build build.scm mkimpcat.scm Iedline.scm $(SHOBJS) patchlvl.h\
- $(xafiles) $(DESTDIR)$(libscmdir)
- -cp db.so wbtab.scm rwb-isam.scm $(DESTDIR)$(libscmdir)
- -cp libscm.dylib $(DESTDIR)$(libdir)
+ -cp $(lsdfiles) $(DESTDIR)$(libscmdir)
installlib:
- test -d $(DESTDIR)$(includedir) || mkdir $(DESTDIR)$(includedir)
+ mkdir -p $(DESTDIR)$(includedir)
cp scm.h scmfig.h scmflags.h $(DESTDIR)$(includedir)
- test -d $(DESTDIR)$(libdir) || mkdir $(DESTDIR)$(libdir)
+ mkdir -p $(DESTDIR)$(libdir)
cp libscm.a $(DESTDIR)$(libdir)libscm.a
uninstall:
@@ -533,10 +512,7 @@ uninstall:
-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 $(ifiles) $(hobfiles) COPYING r4rstest.scm)
- -(cd $(DESTDIR)$(libscmdir); rm build build.scm mkimpcat.scm \
- $(SHOBJS) patchlvl.h $(xafiles))
- -(cd $(DESTDIR)$(libscmdir); rm db.so wbtab.scm rwb-isam.scm require.scm)
+ -(cd $(DESTDIR)$(libscmdir); rm $(lsdfiles) require.scm)
uninstallinfo:
-rm $(DESTDIR)$(infodir)scm.info.gz $(DESTDIR)$(infodir)Xlibscm.info.gz\
@@ -562,7 +538,7 @@ scm.exe: gw32scmwb.sh
hobbit.html: hobbit.texi
makeinfo --html --no-split --no-warn hobbit.texi
-scm.html: scm.texi
+scm.html: $(texifiles)
makeinfo --html --no-split --no-warn --force scm.texi
## to build a windows installer
@@ -580,13 +556,15 @@ version.txi: patchlvl.h
RM_R = rm -rf
confiles = scmconfig.h.in mkinstalldirs acconfig-1.5.h install-sh \
- configure configure.in Makefile.in COPYING README.unix
+ 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
-dfiles = ANNOUNCE README COPYING scm.1 scm.doc QUICKREF \
- scm.info scm.texi indexes.texi Xlibscm.info Xlibscm.texi hobbit.info hobbit.texi \
- version.txi platform.txi features.txi ChangeLog
+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 \
@@ -597,7 +575,7 @@ afiles = $(dfiles) $(cfiles) $(hfiles) $(ifiles) $(tfiles) $(mfiles) \
makedev = make -f $(HOME)/makefile.dev
CHPAT=$(HOME)/bin/chpat
-RSYNC=rsync --rsync-path=bin/rsync -bav
+RSYNC=rsync -bav
UPLOADEE=swissnet_upload
dest = $(HOME)/dist/
DOSCM = /c/Voluntocracy/dist/
@@ -608,28 +586,28 @@ temp/scm: $(afiles)
ln $(afiles) temp/scm
release: dist pdf # rpm
- cvs tag -F scm$(VERSION)
+ 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 \
+ $(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/
+# 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
+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
+# $(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
+ 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)
@@ -643,13 +621,14 @@ scm.com: temp/scm
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.lnk 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.lnk \
+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
+ 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
@@ -660,19 +639,21 @@ pubdiffs: temp/scm
distdiffs: temp/scm
$(makedev) DEST=$(dest) PROD=scm ver=$(ver) distdiffs
-CITERS = ANNOUNCE ../jacal/ANNOUNCE \
- ../wb/README ../wb/ANNOUNCE ../synch/ANNOUNCE \
- $(htmldir)README.html ../dist/README \
- $(htmldir)SLIB.html $(htmldir)JACAL.html \
- $(htmldir)SCM.html $(htmldir)SIMSYNCH.html \
- ../jacal/jacal.texi ../wb/wb.texi \
- $(DOSCM)install.bat $(DOSCM)makefile \
- $(DOSCM)mkdisk.bat hobbit.texi hobbit.scm
+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) scm$(VERSION) scm$(ver) $(CITERS)
- $(CHPAT) scm-$(VERSION) scm-$(ver) $(CITERS)
- $(CHPAT) $(VERSION) $(ver) ../wb/wb.spec $(htmldir)SCM.html scm.spec scm.nsi
+ $(CHPAT) slib-$(VERSION) slib-$(ver) $(CITERS)
+ $(CHPAT) $(VERSION) $(ver) $(CITES)
+ make README
Init$(ver).scm:
mv -f Init$(VERSION).scm Init$(ver).scm
@@ -690,7 +671,7 @@ new: updates
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)
+ cvs tag -F scm-$(ver)
configtemp/scm: $(confiles)
-$(RM_R) configtemp/scm
@@ -734,9 +715,8 @@ ctagfiles = $(hfiles) $(cfiles) $(xfiles)
ctags: $(ctagfiles)
etags $(ctagfiles)
-TAGFILES = $(hfiles) $(cfiles) $(ifiles) $(sfiles)\
- version.txi scm.texi indexes.texi Xlibscm.texi hobbit.texi build $(xfiles) $(mfiles)\
- hobbit.scm
+TAGFILES = $(hfiles) $(cfiles) $(ifiles) $(sfiles) $(xfiles) $(mfiles)\
+ $(txifiles) Xlibscm.texi hobbit.texi build hobbit.scm
# # $(ufiles) ChangeLog
TAGS: $(TAGFILES)
etags $(TAGFILES)