144 lines · 3.4 KB · Makefile
RawDownload
# build pxe loaders (from pxe + pbs) and disk loaders (disk + usb)objtype=386</$objtype/mkfile TARG=\	9boot\	9bootpbs\	9load\	9loadusb\ BIN=/386 PXEBASE=0x80007c00PBSBASE=0x80010000# assume we've been decompressed into place by our header.# BOOTBASE must match expand.c's Kerneladdr|KZERO; +0x20 allows for a.out headerBOOTBASE=0x80900020EXTRACOPIES= SFX=''				# defaultsBASE=boot ONPROC=$NPROCNPROC=1				# don't build all boot flavours at once %.$O:	%.s	$AS $AFLAGS $stem.s %.$O:	%.c	$CC $CFLAGS $stem.c all:V: $TARG install:V: 9boot.install 9bootpbs.install 9load.install 9loadusb.install pcclean pclean:V:	@ { cd ../pc && mk clean }clean:V:	rm -f 8.* bootmain bootmain.c	@ {		rfork ne; bind bootmkfile mkfile		CONF=bootpbs SFX=pbs mk clean		BASE=load CONF=loadusb mk clean		BASE=load CONF=loadusb SFX=pxe mk clean		for (BASE in boot load)			CONF=$BASE mk clean	} %.calls:	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PXEBASE CONF=boot mk $target } ## pxe-loaded pxe loader#9bootmain 9bootmaindebug:V:	cp boot bootmain	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$BOOTBASE CONF=bootmain NPROC=$ONPROC	mk all } # creating $O.expand also creates $O.expanddebug, out of mk's sight9boot:D: $O.expand 9bootmaindebug	cp 9bootmaindebug 9bootdebug		# for 9boot.install	{ cat $O.expand; strip -o /fd/1 9bootmaindebug | gzip -9 } >$target # creating 9boot also creates 9bootdebug, out of mk's sight9boot.install:V: 9boot	cp 9boot 9bootdebug /$objtype/ &	for(i in $EXTRACOPIES)		{ 9fs $i && cp $prereq /n/$i/$objtype && echo -n $i... & }	wait	echo ## disk-resident pxe loader, loaded by pbs#9bootpbs:V:	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PBSBASE CONF=bootpbs SFX=pbs	NPROC=$ONPROC START=l16r.$O; mk all } 9bootpbs.install:V: 9bootpbs	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PBSBASE CONF=bootpbs SFX=pbs	NPROC=$ONPROC START=l16r.$O; mk install } ## disk-resident disk loaders, loaded by pbs#9load:V:	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PBSBASE BASE=load CONF=load	NPROC=$ONPROC START=l16r.$O; mk all } 9load.install:V: 9load	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PBSBASE BASE=load CONF=load	NPROC=$ONPROC START=l16r.$O; mk install } 9loadusb:V:	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PBSBASE BASE=load CONF=loadusb	NPROC=$ONPROC START=l16r.$O; mk all } 9loadusb.install:V: 9loadusb	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PBSBASE BASE=load CONF=loadusb	NPROC=$ONPROC START=l16r.$O; mk install } ## pxe-loaded disk loaders for convenient debugging only#9loadpxe:V:	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PXEBASE BASE=load CONF=loadpxe SFX=pxe	NPROC=$ONPROC START=l16r.$O; mk all } 9loadpxe.install:V: 9loadpxe	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PXEBASE BASE=load CONF=loadpxe SFX=pxe	NPROC=$ONPROC START=l16r.$O; mk install } 9loadusbpxe:V:	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PXEBASE BASE=load CONF=loadusbpxe SFX=pxe	NPROC=$ONPROC START=l16r.$O; mk all } 9loadusbpxe.install:V: 9loadusbpxe	@ { rfork ne; bind bootmkfile mkfile	KTZERO=$PXEBASE BASE=load CONF=loadusbpxe SFX=pxe	NPROC=$ONPROC START=l16r.$O; mk install } ## 8.expand: the decompressing header for 9boot## for pbs, 0x10000 (64K), for pxe, 0x7c00 (31K)LOADADDR=0x7c00 cga.tiny.$O expand.$O: expand.h inflate.guts.c $O.expand: ldecomp.$O cga.tiny.$O expand.$O	$LD -o $target^debug -R1 -T$LOADADDR $prereq	$LD -o $target   -H3 -R1 -T$LOADADDR $prereq