1 ### Makefile for preparing a progressive release.
4 ### This makefile is distinct from test-build for several reasons.
5 ### First, this version builds a "stage4" using src directories that
6 ### have no CVS directories. Second, the binaries are build from
7 ### independent copies of the source. That is, each host release will
8 ### have it's own copy of the src directory.
11 ### This file was written and is maintained by K. Richard Pixley,
12 ### <rich@cygnus.com>.
15 CVS
:= /usr
/latest
/bin
/cvs
# using cvs-1.3
17 rooting
:= /usr
/cygnus
18 cvs_module
:= progressive1
20 release_tag
:= progressive-920529
24 ifeq (${bundle},emacs
)
28 fixincludes
:= ${host_release}/lib
/fixincludes
32 host_release
=${host}/${release_tag}
33 objdir
=${host_release}/objdir
35 all: .
${host}-done fluff
37 testfile
: all blockit
${host}+.Z
39 (cd
${host} ; tar cf
- ${release_tag} \
44 .
${host}-done
: .
${host}-install .
${host}-install-info
48 .
${host}-install: .
${host}-all
49 ${MAKE} -C
${objdir} -w install-no-fixedincludes \
50 prefix=`pwd`/${host_release} \
51 exec_prefix=`pwd`/${host_release}/H-
${host} \
52 "CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc ${gccflags}"
55 .
${host}-install-info
: .
${host}-info
56 ${MAKE} -C
${objdir} -w install-info \
57 prefix=`pwd`/${host_release} \
58 exec_prefix=`pwd`/${host_release}/H-
${host} \
59 "CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc \
63 .
${host}-all: .
${host}-config
64 ${MAKE} -C
${objdir} -w
all "CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc ${gccflags}"
67 .
${host}-info: .
${host}-config
68 ${MAKE} -C
${objdir} -w
info "CC=/usr/cygnus/${tree}.${tree}/H-${host}/bin/gcc ${gccflags}"
71 .
${host}-config
: .
${host}-src
73 ..
/src
/configure
${host} \
74 -prefix=${rooting}/${release_tag} \
75 -exec_prefix=${rooting}/${release_tag}/H-
${host}
78 .
${host}-src
: .
${release_tag}-co .
${host}-dirs
79 rm -rf
${host_release}/src
80 (tar cf
- ${release_tag} |
(cd
${host_release} ; tar xvf
-) ; true
)
81 (cd
${host_release}/${release_tag} ; find . \
( -name CVS
-o
-name CVS.adm \
) -depth
-exec
rm -rf
{} \
; )
82 mv
${host_release}/${release_tag} ${host_release}/src
86 [ -d
${host} ] || mkdir
${host}
87 [ -d
${host_release} ] || mkdir
${host_release}
88 [ -d
${objdir} ] || mkdir
${objdir}
91 .
${release_tag}-co: .
${release_tag}-tagged
92 ${CVS} co -r
${release_tag} ${cvs_module}
93 mv
${tree} ${release_tag}
96 .
${release_tag}-tagged
:
97 ${CVS} rtag
${release_tag} ${cvs_module}
100 fluff
: ${host_release}/src
/Build-A-Release.mk \
101 ${host_release}/src
/Pack-A-Progressive \
103 ${host_release}/src
/README \
106 ${host}/install.
dvi \
107 ${host}/tape-labels.
dvi \
108 ${host_release}/CYGNUS
110 ${host}/tape-labels.
dvi: ${host_release}/src
/tape-labels.
tex
111 cp
$< ${host}/`basename $<`
112 (cd
${host} ; tex `basename $<`)
113 rm ${host}/`basename $<`
115 ${host}/install.
dvi: ${host_release}/src
/install.texinfo
116 cp
$< ${host}/`basename $<`
117 (cd
${host} ; tex `basename $<`)
118 (cd
${host} ; tex `basename $<`)
119 (cd
${host} ; tex `basename $<`)
120 rm ${host}/`basename $<`
122 print-notes
: ${host}/install.
dvi
125 print-labels
: ${host}/tape-labels.
dvi
129 rm -f
${host_release}/src
/Build-A-Release.mk \
130 ${host_release}/src
/Pack-A-Progressive \
131 ${host_release}/lib
/fixincludes \
132 ${host_release}/Install \
133 ${host_release}/src
/${doc}-texi.in \
134 ${host_release}/src
/tape-labels-tex.in \
135 ${host_release}/src
/tape-labels.
tex \
136 ${host_release}/src
/install.texinfo \
137 ${host_release}/src
/Install.in \
139 ${host_release}/src
/Build-A-Release.mk
: ${release_tag}/Build-A-Release.mk
142 ${host_release}/src
/Pack-A-Progressive
: ${release_tag}/Pack-A-Progressive
145 ${host_release}/src
/Install.in
: ${release_tag}/Install.in
148 ${host_release}/src
/CYGNUS
: ${release_tag}/CYGNUS
151 ${host_release}/CYGNUS
: ${host_release}/src
/CYGNUS
154 ${host_release}/src
/${doc}-texi.in
: ${release_tag}/${doc}-texi.in
157 ${host_release}/src
/tape-labels-tex.in
: ${release_tag}/tape-labels-tex.in
160 ${host_release}/lib
/fixincludes
: ${host_release}/src
/gcc
/fixincludes
164 ${host}/Install
: ${host_release}/Install
168 ${host_release}/Install
: ${host_release}/src
/Install
172 ${host_release}/src
/install.texinfo
: ${host_release}/src
/${doc}-texi.in
173 $(MAKE
) process
-f Build-A-Release.mk IN
=$< OUT
=$@ relno
=`echo ${release_tag} | sed "/${tree}-/s///"`
175 ${host_release}/src
/tape-labels.
tex: ${host_release}/src
/tape-labels-tex.in
176 $(MAKE
) process
-f Build-A-Release.mk IN
=$< OUT
=$@ relno
=`echo ${release_tag} | sed "/${tree}-/s///"`
178 ${host_release}/src
/README
: ${host_release}/src
/install.texinfo
179 -makeinfo +no-headers
+no-split
$< -o
$@
180 ### remove tags table
181 sed
-e
'/^Tag Table/,$$d' $@ | sed
-e
'$$d' > $@.new
184 ${host_release}/src
/Install
: ${host_release}/src
/Install.in
185 $(MAKE
) process
-f Build-A-Release.mk IN
=$< OUT
=$@ relno
=`echo ${release_tag} | sed "/${tree}-/s///"`
188 process
: process-
${host}
189 @if grep
'||' ${OUT}.new
; then \
190 echo
$0 missed at least one of the triggers.
1>&2 ; \
198 sed
-e
"/^@clear HOSTsun4/s::@set HOSTsun4:" \
199 -e
"/^@set HOSTsun3/s::@clear HOSTsun3:" \
200 -e
"/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
201 -e
"/^@set HOSTiris/s::@clear HOSTiris:" \
202 -e
"/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
203 -e
"/^@set FIXMES/s::@clear FIXMES:" \
204 -e
"/\|\|RELNO\|\|/s::${relno}:g" \
205 -e
"/\|\|TAPdflt\|\|/s::QIC-24:g" \
206 -e
"/\|\|DEVdflt\|\|/s::/dev/nrst8:g" \
207 -e
"/\|\|BD\|\|/s::35:g" \
208 -e
"/\|\|SD\|\|/s::34:g" \
209 -e
"/\|\|DF\|\|/s::69:g" \
210 -e
"/\|\|HOST\|\|/s::Sun-4:g" \
211 -e
"/\|\|HOSTstr\|\|/s::sun4:g" \
212 -e
"/\|\|TARGET\|\|/s::sun4:g" \
213 -e
"/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
214 -e
"/\|\|BUNDLE\|\|/s::${bundle}:g" \
218 sed
-e
"/^@set HOSTsun4/s::@clear HOSTsun4:" \
219 -e
"/^@clear HOSTsun3/s::@set HOSTsun3:" \
220 -e
"/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
221 -e
"/^@set HOSTiris/s::@clear HOSTiris:" \
222 -e
"/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
223 -e
"/^@set FIXMES/s::@clear FIXMES:" \
224 -e
"/\|\|RELNO\|\|/s::${relno}:g" \
225 -e
"/\|\|TAPdflt\|\|/s::QIC-24:g" \
226 -e
"/\|\|DEVdflt\|\|/s::/dev/nrst8:g" \
227 -e
"/\|\|BD\|\|/s::32:g" \
228 -e
"/\|\|SD\|\|/s::34:g" \
229 -e
"/\|\|DF\|\|/s::65:g" \
230 -e
"/\|\|HOST\|\|/s::Sun-3:g" \
231 -e
"/\|\|HOSTstr\|\|/s::sun3:g" \
232 -e
"/\|\|TARGET\|\|/s::sun3:g" \
233 -e
"/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
234 -e
"/\|\|BUNDLE\|\|/s::${bundle}:g" \
238 sed
-e
"/^@set HOSTsun4/s::@clear HOSTsun4:" \
239 -e
"/^@set HOSTsun3/s::@clear HOSTsun3:" \
240 -e
"/^@clear HOSTdecstation/s::@set HOSTdecstation:" \
241 -e
"/^@set HOSTiris/s::@clear HOSTiris:" \
242 -e
"/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
243 -e
"/^@set FIXMES/s::@clear FIXMES:" \
244 -e
"/\|\|RELNO\|\|/s::${relno}:g" \
245 -e
"/\|\|TAPdflt\|\|/s::QIC-24:g" \
246 -e
"/\|\|DEVdflt\|\|/s::/dev/nrmt0:g" \
247 -e
"/\|\|BD\|\|/s::27:g" \
248 -e
"/\|\|SD\|\|/s::34:g" \
249 -e
"/\|\|DF\|\|/s::61:g" \
250 -e
"/\|\|HOST\|\|/s::Decstation:g" \
251 -e
"/\|\|HOSTstr\|\|/s::decstation:g" \
252 -e
"/\|\|TARGET\|\|/s::decstation:g" \
253 -e
"/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
254 -e
"/\|\|BUNDLE\|\|/s::${bundle}:g" \
259 sed
-e
"/^@set HOSTsun4/s::@clear HOSTsun4:" \
260 -e
"/^@set HOSTsun3/s::@clear HOSTsun3:" \
261 -e
"/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
262 -e
"/^@clear HOSTiris/s::@set HOSTiris:" \
263 -e
"/^@set HOSTrs6000/s::@clear HOSTrs6000:" \
264 -e
"/^@set FIXMES/s::@clear FIXMES:" \
265 -e
"/\|\|RELNO\|\|/s::${relno}:g" \
266 -e
"/\|\|TAPdflt\|\|/s::QIC-24:g" \
267 -e
"/\|\|DEVdflt\|\|/s::/dev/mt/tps0d0nrns:g" \
268 -e
"/\|\|BD\|\|/s::25:g" \
269 -e
"/\|\|SD\|\|/s::34:g" \
270 -e
"/\|\|DF\|\|/s::59:g" \
271 -e
"/\|\|HOST\|\|/s::Iris:g" \
272 -e
"/\|\|HOSTstr\|\|/s::iris4:g" \
273 -e
"/\|\|TARGET\|\|/s::iris4:g" \
274 -e
"/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
275 -e
"/\|\|BUNDLE\|\|/s::${bundle}:g" \
279 sed
-e
"/^@set HOSTsun4/s::@clear HOSTsun4:" \
280 -e
"/^@set HOSTsun3/s::@clear HOSTsun3:" \
281 -e
"/^@set HOSTdecstation/s::@clear HOSTdecstation:" \
282 -e
"/^@set HOSTiris/s::@clear HOSTiris:" \
283 -e
"/^@clear HOSTrs6000/s::@set HOSTrs6000:" \
284 -e
"/^@set FIXMES/s::@clear FIXMES:" \
285 -e
"/\|\|RELNO\|\|/s::${relno}:g" \
286 -e
"/\|\|TAPdflt\|\|/s::QIC-24:g" \
287 -e
"/\|\|DEVdflt\|\|/s::/dev/rmt0.1:g" \
288 -e
"/\|\|BD\|\|/s::36:g" \
289 -e
"/\|\|SD\|\|/s::34:g" \
290 -e
"/\|\|DF\|\|/s::70:g" \
291 -e
"/\|\|HOST\|\|/s::RS/6000:g" \
292 -e
"/\|\|HOSTstr\|\|/s::rs6000:g" \
293 -e
"/\|\|TARGET\|\|/s::rs6000:g" \
294 -e
"/\|\|GCCvn\|\|/s::cygnus-2.0.2:g" \
295 -e
"/\|\|BUNDLE\|\|/s::${bundle}:g" \