Index: sys/boot/i386/Makefile =================================================================== --- sys/boot/i386/Makefile (revision 232696) +++ sys/boot/i386/Makefile (working copy) @@ -2,8 +2,8 @@ .include -SUBDIR= mbr pmbr boot0 boot0sio btx boot2 cdboot gptboot kgzldr \ - libi386 libfirewire loader +SUBDIR= mbr pmbr boot0 boot0sio btx boot2 boot2ufs1 cdboot gptboot \ + kgzldr libi386 libfirewire loader # special boot programs, 'self-extracting boot2+loader' SUBDIR+= pxeldr Index: sys/boot/i386/boot2/Makefile =================================================================== --- sys/boot/i386/boot2/Makefile (revision 232696) +++ sys/boot/i386/boot2/Makefile (working copy) @@ -2,8 +2,10 @@ .include -FILES= boot boot1 boot2 +FILES= boot${BOOT_SUFFIX} boot2${BOOT2_SUFFIX} +SRCDIR= ${.CURDIR}/../boot2 + NM?= nm # A value of 0x80 enables LBA support. @@ -18,10 +20,27 @@ ORG1= 0x7c00 ORG2= 0x2000 # Decide level of UFS support. +# XXX Currently clang overflows UFS1+UFS2 boot2. +.if ${MK_CLANG} != "no" && \ + (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang") +BOOT2_UFS?= UFS2_ONLY +.else BOOT2_UFS?= UFS1_AND_UFS2 -#BOOT2_UFS?= UFS2_ONLY -#BOOT2_UFS?= UFS1_ONLY +.endif +.if ${BOOT2_UFS} != UFS1_ONLY +FILES+= boot1 +.endif +.if ${BOOT2_UFS} == UFS1_ONLY +BOOT_SUFFIX= .ufs1 +BOOT2_SUFFIX= ufs1 +.elif ${BOOT2_UFS} == UFS2_ONLY +BOOT_SUFFIX= .ufs2 +BOOT2_SUFFIX= ufs2 +LINKS= ${BINDIR}/boot${BOOT_SUFFIX} ${BINDIR}/boot \ + ${BINDIR}/boot2${BOOT2_SUFFIX} ${BINDIR}/boot2 +.endif + CFLAGS= -Os \ -fno-guess-branch-probability \ -fomit-frame-pointer \ @@ -48,10 +67,10 @@ LDFLAGS=-static -N --gc-sections # Pick up ../Makefile.inc early. .include -CLEANFILES= boot +CLEANFILES= boot${BOOT_SUFFIX} -boot: boot1 boot2 - cat boot1 boot2 > boot +boot${BOOT_SUFFIX}: boot1 boot2${BOOT2_SUFFIX} + cat ${.ALLSRC} > ${.TARGET} CLEANFILES+= boot1 boot1.out boot1.o @@ -61,10 +80,10 @@ boot1: boot1.out boot1.out: boot1.o ${LD} ${LDFLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} boot1.o -CLEANFILES+= boot2 boot2.ld boot2.ldr boot2.bin boot2.out boot2.o \ - boot2.s boot2.s.tmp boot2.h sio.o +CLEANFILES+= boot2${BOOT2_SUFFIX} boot2.ld boot2.ldr boot2.bin boot2.out \ + boot2.o boot2.s boot2.s.tmp boot2.h sio.o -boot2: boot2.ld +boot2${BOOT2_SUFFIX}: boot2.ld @set -- `ls -l boot2.ld`; x=$$((7680-$$5)); \ echo "$$x bytes available"; test $$x -ge 0 dd if=boot2.ld of=${.TARGET} obs=7680 conv=osync @@ -88,7 +107,7 @@ boot2.o: boot2.s SRCS= boot2.c boot2.h boot2.s: boot2.c boot2.h ${.CURDIR}/../../common/ufsread.c - ${CC} ${CFLAGS} -S -o boot2.s.tmp ${.CURDIR}/boot2.c + ${CC} ${CFLAGS} -S -o boot2.s.tmp ${SRCDIR}/boot2.c sed -e '/align/d' -e '/nop/d' < boot2.s.tmp > boot2.s rm -f boot2.s.tmp Index: sys/boot/i386/boot2ufs1/Makefile =================================================================== --- sys/boot/i386/boot2ufs1/Makefile (revision 0) +++ sys/boot/i386/boot2ufs1/Makefile (working copy) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../boot2 + +BOOT2_UFS= UFS1_ONLY + +.include "${.CURDIR}/../boot2/Makefile" Property changes on: sys/boot/i386/boot2ufs1/Makefile ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property