Makefile revision 1739
1#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
2#	$Id: Makefile,v 1.65 1994/06/15 20:43:20 jkh Exp $
3
4# disktab may be wrong -- hcx9 is a tahoe, but gets its own.
5# -rw-r--r--
6BINOWN= root
7BINGRP= wheel
8BIN1=	aliases csh.cshrc csh.login csh.logout dm.conf \
9	ftpusers gettytab group hosts host.conf hosts.equiv hosts.lpd \
10	inetd.conf login.access motd myname netstart \
11	networks phones printcap protocols rc rc.local remote \
12	security services shells skey.access \
13	syslog.conf ttys etc.${MACHINE}/disktab rpc make.conf \
14	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
15	${.CURDIR}/../usr.bin/mail/misc/mail.rc
16
17# -rw-rw-rw-
18BIN2=	motd
19
20# -rwxr-xr-x root.wheel, for the new f***ing cron root.wheel
21BIN3=	daily weekly monthly
22
23MTREE=	BSD.local.dist BSD.root.dist BSD.usr.dist BSD.var.dist
24NAMEDB=	localhost.rev named.boot root.cache
25PCS=	pcs750.bin
26WCS1=	wcs fppwcs poc poc1 poc2 fppoc
27WCS2=	fpevent fppwcs fppwcs_dual hdcwcs load_diags start_fpp wcs wcs_dual
28
29# Special top level files for FreeBSD
30COPYRIGHT=	COPYRIGHT.386BSD COPYRIGHT.FreeBSD
31FREEBSD=	CONTRIB.386BSD CONTRIB.FreeBSD
32FREEBSD+=	MIRROR.SITES PERSONAL.ACKS RELNOTES.FreeBSD SUPPORT.TXT
33FREEBSD+=	${COPYRIGHT}
34#
35# Floppy drive name and files for building FreeBSD Floppies
36FLOPPY?=	fd0
37MOUNT?=		/mnt
38FLOPPY_TYPE?=	fd1200
39#
40MDEC=		usr/mdec/bootfd usr/mdec/fdboot
41MDEC+=		usr/mdec/bootsd usr/mdec/sdboot
42MDEC+=		usr/mdec/bootwd usr/mdec/wdboot
43#
44KC_DIRS=	bin dev mnt sbin
45KC_FILES=	${COPYRIGHT}
46KC_FILES+=	bin/sh					# XXX Crunch is broken!
47KC_FILES+=	sbin/mount sbin/mount_isofs		# XXX Crunch is broken!
48KC_LINKS=	bin/[ bin/cp bin/echo bin/test
49KC_LINKS+=	sbin/fsck sbin/halt sbin/init
50KC_LINKS+=	sbin/umount
51#
52CD_DIRS=	etc usr
53#
54FILESYSTEM_DIRS=	bin dev etc mnt proc sbin usr usr/bin usr/mdec usr/sbin
55FILESYSTEM_TREES=	dev
56FILESYSTEM_FILES=	${COPYRIGHT}
57FILESYSTEM_FILES+=	bin/sh				# XXX Crunch is broken!
58FILESYSTEM_FILES+=	dev/MAKEDEV
59FILESYSTEM_FILES+=	etc/group
60FILESYSTEM_FILES+=	etc/master.passwd etc/passwd etc/pwd.db
61FILESYSTEM_FILES+=	${MDEC}
62FILESYSTEM_LINKS=	bin/[ bin/expr bin/ls bin/mkdir bin/rm
63FILESYSTEM_LINKS+=	bin/sync bin/test
64FILESYSTEM_LINKS+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
65FILESYSTEM_LINKS+=	sbin/mount sbin/mount_pcfs
66FILESYSTEM_LINKS+=	sbin/newfs
67FILESYSTEM_LINKS+=	sbin/umount
68FILESYSTEM_LINKS+=	usr/bin/cpio
69FILESYSTEM_LINKS+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip usr/bin/zcat
70FILESYSTEM_LINKS+=	usr/sbin/bad144
71FILESYSTEM_CPIO=	.profile
72FILESYSTEM_CPIO+=	root/.profile
73FILESYSTEM_CPIO+=	bin/[
74FILESYSTEM_CPIO+=	bin/chmod bin/cat bin/cp bin/df bin/expr bin/ls
75FILESYSTEM_CPIO+=	bin/ln bin/mkdir bin/mv bin/rm bin/sync
76FILESYSTEM_CPIO+=	bin/test
77FILESYSTEM_CPIO+=	etc/spwd.db
78FILESYSTEM_CPIO+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
79FILESYSTEM_CPIO+=	sbin/mount sbin/mount_pcfs
80FILESYSTEM_CPIO+=	sbin/newfs
81FILESYSTEM_CPIO+=	sbin/umount
82FILESYSTEM_CPIO_DIRS=	root
83
84CPIO_FILES=	${COPYRIGHT}
85CPIO_CPIO=	bin/dd bin/ps bin/pwd bin/stty
86CPIO_CPIO+=	etc/protocols etc/remote etc/services
87CPIO_CPIO+=	etc/termcap
88CPIO_CPIO+=	sbin/dmesg
89CPIO_CPIO+=	sbin/ifconfig sbin/fsck sbin/mknod sbin/mount_isofs
90CPIO_CPIO+=	sbin/mount_procfs
91CPIO_CPIO+=	sbin/reboot sbin/route sbin/slattach
92CPIO_CPIO+=	usr/bin/awk usr/bin/chgrp usr/bin/cpio usr/bin/ex usr/bin/ftp
93CPIO_CPIO+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip
94CPIO_CPIO+=	usr/bin/more usr/bin/tar usr/bin/tip
95CPIO_CPIO+=	usr/bin/vi usr/bin/view usr/bin/zcat
96CPIO_CPIO+=	usr/lib/libc.so.1.1
97CPIO_CPIO+=	usr/lib/libcurses.so.1.1
98CPIO_CPIO+=	usr/lib/libgcc.so.1.1
99CPIO_CPIO+=	usr/lib/libm.so.1.1
100CPIO_CPIO+=	usr/lib/libtermlib.so.1.1
101CPIO_CPIO+=	usr/lib/libtermcap.so.1.1
102CPIO_CPIO+=	usr/lib/libutil.so.1.1
103CPIO_CPIO+=	usr/libexec/ld.so
104CPIO_CPIO+=	usr/sbin/bad144 usr/sbin/chown
105CPIO_CPIO+=	usr/share/misc/termcap
106CPIO_CPIO_DIRS=		tmp usr/lib usr/libexec usr/share usr/share/misc
107CPIO_CPIO_DIRS+=	var var/tmp var/run var/spool var/spool/lock
108
109CRYPT_LIB=	lib/libcrypt
110CRYPT_SRCS=	bin/ed bin/rcp
111CRYPT_SRCS+=	libexec/ftpd libexec/makekey libexec/rexecd libexec/rlogind
112CRYPT_SRCS+=	libexec/rshd libexec/telnetd libexec/uucpd
113CRYPT_SRCS+=	sbin/init.bsdi
114CRYPT_SRCS+=	usr.bin/bdes usr.bin/lock usr.bin/login usr.bin/passwd
115CRYPT_SRCS+=	usr.bin/rlogin usr.bin/rsh usr.bin/su usr.bin/telnet
116CRYPT_DIRS=	bin sbin usr usr/bin usr/lib usr/libexec 
117
118all clean cleandir depend etc install lint:
119
120crypt:
121	rm -f ${LIBCRYPT};
122	(cd ${.CURDIR}/../${CRYPT_LIB}; \
123		${MAKE} cleandir obj depend all install)
124	for i in ${CRYPT_SRCS}; do \
125		cd ${.CURDIR}/../$$i; \
126		${MAKE} cleandir obj depend all; \
127	done
128	
129non-crypt:
130	rm -f ${LIBCRYPT}
131	for i in ${CRYPT_SRCS}; do \
132		cd ${.CURDIR}/../$$i; \
133		${MAKE} cleandir obj depend all; \
134	done
135	
136distribution: distrib-dirs
137	install -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc
138	install -c -o ${BINOWN} -g ${BINGRP} -m 666 ${BIN2} ${DESTDIR}/etc
139	install -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN3} ${DESTDIR}/etc
140	install -c -o ${BINOWN} -g ${BINGRP} -m 644 crontab ${DESTDIR}/etc
141	install -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
142	    ${DESTDIR}/var/cron/log
143	install -c -o ${BINOWN} -g ${BINGRP} -m 600 \
144	    master.passwd ${DESTDIR}/etc
145	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd
146	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
147	     MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev
148.if defined(CDROMDIST)
149	(cd ${DESTDIR}/dev; sh MAKEDEV all)
150.endif
151	(cd ${.CURDIR}/root; \
152		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.cshrc \
153		    ${DESTDIR}/root/.cshrc; \
154		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.klogin \
155		    ${DESTDIR}/root/.klogin; \
156		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.login \
157		    ${DESTDIR}/root/.login; \
158		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.profile \
159		    ${DESTDIR}/root/.profile; \
160		rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
161		ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
162		ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
163	cd ${.CURDIR}/mtree; install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
164	    ${MTREE} ${DESTDIR}/etc/mtree
165	cd ${.CURDIR}/namedb; install -c -o ${BINOWN} -g ${BINGRP} -m 644 \
166	    ${NAMEDB} ${DESTDIR}/etc/namedb
167	install -c -o ${BINOWN} -g operator -m 664 /dev/null \
168	    ${DESTDIR}/etc/dumpdates
169	install -c -o nobody -g ${BINGRP} -m 664 /dev/null \
170	    ${DESTDIR}/var/db/locate.database
171	install -c -o ${BINOWN} -g ${BINGRP} -m 664 minfree \
172	    ${DESTDIR}/var/crash
173	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
174	    ${DESTDIR}/var/log/lpd-errs
175	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
176	    ${DESTDIR}/var/log/maillog
177	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
178	    ${DESTDIR}/var/log/lastlog
179	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
180	    ${DESTDIR}/var/log/messages
181	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
182	    ${DESTDIR}/var/log/wtmp
183	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
184	    ${DESTDIR}/var/run/utmp
185	(cd etc.${MACHINE}; install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
186	    fstab.* ${DESTDIR}/etc)
187.if defined(NOCRYPT)
188	${MAKE} non-crypt
189	(cd ..; NOCRYPT=nocrypt; export NOCRYPT; ${MAKE} install)
190.else
191	${MAKE} crypt
192	(cd ..; ${MAKE} install)
193.endif
194	(cd ../usr.sbin/sendmail/src; \
195	    ${MAKE} install; \
196	 cd ../cf/cf; \
197	    ${MAKE} obj; \
198	    ${MAKE} freefall.cf; \
199	    install -o ${BINOWN} -g ${BINGRP} -m 644 obj/freefall.cf \
200	        ${DESTDIR}/etc/sendmail.cf)
201	(cd ../; \
202	    install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FREEBSD} ${DESTDIR}/)
203	(cd ..; ${MAKE} mdec; )
204	(cd ../share/man; ${MAKE} makedb; )
205.if ${MACHINE} == "tahoe"
206	(cd etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${WCS1} \
207	    ${DESTDIR}/)
208.endif
209.if ${MACHINE} == "vax"
210	(cd etc.vax; install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${PCS} \
211	    ${DESTDIR}/)
212.endif
213
214crunch:
215	crunchgen ${.CURDIR}/../contrib/crunch/examples/kcopy.conf
216	make -f kcopy.mk objs exe
217	crunchgen ${.CURDIR}/../contrib/crunch/examples/filesystem.conf
218	make -f filesystem.mk objs exe
219
220extract:
221	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
222	    ${.CURDIR}/etc.i386/INSTALL_bin.sh ${RELEASEDIR}/tarballs/bindist
223	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
224	    ${.CURDIR}/etc.i386/INSTALL_src.sh ${RELEASEDIR}/tarballs/srcdist
225	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
226	    ${.CURDIR}/etc.i386/INSTALL_secr.sh ${RELEASEDIR}/tarballs/secrdist
227
228hcx9-distribution:
229	(cd etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${WCS2} \
230	    ${DESTDIR}/)
231
232kcopy-kernels: ../sys/i386/conf/GENERICAH ../sys/i386/conf/GENERICBT
233	(cd ../sys/compile; rm -rf GENERICAH GENERICBT)
234	(cd ../sys/i386/conf; config GENERICAH; config GENERICBT)
235	(cd ../sys/compile/GENERICAH; ${MAKE} depend; ${MAKE} all; \
236	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 386bsd \
237	        ${DESTDIR}/386bsd.GENERICAH)
238	(cd ../sys/compile/GENERICBT; ${MAKE} depend; ${MAKE} all; \
239	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 386bsd \
240	        ${DESTDIR}/386bsd.GENERICBT)
241
242kcopy-floppy:
243	disklabel -w -r ${FLOPPY} ${FLOPPY_TYPE} \
244		${DESTDIR}/usr/mdec/fdboot ${DESTDIR}/usr/mdec/bootfd
245	newfs -b 4096 -c 80 -f 512 -i 10240 -m 0 -o space \
246		r${FLOPPY} ${FLOPPY_TYPE}
247	mount /dev/${FLOPPY} ${MOUNT}
248	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
249	chmod 755 ${MOUNT}/.
250	(cd ${DESTDIR}/; \
251	    ls -d ${KC_DIRS} | cpio -pdamuv ${MOUNT})
252	(cd ${MOUNT}/dev; \
253	    sh ${DESTDIR}/dev/MAKEDEV std; \
254	    rm -rf fd; \
255	    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1 wd0 wd1 sd0 sd1; \
256	    rm -rf fd0?* rfd0?* fd1?* rfd1?*; \
257	    sh ${DESTDIR}/dev/MAKEDEV cd0 mcd0 mcd1; \
258	    rm -rf rmcd*)
259	(cd ${DESTDIR}/; \
260	    ls ${KC_FILES} | cpio -pdamuv ${MOUNT})
261	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
262	    ${.CURDIR}/etc.i386/kc.profile ${MOUNT}/.profile
263	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
264	    ${RELEASEDIR}/distbin/kcopy ${MOUNT}/bin/kcopy
265	(cd ${MOUNT}/; \
266	    for i in ${KC_LINKS}; do \
267		ln bin/kcopy $$i; \
268	    done)
269
270kcopy_ah.flp:
271	${MAKE} kcopy-floppy
272	(cd ../sys/compile/GENERICAH; \
273	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 386bsd ${MOUNT}/)
274	df -ik ${MOUNT}
275	umount /dev/${FLOPPY}
276	fsck /dev/r${FLOPPY}
277	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy_ah.flp \
278		bs=15b count=160
279	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy_ah.flp \
280		>${RELEASEDIR}/floppies/kcopy_ah.flp.gz
281
282kcopy_bt.flp:
283	${MAKE} kcopy-floppy
284	(cd ../sys/compile/GENERICBT; \
285	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 386bsd ${MOUNT}/)
286	df -ik ${MOUNT}
287	umount /dev/${FLOPPY}
288	fsck /dev/r${FLOPPY}
289	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy_bt.flp \
290		bs=15b count=160
291	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy_bt.flp \
292		>${RELEASEDIR}/floppies/kcopy_bt.flp.gz
293
294cdins-floppy:
295	${MAKE} kcopy-floppy
296	(cd ${DESTDIR}/; \
297	    ls -d ${CD_DIRS} | cpio -pdamuv ${MOUNT})
298	(cd ${MOUNT}/usr; \
299	    ln -s /cdrom/filesys/usr/libexec libexec; \
300	    ln -s /cdrom/filesys/usr/lib lib)
301	mkdir ${MOUNT}/cdrom
302	chown ${BINOWN}.${BINGRP} ${MOUNT}/cdrom
303	chmod 755 ${MOUNT}/cdrom
304	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
305	    ${.CURDIR}/etc.i386/cdinst1.profile ${MOUNT}/.profile
306	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
307	    ${.CURDIR}/etc.i386/cdinst1.install ${MOUNT}/install
308	
309cdins_ah.flp:
310	${MAKE} cdins-floppy
311	(cd ../sys/compile/GENERICAH; \
312	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 386bsd ${MOUNT}/)
313	df -ik ${MOUNT}
314	umount /dev/${FLOPPY}
315	fsck /dev/r${FLOPPY}
316	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins_ah.flp \
317		bs=15b count=160
318	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins_ah.flp \
319		>${RELEASEDIR}/floppies/cdins_ah.flp.gz
320
321cdins_bt.flp:
322	${MAKE} cdins-floppy
323	(cd ../sys/compile/GENERICBT; \
324	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 386bsd ${MOUNT}/)
325	df -ik ${MOUNT}
326	umount /dev/${FLOPPY}
327	fsck /dev/r${FLOPPY}
328	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins_bt.flp \
329		bs=15b count=160
330	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins_bt.flp \
331		>${RELEASEDIR}/floppies/cdins_bt.flp.gz
332
333filesyst.flp:
334	disklabel -w -r ${FLOPPY} ${FLOPPY_TYPE} \
335		${DESTDIR}/usr/mdec/fdboot ${DESTDIR}/usr/mdec/bootfd
336	newfs -b 4096 -c 80 -f 512 -i 10240 -m 0 -o space \
337		r${FLOPPY}  ${FLOPPY_TYPE}
338	mount /dev/${FLOPPY}  ${MOUNT}
339	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
340	chmod 755 ${MOUNT}/.
341	(cd ${DESTDIR}/; \
342	    ls -d ${FILESYSTEM_DIRS} | cpio -pdamuv ${MOUNT})
343	(cd ${MOUNT}/dev; \
344	    sh ${DESTDIR}/dev/MAKEDEV std; \
345	    rm -rf fd; \
346	    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1 wd0 sd0 sd1; \
347	    rm -f fd0?* fd1?* rfd0?* rfd1?*)
348	(cd ${DESTDIR}/; \
349	    ls ${FILESYSTEM_FILES} | cpio -pdamuv ${MOUNT}; \
350	    (find ${FILESYSTEM_CPIO}; ls -d ${FILESYSTEM_CPIO_DIRS}) | \
351		cpio -H newc --block-size=16 -oav | \
352		gzip -9 >${MOUNT}/inst1.cpio.gz)
353	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
354	    ${.CURDIR}/etc.i386/inst1.profile ${MOUNT}/.profile
355	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
356	    ${.CURDIR}/etc.i386/inst1.install ${MOUNT}/install
357	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
358	    ${RELEASEDIR}/distbin/filesystem ${MOUNT}/bin/filesystem
359	(cd ${MOUNT}/; \
360	    for i in ${FILESYSTEM_LINKS}; do \
361		ln bin/filesystem $$i; \
362	    done)
363	(cd ${MOUNT}/; \
364	    ls ${FILESYSTEM_FILES} >/tmp/filelist; \
365	    ls ${FILESYSTEM_LINKS} >>/tmp/filelist; \
366	    ls -d ${FILESYSTEM_DIRS} >>/tmp/filelist; \
367	    find ${FILESYSTEM_TREES} >>/tmp/filelist; \
368	    sort -u -r /tmp/filelist >filelist; \
369	    rm /tmp/filelist)
370	df -ik ${MOUNT}
371	umount /dev/${FLOPPY}
372	fsck /dev/r${FLOPPY}
373	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/filesyst.flp \
374		bs=15b count=160
375	gzip --no-name -9 -c ${RELEASEDIR}/floppies/filesyst.flp \
376		>${RELEASEDIR}/floppies/filesyst.flp.gz
377
378cpio.flp:
379	disklabel -w -r ${FLOPPY} ${FLOPPY_TYPE} \
380		${DESTDIR}/usr/mdec/fdboot ${DESTDIR}/usr/mdec/bootfd
381	newfs -b 4096 -c 80 -f 512 -i 65536 -m 0 -o space \
382			r${FLOPPY}  ${FLOPPY_TYPE}
383	mount /dev/${FLOPPY} ${MOUNT}
384	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
385	chmod 755 ${MOUNT}/.
386	(cd ${DESTDIR}/; \
387		ls ${CPIO_FILES} | cpio -pdamuv ${MOUNT})
388	(cd ${DESTDIR}/; \
389	    (find ${CPIO_CPIO}; ls -d ${CPIO_CPIO_DIRS}) | \
390		cpio -H newc --block-size=16 -oav | \
391		gzip -9 >${MOUNT}/inst2.cpio.gz)
392	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
393	    ${.CURDIR}/etc.i386/cpio.rc ${MOUNT}/rc
394	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
395	    ${.CURDIR}/etc.i386/cpio.install ${MOUNT}/install
396	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
397	    ${.CURDIR}/etc.i386/cpio.magic ${MOUNT}/magic
398	df -ik ${MOUNT}
399	umount /dev/${FLOPPY}
400	fsck /dev/r${FLOPPY}
401	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cpio.flp \
402		bs=15b count=160
403	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cpio.flp \
404		>${RELEASEDIR}/floppies/cpio.flp.gz
405
406bin-tarball:
407	(cd ${DESTDIR}; \
408		tar cf - . | \
409		gzip --no-name -9 -c | \
410		split -b 240640 - \
411		${RELEASEDIR}/tarballs/bindist/bin_tgz.)
412
413srcbase-tarball:
414	(cd ${DESTDIR}; \
415		tar -cf - usr/src/[A-Z]* | \
416		gzip --no-name -9 -c | \
417		split -b 240640 - \
418		${RELEASEDIR}/tarballs/srcdist/base.)
419
420srcbin-tarball:
421	(cd ${DESTDIR}; \
422		tar -cf - usr/src/bin | \
423		gzip --no-name -9 -c | \
424		split -b 240640 - \
425		${RELEASEDIR}/tarballs/srcdist/bin.)
426
427srccontrib-tarball:
428	(cd ${DESTDIR}; \
429		tar -cf - usr/src/contrib | \
430		gzip --no-name -9 -c | \
431		split -b 240640 - \
432		${RELEASEDIR}/tarballs/srcdist/contrib.)
433
434srcetc-tarball:
435	(cd ${DESTDIR}; \
436		tar -cf - usr/src/etc | \
437		gzip --no-name -9 -c | \
438		split -b 240640 - \
439		${RELEASEDIR}/tarballs/srcdist/etc.)
440
441srcgames-tarball:
442	(cd ${DESTDIR}; \
443		tar -cf - usr/src/games | \
444		gzip --no-name -9 -c | \
445		split -b 240640 - \
446		${RELEASEDIR}/tarballs/srcdist/games.)
447
448srcgnu-tarball:
449	(cd ${DESTDIR}; \
450		tar -cf - usr/src/gnu | \
451		gzip --no-name -9 -c | \
452		split -b 240640 - \
453		${RELEASEDIR}/tarballs/srcdist/gnu.)
454
455srcinclude-tarball:
456	(cd ${DESTDIR}; \
457		tar -cf - usr/src/include | \
458		gzip --no-name -9 -c | \
459		split -b 240640 - \
460		${RELEASEDIR}/tarballs/srcdist/include.)
461
462srclib-tarball:
463	(cd ${DESTDIR}; \
464		tar --exclude usr/src/${CRYPT_LIB} -cf - usr/src/lib | \
465		gzip --no-name -9 -c | \
466		split -b 240640 - \
467		${RELEASEDIR}/tarballs/srcdist/lib.)
468
469srclibcrypt-tarball:
470	(cd ${DESTDIR}; \
471		tar -cf - usr/src/${CRYPT_LIB} | \
472		gzip --no-name -9 -c | \
473		split -b 240640 - \
474		${RELEASEDIR}/tarballs/secrdist/libcrypt.)
475
476srclibexec-tarball:
477	(cd ${DESTDIR}; \
478		tar -cf - usr/src/libexec | \
479		gzip --no-name -9 -c | \
480		split -b 240640 - \
481		${RELEASEDIR}/tarballs/srcdist/libexec.)
482
483srcsbin-tarball:
484	(cd ${DESTDIR}; \
485		tar -cf - usr/src/sbin | \
486		gzip --no-name -9 -c | \
487		split -b 240640 - \
488		${RELEASEDIR}/tarballs/srcdist/sbin.)
489
490srcshare-tarball:
491	(cd ${DESTDIR}; \
492		tar -cf - usr/src/share | \
493		gzip --no-name -9 -c | \
494		split -b 240640 - \
495		${RELEASEDIR}/tarballs/srcdist/share.)
496
497srcsys-tarball:
498	(cd ${DESTDIR}; \
499		tar -cf - usr/src/sys | \
500		gzip --no-name -9 -c | \
501		split -b 240640 - \
502		${RELEASEDIR}/tarballs/srcdist/sys.)
503
504srcusrbin-tarball:
505	(cd ${DESTDIR}; \
506		tar -cf - usr/src/usr.bin | \
507		gzip --no-name -9 -c | \
508		split -b 240640 - \
509		${RELEASEDIR}/tarballs/srcdist/usrbin.)
510
511srcusrsbin-tarball:
512	(cd ${DESTDIR}; \
513		tar -cf - usr/src/usr.sbin | \
514		gzip --no-name -9 -c | \
515		split -b 240640 - \
516		${RELEASEDIR}/tarballs/srcdist/usrsbin.)
517
518src-tarball: srcbase-tarball srcbin-tarball srccontrib-tarball srcetc-tarball \
519	srcgames-tarball srcgnu-tarball srcinclude-tarball srclib-tarball \
520	srclibcrypt-tarball srclibexec-tarball srcsbin-tarball \
521	srcshare-tarball srcsys-tarball srcusrbin-tarball \
522	srcusrsbin-tarball
523
524des-tarball:
525	rm -rf ${RELEASEDIR}/tmpdes
526	mkdir ${RELEASEDIR}/tmpdes
527	for i in ${CRYPT_DIRS}; do \
528		cd ${RELEASEDIR}/tmpdes; \
529		mkdir $$i; \
530		chown ${BINOWN}.${GRPOWN} $$i; \
531		chmod 755 $$i; \
532	done
533	# This is ugly, it force installs a /usr/lib/libcrypt.a so
534	# that the other makes will be built with des.
535	#
536	(cd ${.CURDIR}/../${CRYPT_LIB}; \
537		unset NOCRYPT; \
538		DESTDIR=; export DESTDIR; \
539		${MAKE} cleandir obj depend all install; \
540		NOMAN=noman; export NOMAN; \
541		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
542		${MAKE} cleandir obj depend all install)
543	for i in ${CRYPT_SRCS}; do \
544		unset NOCRYPT; \
545		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
546		NOMAN=noman; export NOMAN; \
547		cd ${.CURDIR}/../$$i; \
548		${MAKE} cleandir obj depend all install; \
549	done
550	(cd ${RELEASEDIR}/tmpdes; \
551		tar cf - . | \
552			gzip --no-name -9 -c | \
553			split -b 240640 - \
554			${RELEASEDIR}/tarballs/secrdist/des_tgz.)
555	rm -rf ${RELEASEDIR}/tmpdes
556
557distrib-dirs:
558	mtree -u -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
559	mtree -u -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
560	mtree -u -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
561.if defined(CDROMDIST)
562	mtree -u -f ${.CURDIR}/mtree/BSD.local.dist -p ${DESTDIR}/usr/local
563.endif
564	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
565
566floppies:	kcopy_ah.flp kcopy_bt.flp filesyst.flp cpio.flp \
567		cdins_ah.flp cdins_bt.flp
568
569release:	release-dirs distribution crunch extract kcopy-kernels \
570		floppies bin-tarball des-tarball
571
572release-dirs:
573	rm -rf ${RELEASEDIR}/filesys
574	mkdir ${RELEASEDIR}/filesys
575	chown ${BINOWN}.${BINGRP} ${RELEASEDIR}/filesys
576	chmod 755 ${RELEASEDIR}/filesys
577	rm -rf ${RELEASEDIR}/tarballs
578	mkdir ${RELEASEDIR}/tarballs
579	mkdir ${RELEASEDIR}/tarballs/bindist
580	mkdir ${RELEASEDIR}/tarballs/objdist
581	mkdir ${RELEASEDIR}/tarballs/secrdist
582	mkdir ${RELEASEDIR}/tarballs/srcdist
583	chown -R ${BINOWN}.${BINGRP} ${RELEASEDIR}/tarballs
584	chmod -R 755 ${RELEASEDIR}/tarballs
585	rm -rf ${RELEASEDIR}/floppies
586	mkdir ${RELEASEDIR}/floppies
587	chown ${BINOWN}.${BINGRP} ${RELEASEDIR}/floppies
588	chmod 755 ${RELEASEDIR}/floppies
589
590.include <bsd.prog.mk>
591