# $Header: Makefile,v 1.30 87/12/16 22:59:24 sklower Exp $
# Makefile for total Franz Lisp system.
# Read the file ReadMe for directions on how to build the system.
# capabilities of this directory.
# copylibrary: copies distribution copy of lisp directory to LibDir
# fast: make a new lisp and liszt assuming that a liszt and lisp
# already exist. Results are franz/mylisp and liszt/nliszt.
# Use 'make install' to install it.
# install: moves franz/mylisp to ObjDir/lisp and moves
# liszt/nliszt to ObjDir/liszt
#-- the rest of the capabilities are for use when making a distribution
# copyallsource: copies lisp distrib files in the current directory tree
# CopyTo should exist already, but the subdirectories
# Before doing one of the below, you should make sure that the on line
# manual is up to date. Go to the doc subdirectory and type
# lispdist: makes a new distribution directory in LispDist.
# LispDist should already exist.
# lispscriptdist: make a shell script lisp distribution. The result is put
# in LispDist as a set of text files comprising a shell script.
# The files are broken into a nice size for transport over the berknet.
# The first thing that lispscriptdist does is to,
# 'make prelispscriptdist'
# Which insures that the files are ready to go.
# Also, the value of Version should be set to the version number of
#--- Default paths and programs
# the following lines are modifed by './lispconf', so don't modify it by hand!
RootDir
= /usr
/src
/ucb
/lisp
LibDir
= ${DESTDIR}/usr
/lib
/lisp
ObjDir
= ${DESTDIR}/usr
/ucb
#LibDir = ${DESTDIR}${RootDir}/lisplib
#ObjDir = ${DESTDIR}${RootDir}/bin
LispDist
= /usr
/src
/ucb
/lispdist
# definitions that you shouldn't change
CcodeDir
= ..
/..
/${FranzD}
# --- this directory also has some sources
Src
= Makefile ReadMe ReadMe.tahoe lispconf lispnews scriptcat \
Notes.tahoe Notice cvt.awk
# make as lisp and lisp assuming that there are .s files in the
# lisplib and liszt subdirs
# (cd as68 ; make DESTDIR=${LibDir} install)
(cd utils
; make LibDir
=${LibDir} all)
(cd
${LibDir} ; make LibDir
=${LibDir} as nld fromasm
)
(cd
${FranzD} ; make LibDir
=${LibDir} ObjDir
=${ObjDir} nlisp
)
(cd
${LisztD} ; make Lisp
=${CcodeDir}/nlisp fromasm
)
(cd liszt
; make Liszt
=${Mach}/nliszt lxref
)
## when the lisp system is rebuilt as part of the entire Nbsd distribution,
# first 'make' to build lisp,liszt and lxref
# next 'make DESTDIR=xxx install' to install the new lisp
# finally 'make clean' to clean out objects
# the 'make all' is done when just a 'make' is done
(cd utils
; make LibDir
=${LibDir} all)
(cd
${LibDir} ; make
as nld
)
(cd
${FranzD} ; make LibDir
=${LibDir} ObjDir
=${ObjDir} donlisp
)
(cd
${LisztD} ; make Lisp
=${CcodeDir}/nlisp nliszt
)
(cd liszt
; make Liszt
=${Mach}/nliszt lxref
)
(cd lisplib
; make CopyTo
=${LibDir} copysource
)
(cd utils
; make LibDir
=${LibDir} all)
(cd
${LibDir}; make
as nld tackon
)
(cd
${FranzD}; make Lisp
=${Lisp} Liszt
=${Liszt} LibDir
=${LibDir}\
ObjDir
=${ObjDir} donlisp
)
(cd
${LisztD}; make Lisp
=${CcodeDir}/nlisp Liszt
=${Liszt} donliszt
)
(X
=`pwd` ; cd
${LibDir}; make Liszt
=$$X/${LisztD}/nliszt
clean all)
(cd
${FranzD}; make Liszt
=..
/..
/${LisztD}/nliszt \
ObjDir
=${ObjDir} LibDir
=${LibDir} donlisp
)
(cd
${LisztD}; make Lisp
=${CcodeDir}/nlisp \
Liszt
=.
/nliszt cleanobj nliszt
)
(cd liszt
; make Liszt
=${Mach}/nliszt lxref
)
(cd doc
; make LibDir
=${LibDir} install)
(cd utils
; make LibDir
=${LibDir} all)
(cd
${LibDir}; make
as nld
)
(cd
${FranzD}; make LibDir
=${LibDir} ObjDir
=${ObjDir} snlisp
)
(cd
${LisztD}; make Lisp
=${CcodeDir}/snlisp snliszt
)
(cd
${LisztD}; make Lisp
=${CcodeDir}/snlisp Liszt
=.
/snliszt nliszt
)
(X
=`pwd`; cd
${FranzD};make Liszt
=$$X/${LisztD}/nliszt \
(cd
${LisztD}; make Lisp
=${CcodeDir}/nlisp Liszt
=.
/nliszt nliszt
)
(X
=`pwd`; cd
${LibDir} ; make Liszt
=$$X/${LisztD}/nliszt
all)
(X
=`pwd`; cd
${LibDir} ; make Liszt
=$$X/${LisztD}/nliszt struct-again
)
(X
=`pwd`; cd
${FranzD} ; make Liszt
=$$X/${LisztD}/nliszt \
LibDir
=${LibDir} donlisp
)
(cd
${LisztD}; make Lisp
=${CcodeDir}/nlisp Liszt
=.
/nliszt nliszt
)
(cd liszt
; make Liszt
=${Mach}/nliszt lxref
)
(cd doc
; make LibDir
=${LibDir} install)
(cd
${FranzD}; make ObjDir
=${ObjDir} LibDir
=${LibDir} install)
(cd
${LisztD}; make ObjDir
=${ObjDir} LibDir
=${LibDir} install)
(cd liszt
; make ObjDir
=${ObjDir} LibDir
=${LibDir} install)
-mkdir
${CopyTo}/franz
/vax
-mkdir
${CopyTo}/franz
/tahoe
-mkdir
${CopyTo}/franz
/68k
-mkdir
${CopyTo}/liszt
/vax
-mkdir
${CopyTo}/liszt
/tahoe
-mkdir
${CopyTo}/liszt
/68k
-mkdir
${CopyTo}/lisplib
/manual
-mkdir
${CopyTo}/lisplib
/autorun
(tar crf
- ${Src} |
(cd
${CopyTo}; tar xfp
-))
(cd franz
; make CopyTo
=${CopyTo}/franz copysource
)
(cd franz
/vax
; make CopyTo
=${CopyTo}/franz
/vax copysource
)
(cd franz
/tahoe
; make CopyTo
=${CopyTo}/franz
/tahoe copysource
)
(cd franz
/68k
; make CopyTo
=${CopyTo}/franz
/68k copysource
)
(cd liszt
; make CopyTo
=${CopyTo}/liszt copysource
)
(cd liszt
/vax
; make CopyTo
=${CopyTo}/liszt
/vax copysource
)
(cd liszt
/tahoe
; make CopyTo
=${CopyTo}/liszt
/tahoe copysource
)
(cd liszt
/68k
; make CopyTo
=${CopyTo}/liszt
/68k copysource
)
(cd
${LibDir} ; make CopyTo
=${CopyTo}/lisplib copysource
)
(cd doc
; make CopyTo
=${CopyTo}/doc copysource
)
(cd utils
; make CopyTo
=${CopyTo}/utils copysource
)
(cd pearl
; make CopyTo
=${CopyTo}/pearl copysource
)
(cd
${LispDist}; rm -f
-r
*)
make CopyTo
=${LispDist} copyallsource
(cd franz
/vax
; make CopyTo
=${CopyTo}/franz
/vax copyobjects
)
(cd franz
/tahoe
; make CopyTo
=${CopyTo}/franz
/tahoe copyobjects
)
(cd franz
/68k
; make CopyTo
=${CopyTo}/franz
/68k copyobjects
)
(cd liszt
/vax
; make CopyTo
=${CopyTo}/liszt
/vax copyobjects
)
(cd liszt
/tahoe
; make CopyTo
=${CopyTo}/liszt
/tahoe copyobjects
)
(cd
${LibDir} ; make CopyTo
=${CopyTo}/lisplib copyobjects
)
(cd
${LispDist}; rm -f
-r opus
*)
(make genlispscript |
(cd
${LispDist} ; \
divide
-500000 -popus
${Version}.
-l
))
(cd
${LispDist}; rm -f
-r x
${Mach}*)
(make Mach
=${Mach} genxtra
) | \
(cd
${LispDist} ; divide
-500000 -px
${Mach}.
${Version}.
-l
)
make genas68
> ${LispDist}/lispas
make Liszt
="$$X/liszt/${Mach}/nliszt -e '(sstatus feature for-${Mach})'" xtra
)
(cd liszt
/${Mach}; make
-f Makefile2 xtra
)
@echo \
# Franz Lisp distribution Opus ${Version}
@echo mkdir lisplib
/manual
@echo mkdir lisplib
/autorun
@
(cd franz
; make scriptcatall
)
@
(cd franz
/vax
; make scriptcatall
)
@
(cd franz
/tahoe
; make scriptcatall
)
@
(cd franz
/68k
; make scriptcatall
)
@
(cd liszt
; make scriptcatall
)
@
(cd liszt
/tahoe
; make scriptcatall
)
@
(cd liszt
/68k
; make scriptcatall
)
@
(cd doc
; make LibDir
=${LibDir} scriptcatall
)
@
(cd utils
; make scriptcatall
)
@
(X
=`pwd` ; cd pearl
; make CdTo
=$$X scriptcatall
)
@
(X
=`pwd` ; cd
${LibDir} ; make CdTo
=$$X scriptcatall
)
@echo \
# end of Franz Lisp Distribution
@
(echo mkdir as68
;cd as68
; make scriptcat
)
@
(X
=`pwd` ; cd
${LibDir} ; make CdTo
=$$X scriptcatxtra
)
@
(cd liszt
/${Mach} ; make
-f Makefile2 scriptcatxtra
)
cd franz
/tahoe
; make
clean
cd liszt
/tahoe
; make
clean