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