Makefile revision 5189
1139826Simp#	$Id: Makefile,v 1.65 1994/12/21 04:57:04 jkh Exp $
253541Sshin#
353541Sshin
453541SshinFLOPPY=		fd0
553541Sshin
653541Sshin
753541Sshin# Evil floppies are, of course, 1.2MB floppies.
853541Sshin.if defined(EVIL_FLOPPY)
953541SshinFDLABEL=	fd1200
1053541SshinDDBS=		15k
1153541SshinDDCOUNT=	80
1253541Sshin.else
1353541SshinFDLABEL=	fd1440
1453541SshinDDBS=		18k
1553541SshinDDCOUNT=	80
1653541Sshin.endif
1753541Sshin
1853541SshinMNT=		/mnt
1953541Sshin
2053541SshinCPIO1= basename cat chmod cksum cp cu date dd df dmesg echo ed expr hostname 
2153541SshinCPIO1+= kill ln ls mkdir mt mv rcp rm rmdir sh sleep stty sync tar test tip [ 
2253541SshinCPIO1+= -sh badsect chown clri disklabel dump dmesg fdisk fsck getopt ifconfig 
2353541SshinCPIO1+= init mknod mount mount_cd9660 mount_msdos mount_nfs ncftp newfs ping pwd
2453541SshinCPIO1+= reboot restore slattach swapon umount route
2553541SshinCPIO1+= rdump rrestore halt ft
2653541SshinCPIO1+= ftp rsh sed telnet rlogin grep
2753541Sshin
28174510SobrienCPIO2=  etc/services etc/protocols
29174510Sobrien
3053541Sshin# bininst MUST be the last file on the cpio floppy.  It's used to detect
3153541Sshin# a successful extraction.
32174510SobrienCPIO3=	miscfuncs.sh instdist.sh netinst.sh adduser.sh bininst
33174510Sobrien
34174510SobrienCPIO4=	/usr/sbin/tzsetup
3562587SitojunCPIO4B=	tzsetup
3662587Sitojun
37254889Smarkj# Somewhat on the rough side...
3862587SitojunCLEANFILES+=	*.o *.c *.cache *.mk *.lo ${CPIO1} *.flp *.gz 
3953541SshinCLEANFILES+=	boot_flp cpio_flp_1
4053541Sshin
4178064SumeMTREE_DIR=	${.CURDIR}/../etc/mtree
4253541Sshin
4353541SshinZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
4453541Sshin
4553541Sshinhierarchy:
4653541Sshin	mtree -deU -f ${MTREE_DIR}/BSD.root.dist  -p ${DESTDIR}/
4753541Sshin	mtree -deU -f ${MTREE_DIR}/BSD.var.dist   -p ${DESTDIR}/var
4862587Sitojun	mtree -deU -f ${MTREE_DIR}/BSD.usr.dist   -p ${DESTDIR}/usr
4953541Sshin.if defined(MAKE_LOCAL)
5053541Sshin	mtree -deU -f ${MTREE_DIR}/BSD.local.dist -p ${DESTDIR}/usr/local
51186119Sqingli.endif
52186119Sqingli	rm -f ${DESTDIR}/sys
5353541Sshin	ln -s usr/src/sys ${DESTDIR}/sys
54254889Smarkj
5578064Sumekernel:	${.CURDIR}/../sys/i386/conf/GENERIC
5653541Sshin	(cd ${.CURDIR}/../sys/i386/conf; config GENERIC)
5753541Sshin	(cd ${.CURDIR}/../sys/compile/GENERIC; ${MAKE} depend; ${MAKE} all; )
58121283Sume
5953541Sshinboot_12.flp: 
6053541Sshin	(cd ${.CURDIR}; EVIL_FLOPPY=yes ${MAKE} boot.flp)
61120049Smdodd	mv boot.flp boot_12.flp
6293920Smdodd	gzip -9 -c < boot_12.flp > boot_12.flp.gz
6353541Sshin
64185571Sbzboot_144.flp:
6553541Sshin	(cd ${.CURDIR}; ${MAKE} boot.flp)
6653541Sshin	mv boot.flp boot_144.flp
67254889Smarkj	gzip -9 -c < boot_144.flp > boot_144.flp.gz
68186119Sqingli
69186119Sqingliboot.flp: 
7053541Sshin	crunchgen ${.CURDIR}/boot_flp.conf
7153541Sshin	${MAKE} -f boot_flp.mk objs exe NOCRYPT=yes
7262587Sitojun	-umount ${MNT}
7353541Sshin	-umount /dev/${FLOPPY}
74148385Sume	# echo y | fdformat ${FLOPPY}
7553541Sshin	disklabel -w -B \
76197138Shrs		-b ${DESTDIR}/usr/mdec/fdboot -s ${DESTDIR}/usr/mdec/bootfd \
7762587Sitojun		/dev/r${FLOPPY} ${FDLABEL}
78211501Sanchie	newfs -c 80 -b 4096 -f 512 -i 8192 -m 0 -o space /dev/r${FLOPPY}
7953541Sshin	mount -o async /dev/${FLOPPY} ${MNT}
80151539Ssuz	mkdir ${MNT}/dev ${MNT}/stand ${MNT}/mnt
81151539Ssuz	strip -x ${.CURDIR}/../sys/compile/GENERIC/kernel
82163606Srwatson	cp ${.CURDIR}/../sys/compile/GENERIC/kernel ${MNT}/kernel
83163606Srwatson	cp ${DESTDIR}/usr/mdec/sdboot ${DESTDIR}/usr/mdec/bootsd ${MNT}/stand
8462587Sitojun	( cd ${DESTDIR}/dev ; \
8562587Sitojun		ls console tty ttyv1 null zero \
8653541Sshin		sd[0123][a-h] wd[0123][a-h] fd[01] \
87249925Sglebius		rsd[0123][a-h] rwd[0123][a-h] rfd[01] \
8853541Sshin	| cpio -dumpv ${MNT}/dev \
89207369Sbz	)
90207369Sbz	gzip -9 < boot_flp > ${MNT}/stand/sysinstall
91207369Sbz	chmod 755 ${MNT}/stand/sysinstall
92207369Sbz	ln ${MNT}/stand/sysinstall ${MNT}/stand/newfs
93207369Sbz	ln ${MNT}/stand/sysinstall ${MNT}/stand/gzip
94207369Sbz	ln ${MNT}/stand/sysinstall ${MNT}/stand/fsck
95207369Sbz.if !defined(EVIL_FLOPPY)
96207369Sbz	install -m 400 -c ${.CURDIR}/../COPYRIGHT ${MNT}/COPYRIGHT
97207369Sbz	install -m 400 -c ${.CURDIR}/../share/FAQ/DISKSPACE.FAQ \
9853541Sshin		${MNT}/DISKSPACE.FAQ
9962587Sitojun	install -m 400 -c ${.CURDIR}/../share/FAQ/RELNOTES.FreeBSD \
100215701Sdim		${MNT}/RELNOTES.FreeBSD
101207369Sbz.endif
102207369Sbz	install -m 400 -c ${.CURDIR}/../share/FAQ/TROUBLESHOOTING \
103207369Sbz		${MNT}/TROUBLESHOOTING
104215701Sdim	install -m 400 -c ${.CURDIR}/../share/FAQ/README-2.0 ${MNT}/README
105207369Sbz	touch ${MNT}/this_is_boot_flp
106195727Srwatson	-umount ${MNT}
107195727Srwatson	fsck /dev/r${FLOPPY}
10862587Sitojun	dd if=/dev/r${FLOPPY} bs=${DDBS} count=${DDCOUNT} of=boot.flp
109207369Sbz	df -k /dev/r${FLOPPY}
110207369Sbz
111207369Sbzcpio.flp:
112207369Sbz	crunchgen ${.CURDIR}/cpio_flp_1.conf
113207369Sbz	${MAKE} -f cpio_flp_1.mk objs exe NOCRYPT=yes
11462587Sitojun	for i in ${CPIO1} ; do rm -f ./$$i ; ln cpio_flp_1 ./$$i ; done
115195699Srwatson	( cd /${DESTDIR} ; ls ${CPIO2} | cpio -H newc -oa ) | cpio -ivd
116195699Srwatson	( cd ${.CURDIR} ; ls ${CPIO3} | cpio -H newc -oa ) | cpio -ivd
117303458Ssbruno	cp ${CPIO4} .
11853541Sshin	ls ${CPIO1} ${CPIO2} ${CPIO3} ${CPIO4B} | \
119207369Sbz		cpio -H newc -oa | gzip -9 | \
120195727Srwatson		dd conv=osync > cpio.flp
121185088Szec	gzip -9 -v < cpio.flp > cpio.flp.gz
122211501Sanchie	ls -l cpio.flp*
123211501Sanchie
124241916Sdelphijfloppies: boot_144.flp boot_12.flp cpio.flp
125241916Sdelphij
126175162Sobrienrelease20: 
127175162Sobrien.if !defined(RELEASEDIR)
128175162Sobrien	@echo "Do NOT invoke this target without a RELEASEDIR defined."
129303458Ssbruno	@echo "It will otherwise blow away your root directory!"
130175162Sobrien	@exit 1
131186119Sqingli.endif
132282622Shiren	( cd ${.CURDIR} ; ${MAKE} clean)
133282622Shiren	-mkdir ${RELEASEDIR}
134282622Shiren	chflags -R noschg ${RELEASEDIR}/.
135282622Shiren	rm -rf ${RELEASEDIR}/*
13653541Sshin	( cd ${.CURDIR}/.. ;  \
137215701Sdim		${MAKE} all distribute NOCRYPT=yes)
138195727Srwatson	( cd ${.CURDIR}/../etc ;  \
13978064Sume		${MAKE} release-dirs )
140195699Srwatson	( cd ${.CURDIR} ; ${MAKE} obj)
141195699Srwatson	( cd ${.CURDIR} ;  \
14253541Sshin		${MAKE} kernel DESTDIR=${RELEASEDIR}/filesys )
143171259Sdelphij	install ${COPY} -m 644 ${.CURDIR}/../sys/compile/GENERIC/kernel \
14453541Sshin		${RELEASEDIR}/filesys/kernel
14553541Sshin	( cd ${.CURDIR} ;  \
146303458Ssbruno		${MAKE} hierarchy DESTDIR=${RELEASEDIR}/filesys )
147303458Ssbruno	( cd ${.CURDIR}/../etc ; \
148185088Szec		${MAKE} distribution DESTDIR=${RELEASEDIR}/filesys \
149185088Szec			NOCRYPT=yes SHARED=copies)
15062587Sitojun	( cd ${RELEASEDIR}/filesys; \
151181803Sbz		tar cf - . | \
152207369Sbz		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bindist/bindist.)
15353541Sshin	cp ${.CURDIR}/extract.sh ${RELEASEDIR}/tarballs/bindist
154181803Sbz	( cd ${RELEASEDIR}/tarballs/bindist; ${.CURDIR}/mkchecksums.sh )
155181803Sbz	( cd ${.CURDIR} ;  \
156191688Szec		${MAKE} floppies )
157282622Shirenfoo:
158282622Shiren	( cd ${.CURDIR}/../etc ; \
159193731Szec		${MAKE} srcebones-tarball \
160181887Sjulian			DESTDIR=${RELEASEDIR}/filesys \
161193731Szec			NOCRYPT=yes SHARED=copies )
162193731Szec		
163193731Szecbar:
164193731Szec	( cd ${.CURDIR}/../etc ; \
165193731Szec		${MAKE} des-tarball \
166193731Szec			DESTDIR=${RELEASEDIR}/filesys \
167193731Szec			SHARED=copies )
168303458Ssbruno
16953541SshinEXTRADISTRIBUTIONS=	secrdist games manpages proflibs dict 
170193731SzecDISTRIBUTIONS=	bindist ${EXTRADISTRIBUTIONS}
17153541SshinMTREEFILES=	${.CURDIR}/../etc/mtree
172121161SumeSECRSRC=	src/secure src/eBones
173171259Sdelphij
17453541Sshindistribute: 
175121161Sume	-mkdir ${RELEASEDIR}
17653541Sshin	chflags -R noschg ${RELEASEDIR}/.
177299014Smarkj	rm -rf ${RELEASEDIR}/*
178121161Sume	for i in ${DISTRIBUTIONS} ; \
17953541Sshin	do \
180121161Sume	mkdir ${RELEASEDIR}/$$i ; \
181121161Sume	mtree -deU -f ${MTREEFILES}/BSD.root.dist -p ${RELEASEDIR}/$$i/ ; \
182121161Sume	mtree -deU -f ${MTREEFILES}/BSD.var.dist -p ${RELEASEDIR}/$$i/var ; \
183121161Sume	mtree -deU -f ${MTREEFILES}/BSD.usr.dist -p ${RELEASEDIR}/$$i/usr ; \
184121161Sume	done 
185197138Shrs	( cd ${.CURDIR} ;  \
186197138Shrs		${MAKE} kernel DESTDIR=${RELEASEDIR}/filesys )
187252511Shrs	install ${COPY} -m 644 ${.CURDIR}/../sys/compile/GENERIC/kernel \
188252511Shrs		${RELEASEDIR}/bindist/kernel
189252511Shrs
190252511Shrsbeforetarballs:
191252511Shrs	rm -rf ${RELEASEDIR}/manpages/usr/share/man
192252511Shrs	mv ${RELEASEDIR}/bindist/usr/share/man \
193252511Shrs		${RELEASEDIR}/manpages/usr/share/man
194197138Shrs	rm -rf ${RELEASEDIR}/games/usr/games
195252511Shrs	mv ${RELEASEDIR}/bindist/usr/games \
196252511Shrs		${RELEASEDIR}/games/usr/games
197252511Shrs	rm -rf ${RELEASEDIR}/games/usr/share/games
198252511Shrs	mv ${RELEASEDIR}/bindist/usr/share/games \
199252511Shrs		${RELEASEDIR}/games/usr/share/games
200252511Shrs	rm -rf ${RELEASEDIR}/dict/usr/share/dict
201252511Shrs	mv ${RELEASEDIR}/bindist/usr/share/dict \
202252511Shrs		${RELEASEDIR}/dict/usr/share/dict
203252511Shrs	mv ${RELEASEDIR}/bindist/usr/share/misc/airport \
204252511Shrs	   ${RELEASEDIR}/bindist/usr/share/misc/birthtoken \
205252511Shrs	   ${RELEASEDIR}/bindist/usr/share/misc/flowers \
206222728Shrs	   ${RELEASEDIR}/bindist/usr/share/misc/na.phone \
207222728Shrs	   ${RELEASEDIR}/bindist/usr/share/misc/zipcodes \
208197138Shrs		${RELEASEDIR}/dict/usr/share/misc
209121161Sume	mv ${RELEASEDIR}/bindist/usr/lib/*_p.a \
210121161Sume		${RELEASEDIR}/proflibs/usr/lib
211121161Sume	-cd ${RELEASEDIR} ; \
212121161Sume	find ${EXTRADISTRIBUTIONS} -depth -type d -print | xargs rmdir
21353541Sshin	mkdir -p ${RELEASEDIR}/secrdist/usr
21453541Sshin	cd ${RELEASEDIR}/secrdist/usr ; cvs export -r ${RELEASETAG} ${SECRSRC}
215121161Sume	cd ${RELEASEDIR}/srcdist/usr ; cvs export -r ${RELEASETAG} src
216171259Sdelphij	cd ${RELEASEDIR}/srcdist/usr/src ; rm -rf secure kerberosIV eBones
217121161Sume
218121161Sumetarballs:
219121161Sume	rm -rf ${RELEASEDIR}/tarballs
220121161Sume	mkdir ${RELEASEDIR}/tarballs
221121161Sume	for i in ${DISTRIBUTIONS} ; \
22253541Sshin	do \
22353541Sshin		mkdir ${RELEASEDIR}/tarballs/$${i} ; \
22453541Sshin		( cd ${RELEASEDIR}/$${i}; \
22553541Sshin			tar cf - . | \
22653541Sshin			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/$$i/$${i}.) ; \
227171259Sdelphij	( cd ${RELEASEDIR}/tarballs/$${i}; sh -e ${.CURDIR}/mkchecksums.sh ) ; \
22853541Sshin	cp ${.CURDIR}/extract.sh ${RELEASEDIR}/tarballs/$${i} ;\
229292566Skp	done
230292566Skp
23153541Sshin.include <bsd.prog.mk>
232121161Sume