304 lines
8.9 KiB
Makefile
304 lines
8.9 KiB
Makefile
|
### Makefile for preparing a progressive release.
|
||
|
###
|
||
|
|
||
|
### This makefile is distinct from test-build for several reasons.
|
||
|
### First, this version builds a "stage4" using src directories that
|
||
|
### have no CVS directories. Second, the binaries are build from
|
||
|
### independent copies of the source. That is, each host release will
|
||
|
### have it's own copy of the src directory.
|
||
|
|
||
|
###
|
||
|
### This file was written and is maintained by K. Richard Pixley,
|
||
|
### <rich@cygnus.com>.
|
||
|
###
|
||
|
|
||
|
CVS := /usr/latest/bin/cvs # using cvs-1.3
|
||
|
tree := progressive
|
||
|
rooting := /usr/cygnus
|
||
|
cvs_module := progressive1
|
||
|
gccflags := "-O"
|
||
|
release_tag := progressive-920529
|
||
|
bundle := emacs
|
||
|
host := sun4
|
||
|
|
||
|
ifeq (${bundle},emacs)
|
||
|
fixincludes :=
|
||
|
doc := emacs
|
||
|
else
|
||
|
fixincludes := ${host_release}/lib/fixincludes
|
||
|
doc := install
|
||
|
endif
|
||
|
|
||
|
host_release=${host}/${release_tag}
|
||
|
objdir=${host_release}/objdir
|
||
|
|
||
|
all: .${host}-done fluff
|
||
|
|
||
|
testfile: all blockit ${host}+.Z
|
||
|
${host}+.Z:
|
||
|
(cd ${host} ; tar cf - ${release_tag} \
|
||
|
| compress -vV \
|
||
|
| ../blockit \
|
||
|
> ../$@)
|
||
|
|
||
|
.${host}-done: .${host}-install .${host}-install-info
|
||
|
# rm -rf ${objdir}
|
||
|
# touch $@
|
||
|
|
||
|
.${host}-install: .${host}-all
|
||
|
${MAKE} -C ${objdir} -w install-no-fixedincludes \
|
||
|
prefix=`pwd`/${host_release} \
|
||
|
exec_prefix=`pwd`/${host_release}/H-${host} \
|
||
|
"CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc ${gccflags}"
|
||
|
touch $@
|
||
|
|
||
|
.${host}-install-info: .${host}-info
|
||
|
${MAKE} -C ${objdir} -w install-info \
|
||
|
prefix=`pwd`/${host_release} \
|
||
|
exec_prefix=`pwd`/${host_release}/H-${host} \
|
||
|
"CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc \
|
||
|
${gccflags}"
|
||
|
touch $@
|
||
|
|
||
|
.${host}-all: .${host}-config
|
||
|
${MAKE} -C ${objdir} -w all "CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc ${gccflags}"
|
||
|
touch $@
|
||
|
|
||
|
.${host}-info: .${host}-config
|
||
|
${MAKE} -C ${objdir} -w info "CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc ${gccflags}"
|
||
|
touch $@
|
||
|
|
||
|
.${host}-config: .${host}-src
|
||
|
cd ${objdir} ; \
|
||
|
../src/configure ${host} \
|
||
|
-prefix=${rooting}/${release_tag} \
|
||
|
-exec_prefix=${rooting}/${release_tag}/H-${host}
|
||
|
touch $@
|
||
|
|
||
|
.${host}-src: .${release_tag}-co .${host}-dirs
|
||
|
rm -rf ${host_release}/src
|
||
|
(tar cf - ${release_tag} | (cd ${host_release} ; tar xvf -) ; true)
|
||
|
(cd ${host_release}/${release_tag} ; find . \( -name CVS -o -name CVS.adm \) -depth -exec rm -rf {} \; )
|
||
|
mv ${host_release}/${release_tag} ${host_release}/src
|
||
|
touch $@
|
||
|
|
||
|
.${host}-dirs:
|
||
|
[ -d ${host} ] || mkdir ${host}
|
||
|
[ -d ${host_release} ] || mkdir ${host_release}
|
||
|
[ -d ${objdir} ] || mkdir ${objdir}
|
||
|
touch $@
|
||
|
|
||
|
.${release_tag}-co: .${release_tag}-tagged
|
||
|
${CVS} co -r ${release_tag} ${cvs_module}
|
||
|
mv ${tree} ${release_tag}
|
||
|
touch $@
|
||
|
|
||
|
.${release_tag}-tagged:
|
||
|
${CVS} rtag ${release_tag} ${cvs_module}
|
||
|
touch $@
|
||
|
|
||
|
fluff: ${host_release}/src/Build-A-Release.mk \
|
||
|
${host_release}/src/Pack-A-Progressive \
|
||
|
${fixincludes} \
|
||
|
${host_release}/src/README \
|
||
|
${fixincludes} \
|
||
|
${host}/Install \
|
||
|
${host}/install.dvi \
|
||
|
${host}/tape-labels.dvi \
|
||
|
${host_release}/CYGNUS
|
||
|
|
||
|
${host}/tape-labels.dvi: ${host_release}/src/tape-labels.tex
|
||
|
cp $< ${host}/`basename $<`
|
||
|
(cd ${host} ; tex `basename $<`)
|
||
|
rm ${host}/`basename $<`
|
||
|
|
||
|
${host}/install.dvi: ${host_release}/src/install.texinfo
|
||
|
cp $< ${host}/`basename $<`
|
||
|
(cd ${host} ; tex `basename $<`)
|
||
|
(cd ${host} ; tex `basename $<`)
|
||
|
(cd ${host} ; tex `basename $<`)
|
||
|
rm ${host}/`basename $<`
|
||
|
|
||
|
print-notes: ${host}/install.dvi
|
||
|
lpr $^
|
||
|
|
||
|
print-labels: ${host}/tape-labels.dvi
|
||
|
lpr $^
|
||
|
|
||
|
clean-fluff:
|
||
|
rm -f ${host_release}/src/Build-A-Release.mk \
|
||
|
${host_release}/src/Pack-A-Progressive \
|
||
|
${host_release}/lib/fixincludes \
|
||
|
${host_release}/Install \
|
||
|
${host_release}/src/${doc}-texi.in \
|
||
|
${host_release}/src/tape-labels-tex.in \
|
||
|
${host_release}/src/tape-labels.tex \
|
||
|
${host_release}/src/install.texinfo \
|
||
|
${host_release}/src/Install.in \
|
||
|
|
||
|
${host_release}/src/Build-A-Release.mk: ${release_tag}/Build-A-Release.mk
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/src/Pack-A-Progressive: ${release_tag}/Pack-A-Progressive
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/src/Install.in: ${release_tag}/Install.in
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/src/CYGNUS: ${release_tag}/CYGNUS
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/CYGNUS: ${host_release}/src/CYGNUS
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/src/${doc}-texi.in: ${release_tag}/${doc}-texi.in
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/src/tape-labels-tex.in: ${release_tag}/tape-labels-tex.in
|
||
|
cp $< $@
|
||
|
|
||
|
${host_release}/lib/fixincludes: ${host_release}/src/gcc/fixincludes
|
||
|
cp $< $@
|
||
|
chmod a+x $@
|
||
|
|
||
|
${host}/Install: ${host_release}/Install
|
||
|
cp $< $@
|
||
|
chmod a+x $@
|
||
|
|
||
|
${host_release}/Install: ${host_release}/src/Install
|
||
|
cp $< $@
|
||
|
chmod a+x $@
|
||
|
|
||
|
${host_release}/src/install.texinfo: ${host_release}/src/${doc}-texi.in
|
||
|
$(MAKE) process -f Build-A-Release.mk IN=$< OUT=$@ relno=`echo ${release_tag} | sed "/${tree}-/s///"`
|
||
|
|
||
|
${host_release}/src/tape-labels.tex: ${host_release}/src/tape-labels-tex.in
|
||
|
$(MAKE) process -f Build-A-Release.mk IN=$< OUT=$@ relno=`echo ${release_tag} | sed "/${tree}-/s///"`
|
||
|
|
||
|
${host_release}/src/README: ${host_release}/src/install.texinfo
|
||
|
-makeinfo +no-headers +no-split $< -o $@
|
||
|
### remove tags table
|
||
|
sed -e '/^Tag Table/,$$d' $@ | sed -e '$$d' > $@.new
|
||
|
mv -f $@.new $@
|
||
|
|
||
|
${host_release}/src/Install: ${host_release}/src/Install.in
|
||
|
$(MAKE) process -f Build-A-Release.mk IN=$< OUT=$@ relno=`echo ${release_tag} | sed "/${tree}-/s///"`
|
||
|
chmod a+x $@
|
||
|
|
||
|
process: process-${host}
|
||
|
@if grep '||' ${OUT}.new ; then \
|
||
|
echo $0 missed at least one of the triggers. 1>&2 ; \
|
||
|
exit 1 ; \
|
||
|
else \
|
||
|
true ; \
|
||
|
fi
|
||
|
mv ${OUT}.new ${OUT}
|
||
|
|
||
|
process-sun4:
|
||
|
sed -e "/^@clear HOSTsun4/s::@set HOSTsun4:" \
|
||
|
-e "/^@set HOSTsun3/s::@clear HOSTsun3:" \
|
||
|
-e "/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
|
||
|
-e "/^@set HOSTiris/s::@clear HOSTiris:" \
|
||
|
-e "/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
|
||
|
-e "/^@set FIXMES/s::@clear FIXMES:" \
|
||
|
-e "/\|\|RELNO\|\|/s::${relno}:g" \
|
||
|
-e "/\|\|TAPdflt\|\|/s::QIC-24:g" \
|
||
|
-e "/\|\|DEVdflt\|\|/s::/dev/nrst8:g" \
|
||
|
-e "/\|\|BD\|\|/s::35:g" \
|
||
|
-e "/\|\|SD\|\|/s::34:g" \
|
||
|
-e "/\|\|DF\|\|/s::69:g" \
|
||
|
-e "/\|\|HOST\|\|/s::Sun-4:g" \
|
||
|
-e "/\|\|HOSTstr\|\|/s::sun4:g" \
|
||
|
-e "/\|\|TARGET\|\|/s::sun4:g" \
|
||
|
-e "/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
|
||
|
-e "/\|\|BUNDLE\|\|/s::${bundle}:g" \
|
||
|
< ${IN} > ${OUT}.new
|
||
|
|
||
|
process-sun3:
|
||
|
sed -e "/^@set HOSTsun4/s::@clear HOSTsun4:" \
|
||
|
-e "/^@clear HOSTsun3/s::@set HOSTsun3:" \
|
||
|
-e "/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
|
||
|
-e "/^@set HOSTiris/s::@clear HOSTiris:" \
|
||
|
-e "/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
|
||
|
-e "/^@set FIXMES/s::@clear FIXMES:" \
|
||
|
-e "/\|\|RELNO\|\|/s::${relno}:g" \
|
||
|
-e "/\|\|TAPdflt\|\|/s::QIC-24:g" \
|
||
|
-e "/\|\|DEVdflt\|\|/s::/dev/nrst8:g" \
|
||
|
-e "/\|\|BD\|\|/s::32:g" \
|
||
|
-e "/\|\|SD\|\|/s::34:g" \
|
||
|
-e "/\|\|DF\|\|/s::65:g" \
|
||
|
-e "/\|\|HOST\|\|/s::Sun-3:g" \
|
||
|
-e "/\|\|HOSTstr\|\|/s::sun3:g" \
|
||
|
-e "/\|\|TARGET\|\|/s::sun3:g" \
|
||
|
-e "/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
|
||
|
-e "/\|\|BUNDLE\|\|/s::${bundle}:g" \
|
||
|
< ${IN} > ${OUT}.new
|
||
|
|
||
|
process-decstation:
|
||
|
sed -e "/^@set HOSTsun4/s::@clear HOSTsun4:" \
|
||
|
-e "/^@set HOSTsun3/s::@clear HOSTsun3:" \
|
||
|
-e "/^@clear HOSTdecstation/s::@set HOSTdecstation:" \
|
||
|
-e "/^@set HOSTiris/s::@clear HOSTiris:" \
|
||
|
-e "/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
|
||
|
-e "/^@set FIXMES/s::@clear FIXMES:" \
|
||
|
-e "/\|\|RELNO\|\|/s::${relno}:g" \
|
||
|
-e "/\|\|TAPdflt\|\|/s::QIC-24:g" \
|
||
|
-e "/\|\|DEVdflt\|\|/s::/dev/nrmt0:g" \
|
||
|
-e "/\|\|BD\|\|/s::27:g" \
|
||
|
-e "/\|\|SD\|\|/s::34:g" \
|
||
|
-e "/\|\|DF\|\|/s::61:g" \
|
||
|
-e "/\|\|HOST\|\|/s::Decstation:g" \
|
||
|
-e "/\|\|HOSTstr\|\|/s::decstation:g" \
|
||
|
-e "/\|\|TARGET\|\|/s::decstation:g" \
|
||
|
-e "/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
|
||
|
-e "/\|\|BUNDLE\|\|/s::${bundle}:g" \
|
||
|
< ${IN} > ${OUT}.new
|
||
|
true
|
||
|
|
||
|
process-iris4:
|
||
|
sed -e "/^@set HOSTsun4/s::@clear HOSTsun4:" \
|
||
|
-e "/^@set HOSTsun3/s::@clear HOSTsun3:" \
|
||
|
-e "/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
|
||
|
-e "/^@clear HOSTiris/s::@set HOSTiris:" \
|
||
|
-e "/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
|
||
|
-e "/^@set FIXMES/s::@clear FIXMES:" \
|
||
|
-e "/\|\|RELNO\|\|/s::${relno}:g" \
|
||
|
-e "/\|\|TAPdflt\|\|/s::QIC-24:g" \
|
||
|
-e "/\|\|DEVdflt\|\|/s::/dev/mt/tps0d0nrns:g" \
|
||
|
-e "/\|\|BD\|\|/s::25:g" \
|
||
|
-e "/\|\|SD\|\|/s::34:g" \
|
||
|
-e "/\|\|DF\|\|/s::59:g" \
|
||
|
-e "/\|\|HOST\|\|/s::Iris:g" \
|
||
|
-e "/\|\|HOSTstr\|\|/s::iris4:g" \
|
||
|
-e "/\|\|TARGET\|\|/s::iris4:g" \
|
||
|
-e "/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
|
||
|
-e "/\|\|BUNDLE\|\|/s::${bundle}:g" \
|
||
|
< ${IN} > ${OUT}.new
|
||
|
|
||
|
process-rs6000:
|
||
|
sed -e "/^@set HOSTsun4/s::@clear HOSTsun4:" \
|
||
|
-e "/^@set HOSTsun3/s::@clear HOSTsun3:" \
|
||
|
-e "/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
|
||
|
-e "/^@set HOSTiris/s::@clear HOSTiris:" \
|
||
|
-e "/^@clear HOSTrs6000/s::@set HOSTrs6000:" \
|
||
|
-e "/^@set FIXMES/s::@clear FIXMES:" \
|
||
|
-e "/\|\|RELNO\|\|/s::${relno}:g" \
|
||
|
-e "/\|\|TAPdflt\|\|/s::QIC-24:g" \
|
||
|
-e "/\|\|DEVdflt\|\|/s::/dev/rmt0.1:g" \
|
||
|
-e "/\|\|BD\|\|/s::36:g" \
|
||
|
-e "/\|\|SD\|\|/s::34:g" \
|
||
|
-e "/\|\|DF\|\|/s::70:g" \
|
||
|
-e "/\|\|HOST\|\|/s::RS/6000:g" \
|
||
|
-e "/\|\|HOSTstr\|\|/s::rs6000:g" \
|
||
|
-e "/\|\|TARGET\|\|/s::rs6000:g" \
|
||
|
-e "/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
|
||
|
-e "/\|\|BUNDLE\|\|/s::${bundle}:g" \
|
||
|
< ${IN} > ${OUT}.new
|
||
|
|
||
|
clean:
|
||
|
rm -rf ${host}
|
||
|
|
||
|
blockit: blockit.c
|
||
|
|
||
|
### EOF
|