Makefile revision 3992
1116743Ssam#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
2139530Ssam#	$Id: Makefile,v 1.90 1994/10/22 02:11:08 phk Exp $
3116743Ssam
4116743Ssam# disktab may be wrong -- hcx9 is a tahoe, but gets its own.
5116743Ssam# -rw-r--r--
6116743SsamBINOWN= root
7116743SsamBINGRP= wheel
8116743SsamBIN1=	aliases csh.cshrc csh.login csh.logout dm.conf \
9116743Ssam	ftpusers gettytab group hosts host.conf hosts.equiv hosts.lpd \
10116743Ssam	inetd.conf login.access motd myname netstart \
11116743Ssam	networks phones printcap profile protocols rc rc.local remote \
12116743Ssam	security services shells \
13116743Ssam	syslog.conf ttys etc.${MACHINE}/disktab rpc make.conf \
14116743Ssam	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
15116743Ssam	${.CURDIR}/../usr.bin/mail/misc/mail.rc
16116743Ssam
17116743Ssam# -rw-rw-rw-
18116743SsamBIN2=	motd
19116743Ssam
20116743Ssam# -rwxr-xr-x root.wheel, for the new cron root.wheel
21116743SsamBIN3=	daily weekly monthly
22116743Ssam
23116743SsamCLEANFILES+=	*.c *.o *.lo
24116743SsamCLEANFILES+=	filesystem filesystem.cache filesystem.mk
25116743SsamCLEANFILES+=	kcopy kcopy.cache kcopy.mk
26116743Ssam
27116743SsamMAKEDEVS=	(cd ${MOUNT}/dev; \
28116743Ssam		    sh ${DESTDIR}/dev/MAKEDEV std; \
29116743Ssam		    rm -rf fd; \
30116743Ssam		    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1; \
31116743Ssam		    rm -rf fd0?* rfd0?* fd1?* rfd1?*; \
32116743Ssam		    sh ${DESTDIR}/dev/MAKEDEV wd0 wd1 sd0 sd1 cd0 mcd0 mcd1; \
33116743Ssam		    rm -rf *wd[01][ijklm] rmcd*)
34116743Ssam
35116743SsamZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
36116743Ssam
37116743SsamMTREE=	BSD.local.dist BSD.root.dist BSD.usr.dist BSD.var.dist
38116743SsamNAMEDB=	localhost.rev named.boot root.cache
39116743SsamPCS=	pcs750.bin
40116743SsamWCS1=	wcs fppwcs poc poc1 poc2 fppoc
41116743SsamWCS2=	fpevent fppwcs fppwcs_dual hdcwcs load_diags start_fpp wcs wcs_dual
42116743Ssam
43116743Ssam# Special top level files for FreeBSD
44116743SsamCOPYRIGHT=	COPYRIGHT
45116743SsamFREEBSD=	
46116743SsamFREEBSD+=	${COPYRIGHT}
47116743Ssam#
48119783Ssam# Floppy drive name, mount point, type and parameters for building Floppies
49116743SsamFLOPPY?=	fd0
50138570SsamMOUNT?=		/mnt
51116743SsamFLOPPY_TYPE?=	fd1440
52116743SsamFLOPPY_BS?=	18b
53116743SsamFLOPPY_TRACKS?=	160
54116743Ssam#
55140438SsamMDEC=		usr/mdec/bootfd usr/mdec/fdboot
56140438SsamMDEC+=		usr/mdec/bootsd usr/mdec/sdboot
57138570SsamMDEC+=		usr/mdec/bootwd usr/mdec/wdboot
58138570Ssam#
59116743SsamKC_DIRS=	bin dev mnt sbin etc
60138570SsamKC_FILES=	${COPYRIGHT}
61116743SsamKC_LINKS=	bin/[ bin/cp bin/echo bin/sh bin/test
62119150SsamKC_LINKS+=	sbin/fsck sbin/halt sbin/init
63138570SsamKC_LINKS+=	sbin/mount sbin/mount_cd9660
64138570SsamKC_LINKS+=	sbin/umount
65138570Ssam#
66138570SsamCD_DIRS=	etc usr
67138570Ssam#
68116743SsamFILESYSTEM_DIRS=	bin dev etc mnt proc sbin usr usr/bin usr/mdec usr/sbin
69138570SsamFILESYSTEM_TREES=	dev
70138570SsamFILESYSTEM_FILES=	${COPYRIGHT}
71116743SsamFILESYSTEM_FILES+=	dev/MAKEDEV
72138570SsamFILESYSTEM_FILES+=	etc/group
73138570SsamFILESYSTEM_FILES+=	etc/master.passwd etc/passwd etc/pwd.db
74138570SsamFILESYSTEM_FILES+=	${MDEC}
75138570SsamFILESYSTEM_LINKS=	bin/[ bin/expr bin/ls bin/mkdir bin/rm
76138570SsamFILESYSTEM_LINKS+=	bin/sh bin/sync bin/test
77138570SsamFILESYSTEM_LINKS+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
78138570SsamFILESYSTEM_LINKS+=	sbin/mount
79138570SsamFILESYSTEM_LINKS+=	sbin/newfs
80138570SsamFILESYSTEM_LINKS+=	sbin/umount
81138570SsamFILESYSTEM_LINKS+=	usr/bin/cpio
82138570SsamFILESYSTEM_LINKS+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip usr/bin/zcat
83116743SsamFILESYSTEM_LINKS+=	usr/sbin/bad144
84138570SsamFILESYSTEM_CPIO=	.profile
85116743SsamFILESYSTEM_CPIO+=	root/.profile
86116743SsamFILESYSTEM_CPIO+=	bin/[
87116743SsamFILESYSTEM_CPIO+=	bin/chmod bin/cat bin/cp bin/df bin/expr bin/ls
88138570SsamFILESYSTEM_CPIO+=	bin/ln bin/mkdir bin/mv bin/rm bin/sync
89116743SsamFILESYSTEM_CPIO+=	bin/test
90116743SsamFILESYSTEM_CPIO+=	etc/spwd.db
91116743SsamFILESYSTEM_CPIO+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
92140438SsamFILESYSTEM_CPIO+=	sbin/mount
93116743SsamFILESYSTEM_CPIO+=	sbin/newfs
94116743SsamFILESYSTEM_CPIO+=	sbin/umount
95138570SsamFILESYSTEM_CPIO_DIRS=	root
96116743Ssam
97138570SsamCPIO_FILES=	${COPYRIGHT}
98138570SsamCPIO_CPIO=	bin/dd bin/ps bin/pwd bin/stty
99138570SsamCPIO_CPIO+=	etc/protocols etc/remote etc/services
100138570SsamCPIO_CPIO+=	etc/termcap
101138570SsamCPIO_CPIO+=	sbin/dmesg
102138570SsamCPIO_CPIO+=	sbin/ifconfig sbin/fsck sbin/mknod sbin/mount_cd9660
103138570SsamCPIO_CPIO+=	sbin/mount_procfs
104138570SsamCPIO_CPIO+=	sbin/reboot sbin/route sbin/slattach
105138570SsamCPIO_CPIO+=	usr/bin/awk usr/bin/chgrp usr/bin/cpio usr/bin/ex usr/bin/ftp
106138570SsamCPIO_CPIO+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip
107138570SsamCPIO_CPIO+=	usr/bin/more usr/bin/tar usr/bin/tip
108138570SsamCPIO_CPIO+=	usr/bin/vi usr/bin/view usr/bin/zcat
109138570SsamCPIO_CPIO+=	usr/lib/libc.so.*
110138570SsamCPIO_CPIO+=	usr/lib/libcurses.so.*
111138570SsamCPIO_CPIO+=	usr/lib/libgcc.so.*
112138570SsamCPIO_CPIO+=	usr/lib/libm.so.*
113138570SsamCPIO_CPIO+=	usr/lib/libtermcap.so.*
114138570SsamCPIO_CPIO+=	usr/lib/libutil.so.*
115138570SsamCPIO_CPIO+=	usr/libexec/ld.so
116138570SsamCPIO_CPIO+=	usr/sbin/bad144 usr/sbin/chown
117138570SsamCPIO_CPIO+=	usr/share/misc/termcap
118138570SsamCPIO_CPIO_DIRS=		tmp usr/lib usr/libexec usr/share usr/share/misc
119138570SsamCPIO_CPIO_DIRS+=	var var/tmp var/run var/spool var/spool/lock
120138570Ssam
121138570SsamSCRYPT_LIB=	lib/libcrypt
122138570SsamDESCRYPT_LIB=	secure/lib/libcrypt
123138570SsamCRYPT_SRCS=	bin/ed bin/rcp
124138570SsamCRYPT_SRCS+=	sbin/init
125138570Ssam.if !defined(NOCRYPT)
126138570SsamCRYPT_SRCS+=	secure/usr.bin/bdes
127138570Ssam.endif
128138570SsamCRYPT_DIRS=	bin sbin usr usr/bin usr/lib
129138570Ssam
130138570Ssamall depend etc install lint:
131138570Ssam
132138570Ssamscrypt:
133138570Ssam	rm -f ${LIBCRYPT};
134138570Ssam	(cd ${.CURDIR}/../${SCRYPT_LIB}; \
135138570Ssam		${MAKE} cleandir obj depend all install)
136138570Ssam	for i in ${CRYPT_SRCS}; do \
137138570Ssam		cd ${.CURDIR}/../$$i; \
138138570Ssam		${MAKE} cleandir obj depend all; \
139138570Ssam	done
140138570Ssam
141138570Ssamdescrypt:
142138570Ssam	rm -f ${LIBCRYPT};
143138570Ssam	(cd ${.CURDIR}/../${DESCRYPT_LIB}; \
144138570Ssam		${MAKE} cleandir obj depend all install)
145138570Ssam	for i in ${CRYPT_SRCS}; do \
146116743Ssam		cd ${.CURDIR}/../$$i; \
147138570Ssam		${MAKE} cleandir obj depend all; \
148138570Ssam	done
149116743Ssam	
150138570Ssam	
151138570Ssamdistribution: distrib-dirs
152138570Ssam	(cd ${.CURDIR}; \
153138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc; \
154138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 666 ${BIN2} ${DESTDIR}/etc; \
155138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN3} ${DESTDIR}/etc; \
156138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 644 crontab ${DESTDIR}/etc; \
157117812Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
158117812Ssam	    ${DESTDIR}/var/cron/log; \
159138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 600 \
160116743Ssam	    master.passwd ${DESTDIR}/etc; \
161116743Ssam	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
162116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
163116743Ssam	     MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev )
164116743Ssam	(cd ${DESTDIR}/dev; sh MAKEDEV all) ;
165116743Ssam	(cd ${.CURDIR}/root; \
166138570Ssam		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.cshrc \
167138570Ssam		    ${DESTDIR}/root/.cshrc; \
168116743Ssam		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.klogin \
169138570Ssam		    ${DESTDIR}/root/.klogin; \
170138570Ssam		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.login \
171138570Ssam		    ${DESTDIR}/root/.login; \
172138570Ssam		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.profile \
173138570Ssam		    ${DESTDIR}/root/.profile; \
174138570Ssam		rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
175138570Ssam		ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
176140432Ssam		ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
177140432Ssam	cd ${.CURDIR}/mtree; install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
178140432Ssam	    ${MTREE} ${DESTDIR}/etc/mtree
179116743Ssam	cd ${.CURDIR}/namedb; install -c -o ${BINOWN} -g ${BINGRP} -m 644 \
180116743Ssam	    ${NAMEDB} ${DESTDIR}/etc/namedb
181116743Ssam	install -c -o ${BINOWN} -g operator -m 664 /dev/null \
182116743Ssam	    ${DESTDIR}/etc/dumpdates
183138570Ssam	install -c -o nobody -g ${BINGRP} -m 664 /dev/null \
184138570Ssam	    ${DESTDIR}/var/db/locate.database
185116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
186140432Ssam	    ${DESTDIR}/var/log/lpd-errs
187140432Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
188140761Ssam	    ${DESTDIR}/var/log/maillog
189140761Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
190140432Ssam	    ${DESTDIR}/var/log/lastlog
191140432Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
192140432Ssam	    ${DESTDIR}/var/log/messages
193138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
194138570Ssam	    ${DESTDIR}/var/log/wtmp
195116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
196138570Ssam	    ${DESTDIR}/var/run/utmp
197138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 664 ${.CURDIR}/minfree \
198116743Ssam	    ${DESTDIR}/var/crash
199140432Ssam	(cd ${.CURDIR}/etc.${MACHINE}; install -c -o ${BINOWN} -g ${BINGRP} \
200140432Ssam	    -m 444 fstab.* ${DESTDIR}/etc)
201140432Ssam.if defined(NOCRYPT)
202140432Ssam	(cd ${.CURDIR}; ${MAKE} scrypt)
203140432Ssam	(cd ${.CURDIR}/..; ${MAKE} install)
204140432Ssam.else
205140432Ssam	(cd ${.CURDIR}; ${MAKE} descrypt)
206140432Ssam	(cd ${.CURDIR}/..; ${MAKE} install)
207140432Ssam.endif
208138570Ssam	(cd ${.CURDIR}/../usr.sbin/sendmail/src; \
209119783Ssam	    ${MAKE} install; \
210119783Ssam	 cd ../cf/cf; \
211119783Ssam	    ${MAKE} obj; \
212119783Ssam	    ${MAKE} freefall.cf; \
213119783Ssam	    install -o ${BINOWN} -g ${BINGRP} -m 644 obj/freefall.cf \
214127698Ssam	        ${DESTDIR}/etc/sendmail.cf)
215119783Ssam	(cd ${.CURDIR}/..; \
216140761Ssam	    install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FREEBSD} ${DESTDIR}/)
217119783Ssam	(cd ${.CURDIR}/../share/man; ${MAKE} makedb; )
218119783Ssam.if ${MACHINE} == "tahoe"
219140761Ssam	(cd ${.CURDIR}/etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} \
220119783Ssam	    -m 444 ${WCS1} ${DESTDIR}/)
221116743Ssam.endif
222116743Ssam.if ${MACHINE} == "vax"
223138570Ssam	(cd ${.CURDIR}/etc.vax; install -c -o ${BINOWN} -g ${BINGRP} \
224138570Ssam	    -m 444 ${PCS} ${DESTDIR}/)
225116743Ssam.endif
226116743Ssam
227138570Ssamcrunch:
228138570Ssam	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/kcopy.conf
229138570Ssam	${MAKE} -f kcopy.mk objs exe
230116743Ssam	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/filesystem.conf
231138570Ssam	${MAKE} -f filesystem.mk objs exe
232138570Ssam
233138570Ssamextract:
234116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
235138570Ssam	    ${.CURDIR}/etc.i386/EXTRACT_bin.sh \
236138570Ssam	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
237138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
238138570Ssam	    ${.CURDIR}/etc.i386/EXTRACT_src.sh \
239116743Ssam	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
240116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
241138570Ssam	    ${.CURDIR}/etc.i386/EXTRACT_secr.sh \
242138570Ssam	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
243116743Ssam
244138570Ssamhcx9-distribution:
245138570Ssam	(cd ${.CURDIR}/etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} \
246138570Ssam	    -m 444 ${WCS2} ${DESTDIR}/)
247138570Ssam
248116743Ssamkcopy-kernels: ${.CURDIR}/../sys/i386/conf/GENERIC
249138570Ssam	(cd ${.CURDIR}/../sys/compile; rm -rf GENERIC)
250138570Ssam	(cd ${.CURDIR}/../sys/i386/conf; config GENERIC)
251138570Ssam	(cd ${.CURDIR}/../sys/compile/GENERIC; ${MAKE} depend; ${MAKE} all; \
252138570Ssam	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel \
253138570Ssam	        ${DESTDIR}/kernel.GENERIC)
254138570Ssam
255116743Ssamkcopy-floppy:
256116743Ssam	echo y | fdformat ${FLOPPY}
257116743Ssam	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
258116743Ssam		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
259138570Ssam	newfs -b 4096 -c 80 -f 512 -i 8192 -m 0 -o space \
260119783Ssam		r${FLOPPY} ${FLOPPY_TYPE}
261140761Ssam	mount /dev/${FLOPPY} ${MOUNT}
262116743Ssam	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
263121100Ssam	chmod 755 ${MOUNT}/.
264121100Ssam	(cd ${DESTDIR}/; \
265121100Ssam	    ls -d ${KC_DIRS} | cpio -pdamuv ${MOUNT})
266121100Ssam	${MAKEDEVS}
267121100Ssam	(cd ${DESTDIR}/; \
268121100Ssam	    ls ${KC_FILES} | cpio -pdamuv ${MOUNT})
269121100Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
270121100Ssam	    ${.CURDIR}/etc.i386/kc.profile ${MOUNT}/etc/rc
271138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
272138570Ssam	    kcopy ${MOUNT}/bin/kcopy
273121100Ssam	(cd ${MOUNT}/; \
274121100Ssam	    for i in ${KC_LINKS}; do \
275121100Ssam		ln bin/kcopy $$i; \
276121100Ssam	    done)
277121100Ssam
278121100Ssamkcopy.flp:
279121100Ssam	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
280121100Ssam	(cd ${.CURDIR}/../sys/compile/GENERIC; \
281121100Ssam	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
282116743Ssam	df -ik ${MOUNT}
283116743Ssam	# XXX umount is returning 1 for some reason :-(
284116743Ssam	-umount /dev/${FLOPPY}
285116743Ssam	fsck /dev/r${FLOPPY}
286116743Ssam	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy.flp \
287116743Ssam		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
288116743Ssam	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy.flp \
289116743Ssam		>${RELEASEDIR}/floppies/kcopy.flp.gz &
290116743Ssam
291116743Ssamcdins-floppy:
292138570Ssam	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
293138570Ssam	(cd ${DESTDIR}/; \
294116743Ssam	    ls -d ${CD_DIRS} | cpio -pdamuv ${MOUNT})
295116743Ssam	(cd ${MOUNT}/usr; \
296116743Ssam	    ln -s /cdrom/filesys/usr/libexec libexec; \
297116743Ssam	    ln -s /cdrom/filesys/usr/lib lib)
298116743Ssam	mkdir ${MOUNT}/cdrom
299116743Ssam	chown ${BINOWN}.${BINGRP} ${MOUNT}/cdrom
300138570Ssam	chmod 755 ${MOUNT}/cdrom
301138570Ssam	#install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
302116743Ssam	#    ${.CURDIR}/etc.i386/cdinst1.profile ${MOUNT}/.profile
303116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
304116743Ssam	    ${.CURDIR}/etc.i386/cdinst1.install ${MOUNT}/install
305116743Ssam	ln ${MOUNT}/install ${MOUNT}/etc/rc
306116743Ssam	
307116743Ssamcdins.flp:
308116743Ssam	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
309116743Ssam	(cd ${.CURDIR}/../sys/compile/GENERIC; \
310116743Ssam	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
311116743Ssam	df -ik ${MOUNT}
312116743Ssam	# XXX umount is returning 1 for some reason :-(
313116743Ssam	-umount /dev/${FLOPPY}
314138570Ssam	fsck /dev/r${FLOPPY}
315138570Ssam	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins.flp \
316116743Ssam		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
317116743Ssam	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins.flp \
318138570Ssam		>${RELEASEDIR}/floppies/cdins.flp.gz &
319138570Ssam
320116743Ssamfilesyst.flp:
321116743Ssam	echo y | fdformat ${FLOPPY}
322116743Ssam	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
323116743Ssam		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
324116743Ssam	newfs -b 4096 -c 80 -f 512 -i 10240 -m 0 -o space \
325116743Ssam		r${FLOPPY}  ${FLOPPY_TYPE}
326116743Ssam	mount /dev/${FLOPPY}  ${MOUNT}
327116743Ssam	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
328116743Ssam	chmod 755 ${MOUNT}/.
329116743Ssam	(cd ${DESTDIR}/; \
330116743Ssam	    ls -d ${FILESYSTEM_DIRS} | cpio -pdamuv ${MOUNT})
331116743Ssam	${MAKEDEVS}
332116743Ssam	(cd ${DESTDIR}/; \
333116743Ssam	    ls ${FILESYSTEM_FILES} | cpio -pdamuv ${MOUNT}; \
334116743Ssam	    (find ${FILESYSTEM_CPIO}; ls -d ${FILESYSTEM_CPIO_DIRS}) | \
335116743Ssam		cpio -H newc --block-size=16 -oav | \
336116743Ssam		gzip -9 >${MOUNT}/inst1.cpio.gz)
337116743Ssam	#install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
338116743Ssam	#    ${.CURDIR}/etc.i386/inst1.profile ${MOUNT}/.profile
339116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
340116743Ssam	    ${.CURDIR}/etc.i386/inst1.install ${MOUNT}/install
341116743Ssam	ln ${MOUNT}/install ${MOUNT}/etc/rc
342116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
343116743Ssam	    filesystem ${MOUNT}/bin/filesystem
344116743Ssam	(cd ${MOUNT}/; \
345116743Ssam	    for i in ${FILESYSTEM_LINKS}; do \
346138570Ssam		ln bin/filesystem $$i; \
347138570Ssam	    done)
348116743Ssam	(cd ${MOUNT}/; \
349116743Ssam	    ls ${FILESYSTEM_FILES} >/tmp/filelist; \
350116743Ssam	    ls ${FILESYSTEM_LINKS} >>/tmp/filelist; \
351116743Ssam	    ls -d ${FILESYSTEM_DIRS} >>/tmp/filelist; \
352116743Ssam	    find ${FILESYSTEM_TREES} >>/tmp/filelist; \
353116743Ssam	    sort -u -r /tmp/filelist >filelist; \
354116743Ssam	    rm /tmp/filelist)
355116743Ssam	df -ik ${MOUNT}
356116743Ssam	# XXX umount is returning 1 for some reason :-(
357116743Ssam	-umount /dev/${FLOPPY}
358138570Ssam	fsck /dev/r${FLOPPY}
359138570Ssam	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/filesyst.flp \
360116743Ssam		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
361116743Ssam	gzip --no-name -9 -c ${RELEASEDIR}/floppies/filesyst.flp \
362138570Ssam		>${RELEASEDIR}/floppies/filesyst.flp.gz &
363138570Ssam
364116743Ssamcpio.flp:
365138570Ssam	echo y | fdformat ${FLOPPY}
366138570Ssam	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
367138570Ssam		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
368138570Ssam	newfs -b 4096 -c 80 -f 512 -i 65536 -m 0 -o space \
369138570Ssam			r${FLOPPY}  ${FLOPPY_TYPE}
370116743Ssam	mount /dev/${FLOPPY} ${MOUNT}
371116743Ssam	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
372116743Ssam	chmod 755 ${MOUNT}/.
373116743Ssam	(cd ${DESTDIR}/; \
374116743Ssam		ls ${CPIO_FILES} | cpio -pdamuv ${MOUNT})
375116743Ssam	#
376116743Ssam	# XXX This ugliness is because the default termcap file is simply too
377116743Ssam	# big and we don't need such a hugh one for the initial installation,
378138570Ssam	# yet we want the symlink in /etc to point to the right place so we
379138570Ssam	# need to install the smaller one in the same location.
380138570Ssam	#
381116743Ssam	mv ${DESTDIR}/usr/share/misc/termcap ${DESTDIR}/usr/share/misc/otermcap
382116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
383116743Ssam	    ${.CURDIR}/termcap.small ${DESTDIR}/usr/share/misc/termcap
384116743Ssam	(cd ${DESTDIR}/; \
385116743Ssam	    (find ${CPIO_CPIO}; ls -d ${CPIO_CPIO_DIRS}) | \
386116743Ssam		cpio -H newc --block-size=16 -oav | \
387138570Ssam		gzip -9 >${MOUNT}/inst2.cpio.gz)
388138570Ssam	# XXX cpio is done, put everything back in shape for the bindist.
389138570Ssam	mv ${DESTDIR}/usr/share/misc/otermcap ${DESTDIR}/usr/share/misc/termcap
390138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
391116743Ssam	    ${.CURDIR}/etc.i386/cpio.rc ${MOUNT}/rc
392116743Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
393138570Ssam	    ${.CURDIR}/etc.i386/cpio.install ${MOUNT}/install
394138570Ssam	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
395138570Ssam	    ${.CURDIR}/etc.i386/cpio.magic ${MOUNT}/magic
396138570Ssam	df -ik ${MOUNT}
397138570Ssam	# XXX umount is returning 1 for some reason :-(
398138570Ssam	-umount /dev/${FLOPPY}
399138570Ssam	fsck /dev/r${FLOPPY}
400138570Ssam	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cpio.flp \
401138570Ssam		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
402138570Ssam	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cpio.flp \
403138570Ssam		>${RELEASEDIR}/floppies/cpio.flp.gz &
404138570Ssam
405138570Ssambin-tarball:
406138570Ssam	(cd ${DESTDIR}; \
407138570Ssam		tar cf - . | \
408138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
409138570Ssam
410138570Ssamsrc-clean:
411138570Ssam	find ${DESTDIR}/usr/src -name obj | xargs -n30 rm -rf
412138570Ssam	(cd ${DESTDIR}/usr/src; make cleandist)
413138570Ssam	rm -rf ${DESTDIR}/usr/src/sys/compile/*
414138570Ssam	chown -R bin:bin ${DESTDIR}/usr/src
415138570Ssam	chmod -R og-w ${DESTDIR}/usr/src
416138570Ssam
417138570Ssamsrcbase-tarball:
418138570Ssam	(cd ${DESTDIR}; \
419138570Ssam		tar --exclude CVS -cf - usr/src/[A-Z]* | \
420138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/base.)
421138570Ssam
422138570Ssamsrcbin-tarball:
423138570Ssam	(cd ${DESTDIR}; \
424138570Ssam		tar --exclude CVS -cf - usr/src/bin | \
425138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/srcbin.)
426138570Ssam
427138570Ssamsrcetc-tarball:
428138570Ssam	(cd ${DESTDIR}; \
429138570Ssam		tar --exclude CVS -cf - usr/src/etc | \
430138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/etc.)
431138570Ssam
432138570Ssamsrcgames-tarball:
433138570Ssam	(cd ${DESTDIR}; \
434138570Ssam		tar --exclude CVS -cf - usr/src/games | \
435138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/games.)
436138570Ssam
437138570Ssamsrcgnu-tarball:
438138570Ssam	(cd ${DESTDIR}; \
439138570Ssam		tar --exclude CVS -cf - usr/src/gnu | \
440138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/gnu.)
441138570Ssam
442138570Ssamsrcinclude-tarball:
443138570Ssam	(cd ${DESTDIR}; \
444138570Ssam		tar --exclude CVS -cf - usr/src/include | \
445138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/include.)
446138570Ssam
447138570Ssamsrclib-tarball:
448138570Ssam	(cd ${DESTDIR}; \
449138570Ssam		tar --exclude usr/src/${CRYPT_LIB} --exclude CVS -cf - \
450138570Ssam		usr/src/lib | \
451138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/lib.)
452138570Ssam
453138570Ssamsrclibcrypt-tarball:
454138570Ssam	(cd ${DESTDIR}; \
455138570Ssam		tar --exclude CVS -cf - usr/src/${CRYPT_LIB} | \
456138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/libcrypt.)
457138570Ssam
458138570Ssamsrclibexec-tarball:
459138570Ssam	(cd ${DESTDIR}; \
460138570Ssam		tar --exclude CVS -cf - usr/src/libexec | \
461116743Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/libexec.)
462116743Ssam
463116743Ssamsrcsbin-tarball:
464123044Ssam	(cd ${DESTDIR}; \
465123044Ssam		tar --exclude CVS -cf - usr/src/sbin | \
466116743Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/sbin.)
467116743Ssam
468116743Ssamsrcshare-tarball:
469116743Ssam	(cd ${DESTDIR}; \
470116743Ssam		tar --exclude CVS -cf - usr/src/share | \
471116743Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/share.)
472138570Ssam
473116743Ssamsrcsys-tarball:
474138570Ssam	(cd ${DESTDIR}; \
475116743Ssam		tar --exclude CVS -cf - usr/src/sys | \
476138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/sys.)
477138570Ssam
478116743Ssamsrcusrbin-tarball:
479116743Ssam	(cd ${DESTDIR}; \
480138570Ssam		tar --exclude CVS -cf - usr/src/usr.bin | \
481138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/usrbin.)
482138570Ssam
483138570Ssamsrcusrsbin-tarball:
484116743Ssam	(cd ${DESTDIR}; \
485138570Ssam		tar --exclude CVS -cf - usr/src/usr.sbin | \
486138570Ssam		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/usrsbin.)
487138570Ssam
488138570Ssamsrc-tarball: src-clean srcbase-tarball srcbin-tarball \
489138570Ssam	srcetc-tarball srcgames-tarball srcgnu-tarball srcinclude-tarball \
490116743Ssam	srclib-tarball srclibcrypt-tarball srclibexec-tarball srcsbin-tarball \
491	srcshare-tarball srcsys-tarball srcusrbin-tarball srcusrsbin-tarball
492
493des-tarball:
494	rm -rf ${RELEASEDIR}/tmpdes
495	mkdir ${RELEASEDIR}/tmpdes
496	for i in ${CRYPT_DIRS}; do \
497		cd ${RELEASEDIR}/tmpdes; \
498		mkdir $$i; \
499		chown ${BINOWN}.${GRPOWN} $$i; \
500		chmod 755 $$i; \
501	done
502	# This is ugly, it force installs a /usr/lib/libcrypt.a so
503	# that the other makes will be built with des.
504	#
505	(cd ${.CURDIR}/../${CRYPT_LIB}; \
506		unset NOCRYPT; \
507		DESTDIR=; export DESTDIR; \
508		${MAKE} cleandir obj depend all install; \
509		NOMAN=noman; export NOMAN; \
510		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
511		${MAKE} cleandir obj depend all install)
512	for i in ${CRYPT_SRCS}; do \
513		unset NOCRYPT; \
514		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
515		NOMAN=noman; export NOMAN; \
516		cd ${.CURDIR}/../$$i; \
517		${MAKE} cleandir obj depend all install; \
518	done
519	(cd ${RELEASEDIR}/tmpdes; \
520		tar cf - . | \
521			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/des_tgz.)
522	rm -rf ${RELEASEDIR}/tmpdes
523
524distrib-dirs:
525	#
526	# XXX The mtree commands need to be redone so that a status of 0 or
527	# 2 is okay, but a status of 1 causes the make to abort.
528	#
529	# XXX This will currently error out if you have a procfs mounted,
530	# unmount it to get past this problem until procfs is fixed.
531	#
532	mtree -deU -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
533	mtree -deU -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
534	mtree -deU -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
535.if defined(MAKE_LOCAL)
536	mtree -deU -f ${.CURDIR}/mtree/BSD.local.dist -p ${DESTDIR}/usr/local
537.endif
538	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
539
540floppies:	kcopy.flp filesyst.flp cpio.flp cdins.flp
541
542release:	release-dirs distribution crunch extract kcopy-kernels \
543		floppies bin-tarball des-tarball clean
544
545release-dirs:
546	chflags -R noschg ${RELEASEDIR}/
547	rm -rf ${RELEASEDIR}/*
548	mtree -d -U -f ${.CURDIR}/mtree/BSD.release.dist -p ${RELEASEDIR}
549
550.include <bsd.prog.mk>
551