Makefile revision 4805
1145519Sdarrenr#	$Id: Makefile,v 1.58 1994/11/22 05:21:06 phk Exp $
2145519Sdarrenr#
331183Speter
431183Speter# Evil floppies are, of course, 1.2MB floppies.
5255332ScyFLOPPY=		fd0
631183Speter#EVIL_FLOPPY=	yes
7145519Sdarrenr
831183Speter
9161357Sguido.if defined(EVIL_FLOPPY)
1063537SarchieFDLABEL=	fd1200
1131183SpeterDDBS=		15k
1253024SguidoDDCOUNT=	80
1331183Speter.else
1431183SpeterFDLABEL=	fd1440
1531183SpeterDDBS=		18k
1631183SpeterDDCOUNT=	80
17170268Sdarrenr.endif
1831183Speter
19170268SdarrenrMNT=		/mnt
2031183Speter
2131183SpeterCPIO1= basename cat chmod cksum cp cu date dd df dmesg echo ed expr hostname 
2231183SpeterCPIO1+= kill ln ls mkdir mt mv rcp rm rmdir sh sleep stty sync tar test tip [ 
2331183SpeterCPIO1+= -sh badsect chown clri disklabel dump dmesg fdisk fsck getopt ifconfig 
2431183SpeterCPIO1+= init mknod mount mount_cd9660 mount_msdos mount_nfs ncftp newfs ping pwd
2531183SpeterCPIO1+= reboot restore slattach swapon umount route
2631183SpeterCPIO1+= rdump rrestore halt ft
2731183SpeterCPIO1+= ftp rsh sed telnet rlogin grep
2831183Speter
29255332ScyCPIO2=  etc/services etc/protocols
3031183Speter
3131183Speter# bininst MUST be the last file on the cpio floppy.  It's used to detect
3231183Speter# a successful extraction.
3331183SpeterCPIO3=	miscfuncs.sh instdist.sh netinst.sh adduser.sh bininst
34170268Sdarrenr
35255332ScyCPIO4=	/usr/sbin/tzsetup
36170268SdarrenrCPIO4B=	tzsetup
3731183Speter
3831183Speter# Somewhat on the rough side...
3931183SpeterCLEANFILES+=	*.o *.c *.cache *.mk *.lo ${CPIO1} *.flp *.gz 
4031183SpeterCLEANFILES+=	boot_flp boot.flp cpio_flp_1
4131183Speter
4231183SpeterMTREE_DIR=	${.CURDIR}/../etc/mtree
4331183Speter
4431183SpeterZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
4531183Speter
4631183Speterhierarchy:
4731183Speter	mtree -deU -f ${MTREE_DIR}/BSD.root.dist  -p ${DESTDIR}/
4864591Sdarrenr	mtree -deU -f ${MTREE_DIR}/BSD.var.dist   -p ${DESTDIR}/var
49145519Sdarrenr	mtree -deU -f ${MTREE_DIR}/BSD.usr.dist   -p ${DESTDIR}/usr
5031183Speter.if defined(MAKE_LOCAL)
5137074Speter	mtree -deU -f ${MTREE_DIR}/BSD.local.dist -p ${DESTDIR}/usr/local
5231183Speter.endif
5331183Speter	rm -f ${DESTDIR}/sys
5431183Speter	ln -s usr/src/sys ${DESTDIR}/sys
5531183Speter
5631183Speterkernel:	${.CURDIR}/../sys/i386/conf/GENERIC
5731183Speter	(cd ${.CURDIR}/../sys/i386/conf; config GENERIC)
5831183Speter	(cd ${.CURDIR}/../sys/compile/GENERIC; ${MAKE} depend; ${MAKE} all; )
5931183Speter
6031183Speterboot.flp: 
6131183Speter	crunchgen ${.CURDIR}/boot_flp.conf
6231183Speter	${MAKE} -f boot_flp.mk objs exe
6331183Speter	-umount ${MNT}
6431183Speter	-umount /dev/${FLOPPY}
6531183Speter	# echo y | fdformat ${FLOPPY}
6631183Speter	disklabel -w -B \
6731183Speter		-b ${DESTDIR}/usr/mdec/fdboot -s ${DESTDIR}/usr/mdec/bootfd \
6831183Speter		/dev/r${FLOPPY} ${FDLABEL}
6931183Speter	newfs -c 80 -b 4096 -f 512 -i 8192 -m 0 -o space /dev/r${FLOPPY}
7031183Speter	mount -o async /dev/${FLOPPY} ${MNT}
7131183Speter	mkdir ${MNT}/dev ${MNT}/stand ${MNT}/mnt
7231183Speter	strip -x ${.CURDIR}/../sys/compile/GENERIC/kernel
7331183Speter	cp ${.CURDIR}/../sys/compile/GENERIC/kernel ${MNT}/kernel
7431183Speter	cp ${DESTDIR}/usr/mdec/sdboot ${DESTDIR}/usr/mdec/bootsd ${MNT}/stand
7531183Speter	( cd ${DESTDIR}/dev ; \
7631183Speter		ls console tty ttyv1 null zero \
7731183Speter		sd[0123][a-h] wd[0123][a-h] fd[01] \
7831183Speter		rsd[0123][a-h] rwd[0123][a-h] rfd[01] \
7931183Speter	| cpio -dumpv ${MNT}/dev \
8031183Speter	)
8131183Speter	gzip -9 < boot_flp > ${MNT}/stand/sysinstall
8231183Speter	chmod 755 ${MNT}/stand/sysinstall
8331183Speter	ln ${MNT}/stand/sysinstall ${MNT}/stand/newfs
8431183Speter	ln ${MNT}/stand/sysinstall ${MNT}/stand/gzip
8531183Speter	ln ${MNT}/stand/sysinstall ${MNT}/stand/fsck
8631183Speter	install -m 400 -c ${.CURDIR}/../COPYRIGHT ${MNT}/COPYRIGHT
8731183Speter	install -m 400 -c ${.CURDIR}/../share/FAQ/README-2.0 ${MNT}/README
8831183Speter	install -m 400 -c ${.CURDIR}/../share/FAQ/TROUBLESHOOTING \
8931183Speter		${MNT}/TROUBLESHOOTING
9031183Speter	install -m 400 -c ${.CURDIR}/../share/FAQ/DISKSPACE.FAQ \
9131183Speter		${MNT}/DISKSPACE.FAQ
9231183Speter	install -m 400 -c ${.CURDIR}/../share/FAQ/RELNOTES.FreeBSD \
9331183Speter		${MNT}/RELNOTES.FreeBSD
9431183Speter	touch ${MNT}/this_is_boot_flp
9531183Speter	-umount ${MNT}
9631183Speter	fsck /dev/r${FLOPPY}
9731183Speter	dd if=/dev/r${FLOPPY} bs=${DDBS} count=${DDCOUNT} of=boot.flp
9831183Speter	gzip -9 -v < boot.flp > boot.flp.gz
9931183Speter	df -k /dev/r${FLOPPY}
10031183Speter
10131183Spetercpio.flp:
10231183Speter	crunchgen ${.CURDIR}/cpio_flp_1.conf
10331183Speter	${MAKE} -f cpio_flp_1.mk objs exe
10431183Speter	for i in ${CPIO1} ; do rm -f ./$$i ; ln cpio_flp_1 ./$$i ; done
10531183Speter	( cd /${DESTDIR} ; ls ${CPIO2} | cpio -H newc -oa ) | cpio -ivd
10631183Speter	( cd ${.CURDIR} ; ls ${CPIO3} | cpio -H newc -oa ) | cpio -ivd
10731183Speter	cp ${CPIO4} .
10831183Speter	ls ${CPIO1} ${CPIO2} ${CPIO3} ${CPIO4B} | \
10931183Speter		cpio -H newc -oa | gzip -9 | \
11031183Speter		dd conv=osync > cpio.flp
11131183Speter	gzip -9 -v < cpio.flp > cpio.flp.gz
11231183Speter	ls -l cpio.flp*
11331183Speter
11431183Spetercrunch:
11531183Speter	crunchgen ${.CURDIR}/boot_flp.conf
11631183Speter	${MAKE} -f boot_flp.mk objs exe
11731183Speter	crunchgen ${.CURDIR}/cpio_flp_1.conf
11831183Speter	${MAKE} -f cpio_flp_1.mk objs exe
11931183Speter
12031183Speterfloppies: crunch boot.flp cpio.flp
12131183Speter
12231183Speterrelease20: 
12331183Speter	( cd ${.CURDIR} ; ${MAKE} clean)
12431183Speter	-mkdir ${RELEASEDIR}
12531183Speter	chflags -R noschg ${RELEASEDIR}/.
12631183Speter	rm -rf ${RELEASEDIR}/*
12731183Speter	( cd ${.CURDIR}/.. ;  \
12831183Speter		${MAKE} world NOCRYPT=yes)
12931183Speter	( cd ${.CURDIR}/../etc ;  \
13031183Speter		${MAKE} release-dirs )
13131183Speter	( cd ${.CURDIR} ; ${MAKE} obj)
13231183Speter	( cd ${.CURDIR} ;  \
13331183Speter		${MAKE} kernel DESTDIR=${RELEASEDIR}/filesys )
13431183Speter	install ${COPY} -m 644 ${.CURDIR}/../sys/compile/GENERIC/kernel \
13531183Speter		${RELEASEDIR}/filesys/kernel
13631183Speter	( cd ${.CURDIR} ;  \
13731183Speter		${MAKE} hierarchy DESTDIR=${RELEASEDIR}/filesys )
13831183Speter	( cd ${.CURDIR}/../etc ; \
13931183Speter		${MAKE} distribution DESTDIR=${RELEASEDIR}/filesys \
14031183Speter			NOCRYPT=yes SHARED=copies)
14131183Speter	( cd ${RELEASEDIR}/filesys; \
14231183Speter		tar cf - . | \
14331183Speter		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bindist/bindist.)
14431183Speter	cp ${.CURDIR}/extract.sh ${RELEASEDIR}/tarballs/bindist
14531183Speter	( cd ${RELEASEDIR}/tarballs/bindist; ${.CURDIR}/mkchecksums.sh )
14631183Speter	( cd ${.CURDIR} ;  \
14731183Speter		${MAKE} floppies )
14831183Speterfoo:
14931183Speter	( cd ${.CURDIR}/../etc ; \
15031183Speter		${MAKE} srcebones-tarball \
15131183Speter			DESTDIR=${RELEASEDIR}/filesys \
15231183Speter			NOCRYPT=yes SHARED=copies )
15331183Speter		
15431183Speterbar:
15531183Speter	( cd ${.CURDIR}/../etc ; \
15631183Speter		${MAKE} des-tarball \
15731183Speter			DESTDIR=${RELEASEDIR}/filesys \
15831183Speter			SHARED=copies )
15931183Speter
16031183SpeterEXTRADISTRIBUTIONS=	secrdist games manpages proflibs dict krb srcdist
16131183SpeterDISTRIBUTIONS=	bindist ${EXTRADISTRIBUTIONS}
16231183SpeterMTREEFILES=	${.CURDIR}/../etc/mtree
16331183SpeterSECRSRC=	src/secure src/eBones
16431183Speter
16555924Sguidodistribute: 
16631183Speter	-mkdir ${RELEASEDIR}
16731183Speter	chflags -R noschg ${RELEASEDIR}/.
16831183Speter	rm -rf ${RELEASEDIR}/*
16931183Speter	for i in ${DISTRIBUTIONS} ; \
17031183Speter	do \
17131183Speter	mkdir ${RELEASEDIR}/$$i ; \
17231183Speter	mtree -deU -f ${MTREEFILES}/BSD.root.dist -p ${RELEASEDIR}/$$i/ ; \
17331183Speter	mtree -deU -f ${MTREEFILES}/BSD.var.dist -p ${RELEASEDIR}/$$i/var ; \
17431183Speter	mtree -deU -f ${MTREEFILES}/BSD.usr.dist -p ${RELEASEDIR}/$$i/usr ; \
17531183Speter	done 
17631183Speter	( cd ${.CURDIR} ;  \
17731183Speter		${MAKE} kernel DESTDIR=${RELEASEDIR}/filesys )
17831183Speter	install ${COPY} -m 644 ${.CURDIR}/../sys/compile/GENERIC/kernel \
17931183Speter		${RELEASEDIR}/bindist/kernel
18031183Speter
18131183Speterbeforetarballs:
18231183Speter	rm -rf ${RELEASEDIR}/manpages/usr/share/man
18331183Speter	mv ${RELEASEDIR}/bindist/usr/share/man \
18431183Speter		${RELEASEDIR}/manpages/usr/share/man
18531183Speter	rm -rf ${RELEASEDIR}/games/usr/games
18631183Speter	mv ${RELEASEDIR}/bindist/usr/games \
18731183Speter		${RELEASEDIR}/games/usr/games
18831183Speter	rm -rf ${RELEASEDIR}/games/usr/share/games
18931183Speter	mv ${RELEASEDIR}/bindist/usr/share/games \
19031183Speter		${RELEASEDIR}/games/usr/share/games
19131183Speter	rm -rf ${RELEASEDIR}/dict/usr/share/dict
19231183Speter	mv ${RELEASEDIR}/bindist/usr/share/dict \
19331183Speter		${RELEASEDIR}/dict/usr/share/dict
19434739Speter	mv ${RELEASEDIR}/bindist/usr/lib/*_p.a \
19534739Speter		${RELEASEDIR}/proflibs/usr/lib
19631183Speter	-cd ${RELEASEDIR} ; \
19731183Speter	find ${EXTRADISTRIBUTIONS} -depth -type d -print | xargs rmdir
19831183Speter	cd ${RELEASEDIR}/secrdist/usr ; cvs export -r ${RELEASETAG} ${SECRSRC}
19931183Speter	cd ${RELEASEDIR}/srcdist/usr ; cvs export -r ${RELEASETAG} src
20031183Speter	cd ${RELEASEDIR}/srcdist/usr/src ; rm -rf secure kerberosIV eBones
20131183Speter
20231183Spetertarballs:
20331183Speter	rm -rf ${RELEASEDIR}/tarballs
20431183Speter	mkdir ${RELEASEDIR}/tarballs
20531183Speter	for i in ${DISTRIBUTIONS} ; \
20631183Speter	do \
20731183Speter		mkdir ${RELEASEDIR}/tarballs/$${i} ; \
20831183Speter		( cd ${RELEASEDIR}/$${i}; \
20931183Speter			tar cf - . | \
21031183Speter			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/$$i/$${i}.) ; \
21131183Speter	( cd ${RELEASEDIR}/tarballs/$${i}; sh -e ${.CURDIR}/mkchecksums.sh ) ; \
21231183Speter	cp ${.CURDIR}/extract.sh ${RELEASEDIR}/tarballs/$${i} ;\
21331183Speter	done
21431183Speter
21531183Speter.include <bsd.prog.mk>
21631183Speter