Makefile revision 12540
1#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
2#	$Id: Makefile,v 1.126 1995/10/28 09:39:57 peter 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 modems netstart \
11	networks phones pccard.conf printcap profile protocols \
12	rc rc.local rc.serial etc.${MACHINE}/rc.${MACHINE} \
13	remote security services sysconfig shells \
14	syslog.conf ttys etc.${MACHINE}/disktab rpc make.conf \
15	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
16	${.CURDIR}/../usr.bin/mail/misc/mail.rc
17
18# -rw-rw-rw-
19BIN2=	motd
20
21# -rwxr-xr-x root.wheel, for the new cron root.wheel
22BIN3=	daily weekly monthly
23
24CLEANFILES+=	*.c *.o *.lo
25CLEANFILES+=	filesystem filesystem.cache filesystem.mk
26CLEANFILES+=	kcopy kcopy.cache kcopy.mk
27
28MAKEDEVS=	(cd ${MOUNT}/dev; \
29		    sh ${DESTDIR}/dev/MAKEDEV std; \
30		    rm -rf fd; \
31		    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1; \
32		    rm -rf fd0?* rfd0?* fd1?* rfd1?*; \
33		    sh ${DESTDIR}/dev/MAKEDEV wd0 wd1 sd0 sd1 cd0 mcd0 mcd1; \
34		    rm -rf *wd[01][ijklm] rmcd*)
35
36NEWFS=		newfs -b 4096 -c 80 -f 512 -m 0 -o space -u 0 -t 0
37ZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
38
39MTREE=	BSD.local.dist BSD.root.dist BSD.usr.dist BSD.var.dist
40NAMEDB=	PROTO.localhost.rev named.boot named.root make-localhost
41PPPCNF= ppp.conf.filter.sample ppp.conf.iij ppp.conf.sample \
42	ppp.linkup.sample ppp.secret.sample
43PCS=	pcs750.bin
44WCS1=	wcs fppwcs poc poc1 poc2 fppoc
45WCS2=	fpevent fppwcs fppwcs_dual hdcwcs load_diags start_fpp wcs wcs_dual
46
47# Special top level files for FreeBSD
48COPYRIGHT=	COPYRIGHT
49FREEBSD=
50FREEBSD+=	${COPYRIGHT}
51#
52# Floppy drive name, mount point, type and parameters for building Floppies
53FLOPPY?=	fd0
54MOUNT?=		/mnt
55FLOPPY_TYPE?=	fd1440
56FLOPPY_BS?=	18b
57FLOPPY_TRACKS?=	160
58#
59MDEC=		usr/mdec/bootfd usr/mdec/fdboot
60MDEC+=		usr/mdec/bootsd usr/mdec/sdboot
61MDEC+=		usr/mdec/bootwd usr/mdec/wdboot
62#
63KC_DIRS=	bin dev mnt sbin etc
64KC_FILES=	${COPYRIGHT}
65KC_LINKS=	bin/[ bin/cp bin/echo bin/sh bin/test
66KC_LINKS+=	sbin/fsck sbin/halt sbin/init
67KC_LINKS+=	sbin/mount sbin/mount_cd9660
68KC_LINKS+=	sbin/umount
69#
70CD_DIRS=	etc usr
71#
72FILESYSTEM_DIRS=	bin dev etc mnt proc sbin usr usr/bin usr/mdec usr/sbin
73FILESYSTEM_TREES=	dev
74FILESYSTEM_FILES=	${COPYRIGHT}
75FILESYSTEM_FILES+=	dev/MAKEDEV
76FILESYSTEM_FILES+=	etc/group
77FILESYSTEM_FILES+=	etc/master.passwd etc/passwd etc/pwd.db
78FILESYSTEM_FILES+=	${MDEC}
79FILESYSTEM_LINKS=	bin/[ bin/expr bin/ls bin/mkdir bin/rm
80FILESYSTEM_LINKS+=	bin/sh bin/sync bin/test
81FILESYSTEM_LINKS+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
82FILESYSTEM_LINKS+=	sbin/mount
83FILESYSTEM_LINKS+=	sbin/newfs
84FILESYSTEM_LINKS+=	sbin/umount
85FILESYSTEM_LINKS+=	usr/bin/cpio
86FILESYSTEM_LINKS+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip usr/bin/zcat
87FILESYSTEM_LINKS+=	usr/sbin/bad144
88FILESYSTEM_CPIO=	.profile
89FILESYSTEM_CPIO+=	root/.profile
90FILESYSTEM_CPIO+=	bin/[
91FILESYSTEM_CPIO+=	bin/chmod bin/cat bin/cp bin/df bin/expr bin/ls
92FILESYSTEM_CPIO+=	bin/ln bin/mkdir bin/mv bin/rm bin/sync
93FILESYSTEM_CPIO+=	bin/test
94FILESYSTEM_CPIO+=	etc/spwd.db
95FILESYSTEM_CPIO+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
96FILESYSTEM_CPIO+=	sbin/mount
97FILESYSTEM_CPIO+=	sbin/newfs
98FILESYSTEM_CPIO+=	sbin/umount
99FILESYSTEM_CPIO_DIRS=	root
100
101CPIO_FILES=	${COPYRIGHT}
102CPIO_CPIO=	bin/dd bin/ps bin/pwd bin/stty
103CPIO_CPIO+=	etc/protocols etc/remote etc/services
104CPIO_CPIO+=	etc/termcap
105CPIO_CPIO+=	sbin/dmesg
106CPIO_CPIO+=	sbin/ifconfig sbin/fsck sbin/mknod sbin/mount_cd9660
107CPIO_CPIO+=	sbin/mount_procfs
108CPIO_CPIO+=	sbin/reboot sbin/route sbin/slattach
109CPIO_CPIO+=	usr/bin/awk usr/bin/chgrp usr/bin/cpio usr/bin/ex usr/bin/ftp
110CPIO_CPIO+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip
111CPIO_CPIO+=	usr/bin/more usr/bin/tar usr/bin/tip
112CPIO_CPIO+=	usr/bin/vi usr/bin/view usr/bin/zcat
113CPIO_CPIO+=	usr/lib/libc.so.*
114CPIO_CPIO+=	usr/lib/libcurses.so.*
115CPIO_CPIO+=	usr/lib/libgcc.so.*
116CPIO_CPIO+=	usr/lib/libm.so.*
117CPIO_CPIO+=	usr/lib/libtermcap.so.*
118CPIO_CPIO+=	usr/lib/libutil.so.*
119CPIO_CPIO+=	usr/libexec/ld.so
120CPIO_CPIO+=	usr/sbin/bad144 usr/sbin/chown
121CPIO_CPIO+=	usr/share/misc/termcap
122CPIO_CPIO_DIRS=		tmp usr/lib usr/libexec usr/share usr/share/misc
123CPIO_CPIO_DIRS+=	var var/tmp var/run var/spool var/spool/lock
124
125SCRYPT_LIB=	lib/libcrypt
126DESCRYPT_LIB=	secure/lib/libcrypt
127CRYPT_SRCS=	bin/ed bin/rcp
128CRYPT_SRCS+=	sbin/init
129.if !defined(NOCRYPT)
130CRYPT_SRCS+=	secure
131.endif
132CRYPT_DIRS=	bin sbin usr usr/bin usr/lib
133
134# Compatibility stuff, remove those links
135LATIN1LINKS = \
136	da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES fi_FI \
137	fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE nl_NL no_NO \
138	pt_PT sv_SE
139
140all depend etc install lint:
141
142scrypt:
143	rm -f ${LIBCRYPT};
144	(cd ${.CURDIR}/../${SCRYPT_LIB}; \
145		${MAKE} cleandir obj depend all install)
146	for i in ${CRYPT_SRCS}; do \
147		cd ${.CURDIR}/../$$i; \
148		${MAKE} cleandir obj depend all; \
149	done
150
151descrypt:
152	rm -f ${LIBCRYPT};
153	(cd ${.CURDIR}/../${DESCRYPT_LIB}; \
154		${MAKE} cleandir obj depend all install)
155	for i in ${CRYPT_SRCS}; do \
156		cd ${.CURDIR}/../$$i; \
157		${MAKE} cleandir obj depend all; \
158	done
159
160distribute:
161	cd ${.CURDIR} ; ${MAKE} distribution DESTDIR=${DISTDIR}/bin
162
163distribution:
164	(cd ${.CURDIR}; \
165	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc; \
166	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 666 ${BIN2} ${DESTDIR}/etc; \
167	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN3} ${DESTDIR}/etc; \
168	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 crontab ${DESTDIR}/etc; \
169	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
170	    ${DESTDIR}/var/cron/log; \
171	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 600 \
172	    master.passwd ${DESTDIR}/etc; \
173	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
174	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \
175	     MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev )
176	(cd ${DESTDIR}/dev; sh MAKEDEV all) ;
177	(cd ${.CURDIR}/root; \
178		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.fvwmrc \
179		    ${DESTDIR}/root/.fvwmrc; \
180		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.Xdefaults \
181		    ${DESTDIR}/root/.Xdefaults; \
182		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.xsession \
183		    ${DESTDIR}/root/.xsession; \
184		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.cshrc \
185		    ${DESTDIR}/root/.cshrc; \
186		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.klogin \
187		    ${DESTDIR}/root/.klogin; \
188		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.login \
189		    ${DESTDIR}/root/.login; \
190		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.profile \
191		    ${DESTDIR}/root/.profile; \
192		rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
193		ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
194		ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
195	cd ${.CURDIR}/mtree; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \
196	    ${MTREE} ${DESTDIR}/etc/mtree
197	cd ${.CURDIR}/namedb; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 \
198	    ${NAMEDB} ${DESTDIR}/etc/namedb
199	cd ${.CURDIR}/ppp; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 \
200	    ${PPPCNF} ${DESTDIR}/etc/ppp
201	${INSTALL} -c -o ${BINOWN} -g operator -m 664 /dev/null \
202	    ${DESTDIR}/etc/dumpdates
203	${INSTALL} -c -o nobody -g ${BINGRP} -m 664 /dev/null \
204	    ${DESTDIR}/var/db/locate.database
205	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
206	    ${DESTDIR}/var/log/lpd-errs
207	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
208	    ${DESTDIR}/var/log/maillog
209	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
210	    ${DESTDIR}/var/log/lastlog
211	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
212	    ${DESTDIR}/var/log/messages
213	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
214	    ${DESTDIR}/var/log/wtmp
215	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
216	    ${DESTDIR}/var/run/utmp
217	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 664 ${.CURDIR}/minfree \
218	    ${DESTDIR}/var/crash
219	(cd ${.CURDIR}/etc.${MACHINE}; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} \
220	    -m 444 fstab.* ${DESTDIR}/etc)
221	(cd ${.CURDIR}/../usr.sbin/sendmail/src; \
222	    ${MAKE} obj; \
223	    ${MAKE} all; \
224	    ${MAKE} install; \
225	 cd ../cf/cf; \
226	    ${MAKE} obj; \
227	    ${MAKE} freefall.cf; \
228	    ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 obj/freefall.cf \
229		${DESTDIR}/etc/sendmail.cf)
230	(cd ${.CURDIR}/..; \
231	    ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FREEBSD} \
232		${DESTDIR}/)
233	(cd ${.CURDIR}/../share/man; ${MAKE} makedb; )
234
235crunch:
236	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/kcopy.conf
237	${MAKE} -f kcopy.mk objs exe
238	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/filesystem.conf
239	${MAKE} -f filesystem.mk objs exe
240
241extract:
242	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \
243	    ${.CURDIR}/etc.i386/EXTRACT_bin.sh \
244	    ${RELEASEDIR}/tarballs/bin/EXTRACT.sh
245	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \
246	    ${.CURDIR}/etc.i386/EXTRACT_src.sh \
247	    ${RELEASEDIR}/tarballs/bin/EXTRACT.sh
248	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \
249	    ${.CURDIR}/etc.i386/EXTRACT_secr.sh \
250	    ${RELEASEDIR}/tarballs/bin/EXTRACT.sh
251
252hcx9-distribution:
253	(cd ${.CURDIR}/etc.tahoe; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} \
254	    -m 444 ${WCS2} ${DESTDIR}/)
255
256kcopy-kernels: ${.CURDIR}/../sys/i386/conf/GENERIC
257	(cd ${.CURDIR}/../sys/compile; rm -rf GENERIC)
258	(cd ${.CURDIR}/../sys/i386/conf; config GENERIC)
259	(cd ${.CURDIR}/../sys/compile/GENERIC; ${MAKE} depend; ${MAKE} all; \
260	    ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel \
261	        ${DESTDIR}/kernel.GENERIC)
262
263kcopy-floppy:
264	echo y | fdformat ${FLOPPY}
265	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
266		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
267	${NEWFS} -i 8192 r${FLOPPY} ${FLOPPY_TYPE}
268	mount /dev/${FLOPPY} ${MOUNT}
269	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
270	chmod 755 ${MOUNT}/.
271	(cd ${DESTDIR}/; \
272	    ls -d ${KC_DIRS} | cpio -pdamuv ${MOUNT})
273	${MAKEDEVS}
274	(cd ${DESTDIR}/; \
275	    ls ${KC_FILES} | cpio -pdamuv ${MOUNT})
276	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
277	    ${.CURDIR}/etc.i386/kc.profile ${MOUNT}/etc/rc
278	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
279	    kcopy ${MOUNT}/bin/kcopy
280	(cd ${MOUNT}/; \
281	    for i in ${KC_LINKS}; do \
282		ln bin/kcopy $$i; \
283	    done)
284
285kcopy.flp:
286	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
287	(cd ${.CURDIR}/../sys/compile/GENERIC; \
288	    ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
289	df -ik ${MOUNT}
290	# XXX umount is returning 1 for some reason :-(
291	-umount /dev/${FLOPPY}
292	fsck /dev/r${FLOPPY}
293	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy.flp \
294		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
295	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy.flp \
296		>${RELEASEDIR}/floppies/kcopy.flp.gz &
297
298cdins-floppy:
299	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
300	(cd ${DESTDIR}/; \
301	    ls -d ${CD_DIRS} | cpio -pdamuv ${MOUNT})
302	(cd ${MOUNT}/usr; \
303	    ln -s /cdrom/filesys/usr/libexec libexec; \
304	    ln -s /cdrom/filesys/usr/lib lib)
305	mkdir ${MOUNT}/cdrom
306	chown ${BINOWN}.${BINGRP} ${MOUNT}/cdrom
307	chmod 755 ${MOUNT}/cdrom
308	#${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
309	#    ${.CURDIR}/etc.i386/cdinst1.profile ${MOUNT}/.profile
310	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
311	    ${.CURDIR}/etc.i386/cdinst1.install ${MOUNT}/install
312	ln ${MOUNT}/install ${MOUNT}/etc/rc
313
314cdins.flp:
315	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
316	(cd ${.CURDIR}/../sys/compile/GENERIC; \
317	    ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
318	df -ik ${MOUNT}
319	# XXX umount is returning 1 for some reason :-(
320	-umount /dev/${FLOPPY}
321	fsck /dev/r${FLOPPY}
322	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins.flp \
323		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
324	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins.flp \
325		>${RELEASEDIR}/floppies/cdins.flp.gz &
326
327filesyst.flp:
328	echo y | fdformat ${FLOPPY}
329	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
330		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
331	${NEWFS} -i 10240 r${FLOPPY}  ${FLOPPY_TYPE}
332	mount /dev/${FLOPPY}  ${MOUNT}
333	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
334	chmod 755 ${MOUNT}/.
335	(cd ${DESTDIR}/; \
336	    ls -d ${FILESYSTEM_DIRS} | cpio -pdamuv ${MOUNT})
337	${MAKEDEVS}
338	(cd ${DESTDIR}/; \
339	    ls ${FILESYSTEM_FILES} | cpio -pdamuv ${MOUNT}; \
340	    (find ${FILESYSTEM_CPIO}; ls -d ${FILESYSTEM_CPIO_DIRS}) | \
341		cpio -H newc --block-size=16 -oav | \
342		gzip -9 >${MOUNT}/inst1.cpio.gz)
343	#${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
344	#    ${.CURDIR}/etc.i386/inst1.profile ${MOUNT}/.profile
345	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
346	    ${.CURDIR}/etc.i386/inst1.install ${MOUNT}/install
347	ln ${MOUNT}/install ${MOUNT}/etc/rc
348	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
349	    filesystem ${MOUNT}/bin/filesystem
350	(cd ${MOUNT}/; \
351	    for i in ${FILESYSTEM_LINKS}; do \
352		ln bin/filesystem $$i; \
353	    done)
354	(cd ${MOUNT}/; \
355	    ls ${FILESYSTEM_FILES} >/tmp/filelist; \
356	    ls ${FILESYSTEM_LINKS} >>/tmp/filelist; \
357	    ls -d ${FILESYSTEM_DIRS} >>/tmp/filelist; \
358	    find ${FILESYSTEM_TREES} >>/tmp/filelist; \
359	    sort -u -r /tmp/filelist >filelist; \
360	    rm /tmp/filelist)
361	df -ik ${MOUNT}
362	# XXX umount is returning 1 for some reason :-(
363	-umount /dev/${FLOPPY}
364	fsck /dev/r${FLOPPY}
365	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/filesyst.flp \
366		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
367	gzip --no-name -9 -c ${RELEASEDIR}/floppies/filesyst.flp \
368		>${RELEASEDIR}/floppies/filesyst.flp.gz &
369
370cpio.flp:
371	echo y | fdformat ${FLOPPY}
372	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
373		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
374	${NEWFS} -i 65536 r${FLOPPY}  ${FLOPPY_TYPE}
375	mount /dev/${FLOPPY} ${MOUNT}
376	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
377	chmod 755 ${MOUNT}/.
378	(cd ${DESTDIR}/; \
379		ls ${CPIO_FILES} | cpio -pdamuv ${MOUNT})
380	#
381	# XXX This ugliness is because the default termcap file is simply too
382	# big and we don't need such a hugh one for the initial installation,
383	# yet we want the symlink in /etc to point to the right place so we
384	# need to install the smaller one in the same location.
385	#
386	mv ${DESTDIR}/usr/share/misc/termcap ${DESTDIR}/usr/share/misc/otermcap
387	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
388	    ${.CURDIR}/termcap.small ${DESTDIR}/usr/share/misc/termcap
389	(cd ${DESTDIR}/; \
390	    (find ${CPIO_CPIO}; ls -d ${CPIO_CPIO_DIRS}) | \
391		cpio -H newc --block-size=16 -oav | \
392		gzip -9 >${MOUNT}/inst2.cpio.gz)
393	# XXX cpio is done, put everything back in shape for the bindist.
394	mv ${DESTDIR}/usr/share/misc/otermcap ${DESTDIR}/usr/share/misc/termcap
395	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
396	    ${.CURDIR}/etc.i386/cpio.rc ${MOUNT}/rc
397	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
398	    ${.CURDIR}/etc.i386/cpio.install ${MOUNT}/install
399	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
400	    ${.CURDIR}/etc.i386/cpio.magic ${MOUNT}/magic
401	df -ik ${MOUNT}
402	# XXX umount is returning 1 for some reason :-(
403	-umount /dev/${FLOPPY}
404	fsck /dev/r${FLOPPY}
405	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cpio.flp \
406		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
407	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cpio.flp \
408		>${RELEASEDIR}/floppies/cpio.flp.gz &
409
410bin-tarball:
411	(cd ${DESTDIR}; \
412		mkdir -p ${RELEASEDIR}/tarballs/bin; \
413		tar cf - . | \
414		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bin/bin.)
415
416des-tarball:
417	rm -rf ${RELEASEDIR}/tmpdes
418	mkdir ${RELEASEDIR}/tmpdes
419	for i in ${CRYPT_DIRS}; do \
420		cd ${RELEASEDIR}/tmpdes; \
421		mkdir $$i; \
422		chown ${BINOWN}.${GRPOWN} $$i; \
423		chmod 755 $$i; \
424	done
425	# This is ugly, it force installs a /usr/lib/libcrypt.a so
426	# that the other makes will be built with des.
427	#
428	(set -x ; cd ${.CURDIR}/../${DESCRYPT_LIB}; \
429		NOCRYPT=; \
430		unset NOCRYPT; \
431		DESTDIR=; export DESTDIR; \
432		${MAKE} cleandir obj depend all install; \
433		NOMAN=noman; export NOMAN; \
434		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
435		${MAKE} cleandir obj depend all install)
436	for i in ${CRYPT_SRCS}; do \
437		NOCRYPT=; \
438		unset NOCRYPT; \
439		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
440		NOMAN=noman; export NOMAN; \
441		cd ${.CURDIR}/../$$i; \
442		${MAKE} cleandir obj depend all install; \
443	done
444	(cd ${RELEASEDIR}/tmpdes; \
445		tar cf - . | \
446			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/des/des_tgz.)
447	rm -rf ${RELEASEDIR}/tmpdes
448
449distrib-dirs:
450	mtree -deU -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
451	mtree -deU -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
452# Compatibility stuff, remove obsoleted links, if exists
453	if [ -d	${DESTDIR}/usr/share/locale ] ;	\
454	then \
455		cd ${DESTDIR}/usr/share/locale;	\
456		for l in ${LATIN1LINKS}	; do \
457			if [ -h $$l.ISO_8859-1 ]; then \
458				rm $$l.ISO_8859-1; \
459			fi ; \
460		done; \
461	fi
462	mtree -deU -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
463	mtree -deU -f ${.CURDIR}/mtree/BSD.include.dist \
464		-p ${DESTDIR}/usr/include
465.if defined(MAKE_LOCAL)
466	mtree -deU -f ${.CURDIR}/mtree/BSD.local.dist -p ${DESTDIR}/usr/local
467.endif
468	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
469	cd ${DESTDIR}/usr/share/locale; \
470	set - `cat ${.CURDIR}/locale.alias`; \
471	while [ $$# -gt 0 ] ; \
472	do \
473		rm -rf "$$1"; \
474		ln -s "$$2" "$$1"; \
475		shift; shift; \
476	done
477	cd ${DESTDIR}/usr/share/nls; \
478	set - `cat ${.CURDIR}/locale.alias`; \
479	while [ $$# -gt 0 ] ; \
480	do \
481		rm -rf "$$1"; \
482		ln -s "$$2" "$$1"; \
483		shift; shift; \
484	done; \
485	rm -rf POSIX; \
486	ln -s C POSIX
487.if defined(MAKE_LOCAL)
488	cd ${DESTDIR}/usr/local/share/nls; \
489	set - `cat ${.CURDIR}/locale.alias`; \
490	while [ $$# -gt 0 ] ; \
491	do \
492		rm -rf "$$1"; \
493		ln -s "$$2" "$$1"; \
494		shift; shift; \
495	done; \
496	rm -rf POSIX; \
497	ln -s C POSIX
498.endif
499
500floppies:	kcopy.flp filesyst.flp cpio.flp cdins.flp
501
502release:	release-dirs distribution crunch extract kcopy-kernels \
503		floppies bin-tarball des-tarball clean
504
505release-dirs:
506	chflags -R noschg ${RELEASEDIR}/
507	rm -rf ${RELEASEDIR}/*
508	mtree -d -U -f ${.CURDIR}/mtree/BSD.release.dist -p ${RELEASEDIR}
509
510.include <bsd.prog.mk>
511