aboutsummaryrefslogtreecommitdiff
path: root/sol-Build-A-Release.mk
diff options
context:
space:
mode:
authorDavid Henkel-Wallace <gumby@cygnus>1992-07-29 16:21:34 +0000
committerDavid Henkel-Wallace <gumby@cygnus>1992-07-29 16:21:34 +0000
commit5898af2c4bc6a91b1430cf781eae92fef87414ce (patch)
tree1402e5339d080438a7202c67295aa35ce4007e2e /sol-Build-A-Release.mk
parentd81eea83fb445dcd573f52288c1afedf732323b1 (diff)
downloadgdb-5898af2c4bc6a91b1430cf781eae92fef87414ce.zip
gdb-5898af2c4bc6a91b1430cf781eae92fef87414ce.tar.gz
gdb-5898af2c4bc6a91b1430cf781eae92fef87414ce.tar.bz2
Add some files from Progressive shich shouldn't be lost.
Diffstat (limited to 'sol-Build-A-Release.mk')
-rw-r--r--sol-Build-A-Release.mk315
1 files changed, 315 insertions, 0 deletions
diff --git a/sol-Build-A-Release.mk b/sol-Build-A-Release.mk
new file mode 100644
index 0000000..45ee872
--- /dev/null
+++ b/sol-Build-A-Release.mk
@@ -0,0 +1,315 @@
+### Makefile for preparing a progressive release.
+###
+### This makefile is distinct from the makefile for three-staging 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
+###
+
+RELNO = 1.0
+
+PWD = $(shell pwd)
+CVS = $(PWD)/cirdancvs
+tree = progressive
+rooting = /opt/cygnus-sol2-$(RELNO)
+cvs_module = progressive-solaris
+gccflags = "-O"
+release_tag = solaris-1-0
+release_dir = cygnus-sol2-1.0
+
+
+
+host_release = ${host}/cygnus-sol2-$(RELNO)
+objdir = ${host_release}/objdir
+
+
+# prefixes are passed as arguments to configure, they have to start with -
+prefixes = -prefix=$(rooting)
+
+# inst_prefixes are passed as arguments to make, without the -
+inst_prefixes = prefix=$(PWD)/$(host_release)
+
+### What are these for?
+create =
+restart =
+usage =
+
+## which C compiler to use
+#CC = $(rooting)/bin/gcc
+CC = /opt/cygnus-sol2-1.0/bin/gcc
+C_COMPILER = "CC=$(CC) ${gccflags}"
+
+all: .${host}-done fluff
+ chmod -R a-w $(host)
+ chmod -R go=u $(host)
+ find $(host) -type d -print | xargs chmod u+w
+
+testfile: all blockit ${host}+.Z
+${host}+.Z:
+ (cd ${host} ; tar cf - ${release_dir} \
+ | 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 \
+ $(inst_prefixes) $(C_COMPILER)
+ touch $@
+
+.${host}-install-info: .${host}-info
+ ${MAKE} -C ${objdir} -w install-info $(inst_prefixes) $(C_COMPILER)
+ touch $@
+
+.${host}-all: .${host}-config
+ ${MAKE} -C ${objdir} -w all $(C_COMPILER)
+ touch $@
+
+.${host}-info: .${host}-config
+ ${MAKE} -C ${objdir} -w info $(C_COMPILER)
+ touch $@
+
+.${host}-config: .${host}-src
+ cd ${objdir} ; \
+ ../src/configure ${host} $(prefixes)
+ touch $@
+
+.${host}-src: .${release_tag}-co .${host}-dirs
+ rm -rf ${host_release}/src
+ (tar cf - ${release_dir} | (cd ${host_release} ; tar xvf -) ; true)
+ (cd ${host_release}/${release_dir} ; find . \( -name CVS -o -name CVS.adm \) -depth -exec rm -rf {} \; )
+ mv ${host_release}/${release_dir} ${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_dir}
+ 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 \
+ ${host_release}/lib/fixincludes \
+ ${host_release}/src/INSTALL \
+ ${host_release}/README \
+ ${host}/Install \
+ ${host}/install.dvi \
+ ${host_release}/CYGNUS
+
+${host}/install.dvi: ${host_release}/src/install.texinfo
+ cp $< ${host}/install.texinfo
+ (cd ${host} ; tex install.texinfo)
+ (cd ${host} ; tex install.texinfo)
+ (cd ${host} ; tex install.texinfo)
+ rm ${host}/install.texinfo
+
+install-notes: ${host}/install.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/install-texi.in \
+ ${host_release}/src/install.texinfo \
+ ${host_release}/src/Install.in \
+
+${host_release}/src/Build-A-Release.mk: ${release_dir}/Build-A-Release.mk
+ rm -f $@; cp $< $@
+
+${host_release}/src/Pack-A-Progressive: ${release_dir}/Pack-A-Progressive
+ rm -f $@; cp $< $@
+
+${host_release}/src/Install.in: ${release_dir}/Install.in
+ rm -f $@; cp $< $@
+
+${host_release}/src/CYGNUS: ${release_dir}/CYGNUS
+ rm -f $@; cp $< $@
+
+${host_release}/CYGNUS: ${host_release}/src/CYGNUS
+ rm -f $@; cp $< $@
+
+${host_release}/src/install-texi.in: ${release_dir}/sol-inst.texi
+ rm -f $@; cp $< $@
+
+${host_release}/lib/fixincludes: ${host_release}/src/gcc/fixincludes
+ rm -f $@; cp $< $@
+ chmod a+x $@
+
+${host}/Install: ${host_release}/Install
+ rm -f $@; cp $< $@
+ chmod a+x $@
+
+${host_release}/Install: ${host_release}/src/Install
+ rm -f $@; cp $< $@
+ chmod a+x $@
+
+${host_release}/src/install.texinfo: ${host_release}/src/install-texi.in
+ $(MAKE) process -f Build-A-Release.mk IN=$< OUT=$@ relno=`echo ${release_dir} | sed "/${tree}-/s///"`
+
+${host_release}/README: ${host_release}/src/README-bin
+ rm -f $@; cp $< $@
+
+${host_release}/src/INSTALL: ${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_dir} | 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 -f ${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" \
+ < ${IN} > ${OUT}.new
+
+
+process-sparc-sun-solaris2:
+ sed \
+ -e "/^@set FIXMES/s::@clear FIXMES:" \
+ -e "/^@clear CUSTOMER/s::@set CUSTOMER:" \
+ -e "/^@set CDROMinst/s::@clear CDROMinst:" \
+ -e "/^@clear TAPEinst/s::@set TAPEinst:" \
+ -e "/^@set FTPsingle/s::@clear FTPsingle:" \
+ -e "/^@set FTPsplit/s::@clear FTPsplit:" \
+ -e "/\|\|MEDIUM\|\|/s::tape:g" \
+ -e "/\|\|MEDstr\|\|/s::/dev/rmt/0ln:g" \
+ -e "/\|\|DEVdflt\|\|/s::/dev/rmt/0ln:g" \
+ -e "/\|\|MEDvar\|\|/s::/dev/@var{tape}:g" \
+ -e "/\|\|TAPdflt\|\|/s::/dev/@var{tape}:g" \
+ -e "/\|\|RELNO\|\|/s::1.0:g" \
+ -e "/\|\|BD\|\|/s::20:g" \
+ -e "/\|\|SD\|\|/s::28:g" \
+ -e "/\|\|DF\|\|/s::48:g" \
+ -e "/\|\|BUNDLE\|\|/s::comp:g" \
+ -e "/\|\|HOST\|\|/s::SPARC computer:g" \
+ -e "/\|\|HOSTstr\|\|/s::sparc-sun-solaris2:g" \
+ -e "/\|\|TARGET\|\|/s::sparc-sun-solaris2:g" \
+ -e "/\|\|GCCvn\|\|/s::cygnus-2.0.2: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" \
+ < ${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" \
+ < ${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" \
+ < ${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" \
+ < ${IN} > ${OUT}.new
+
+pclean:
+ rm -rf ${host}
+
+blockit: blockit.c
+
+
+