diff options
author | grehan <grehan@FreeBSD.org> | 2003-12-10 09:16:22 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2003-12-10 09:16:22 +0000 |
commit | 2ae731fbef7fff10984634abe7cd1f0d58d14a19 (patch) | |
tree | 0e100af4cdb18eec4840255bc6caf260f2faa81c /sys/boot/powerpc | |
parent | a9f09ccdea51828c2a87b402dd5d4ce759250d4f (diff) | |
download | FreeBSD-src-2ae731fbef7fff10984634abe7cd1f0d58d14a19.zip FreeBSD-src-2ae731fbef7fff10984634abe7cd1f0d58d14a19.tar.gz |
- Bring Makefile up to rev with sparc64 in terms of config options and rules
- Move loader relocation up to 0x1C00000. This is in line with OSX bootx,
and allows more space for boot-time modules/ramdisks without conflicting
with OpenFirmware's use of RAM
Diffstat (limited to 'sys/boot/powerpc')
-rw-r--r-- | sys/boot/powerpc/loader/Makefile | 118 | ||||
-rw-r--r-- | sys/boot/powerpc/ofw/Makefile | 118 |
2 files changed, 130 insertions, 106 deletions
diff --git a/sys/boot/powerpc/loader/Makefile b/sys/boot/powerpc/loader/Makefile index dfc52ee..0560dd5 100644 --- a/sys/boot/powerpc/loader/Makefile +++ b/sys/boot/powerpc/loader/Makefile @@ -8,38 +8,57 @@ NEWVERSWHAT= "bootstrap loader" OpenFirmware/PowerPC BINDIR?= /boot INSTALLFLAGS= -b -LOADER_DISK_SUPPORT?= yes -LOADER_NET_SUPPORT?= yes - -CFLAGS+= -ffreestanding -# load address -RELOC?= 0x6c0000 -CFLAGS+= -DRELOC=${RELOC} - # architecture-specific loader code -SRCS= conf.c metadata.c +SRCS= conf.c metadata.c vers.c start.c -# Pull in common loader code -.PATH: ${.CURDIR}/../../ofw/common -.include <${.CURDIR}/../../ofw/common/Makefile.inc> +LOADER_DISK_SUPPORT?= yes +LOADER_UFS_SUPPORT?= yes +LOADER_CD9660_SUPPORT?= yes +LOADER_EXT2FS_SUPPORT?= no +LOADER_NET_SUPPORT?= yes +LOADER_NFS_SUPPORT?= yes +LOADER_TFTP_SUPPORT?= yes +LOADER_GZIP_SUPPORT?= yes +LOADER_BZIP2_SUPPORT?= no .if defined(LOADER_DISK_SUPPORT) CFLAGS+= -DLOADER_DISK_SUPPORT .endif +.if ${LOADER_UFS_SUPPORT} == "yes" +CFLAGS+= -DLOADER_UFS_SUPPORT +.endif +.if ${LOADER_CD9660_SUPPORT} == "yes" +CFLAGS+= -DLOADER_CD9660_SUPPORT +.endif +.if ${LOADER_EXT2FS_SUPPORT} == "yes" +CFLAGS+= -DLOADER_EXT2FS_SUPPORT +.endif .if defined(LOADER_NET_SUPPORT) CFLAGS+= -DLOADER_NET_SUPPORT .endif +.if ${LOADER_NFS_SUPPORT} == "yes" +CFLAGS+= -DLOADER_NFS_SUPPORT +.endif +.if ${LOADER_TFTP_SUPPORT} == "yes" +CFLAGS+= -DLOADER_TFTP_SUPPORT +.endif +.if ${LOADER_GZIP_SUPPORT} == "yes" +CFLAGS+= -DLOADER_GZIP_SUPPORT +.endif +.if ${LOADER_BZIP2_SUPPORT} == "yes" +CFLAGS+= -DLOADER_BZIP2_SUPPORT +.endif -###.if !defined(NOFORTH) -#### Enable BootForth -###BOOT_FORTH= yes -###CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc -###.if exists(${.OBJDIR}/../../ficl/libficl.a) -###LIBFICL= ${.OBJDIR}/../../ficl/libficl.a -###.else -###LIBFICL= ${.CURDIR}/../../ficl/libficl.a -###.endif -###.endif +.if !defined(NOFORTH) +# Enable BootForth +BOOT_FORTH= yes +CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc +.if exists(${.OBJDIR}/../../ficl/libficl.a) +LIBFICL= ${.OBJDIR}/../../ficl/libficl.a +.else +LIBFICL= ${.CURDIR}/../../ficl/libficl.a +.endif +.endif # Always add MI sources .PATH: ${.CURDIR}/../../common @@ -47,10 +66,18 @@ CFLAGS+= -DLOADER_NET_SUPPORT CFLAGS+= -I${.CURDIR}/../../common CFLAGS+= -I${.CURDIR}/../../.. -I. -CLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help +CLEANFILES+= vers.c ${BASE}.help +CFLAGS+= -ffreestanding +# load address +RELOC?= 0x1C00000 +CFLAGS+= -DRELOC=${RELOC} LDFLAGS= -nostdlib -static -Ttext ${RELOC} +# Pull in common loader code +.PATH: ${.CURDIR}/../../ofw/common +.include <${.CURDIR}/../../ofw/common/Makefile.inc> + # OpenFirmware standalone support library LIBOFW= ${.OBJDIR}/../../ofw/libofw/libofw.a CFLAGS+= -I${.CURDIR}/../../ofw/libofw @@ -66,50 +93,35 @@ LIBSTAND= -lstand .endif CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ -# OpenFirmware is expecting ELF components -CFLAGS+= -elf +LDADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND} # Debug me! CFLAGS+= -g LDFLAGS+= -g -vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version +vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} - ${CC} -c vers.c ${BASE}.help: help.common help.ofw - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} + cat ${.ALLSRC} | \ + awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} + +.PATH: ${.CURDIR}/../../forth +FILES= ${BASE}.help loader.4th support.4th loader.conf +FILESDIR_loader.conf= /boot/defaults -beforeinstall: -.if exists(${.OBJDIR}/loader.help) - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot -.else - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/${BASE}.help ${DESTDIR}/boot -.endif .if !exists(${DESTDIR}/boot/loader.rc) - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot +FILES+= loader.rc .endif - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults - -${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} start.o vers.o - ${LD} ${LDFLAGS} -o ${.TARGET} start.o ${OBJS} \ - vers.o ${LIBFICL} ${LIBOFW} ${LIBSTAND} - -machine: - ln -sf ${.CURDIR}/../../../powerpc/include machine # Cannot use ${OBJS} above this line .include <bsd.prog.mk> +.if exists(${.CURDIR}/../../../powerpc/include) beforedepend ${OBJS}: machine -CLEANFILES+= machine setdefs.h setdef0.c setdef1.c setdef0.o setdef1.o \ - start.o +machine: + ln -sf ${.CURDIR}/../../../powerpc/include machine +.endif + +CLEANFILES+= machine diff --git a/sys/boot/powerpc/ofw/Makefile b/sys/boot/powerpc/ofw/Makefile index dfc52ee..0560dd5 100644 --- a/sys/boot/powerpc/ofw/Makefile +++ b/sys/boot/powerpc/ofw/Makefile @@ -8,38 +8,57 @@ NEWVERSWHAT= "bootstrap loader" OpenFirmware/PowerPC BINDIR?= /boot INSTALLFLAGS= -b -LOADER_DISK_SUPPORT?= yes -LOADER_NET_SUPPORT?= yes - -CFLAGS+= -ffreestanding -# load address -RELOC?= 0x6c0000 -CFLAGS+= -DRELOC=${RELOC} - # architecture-specific loader code -SRCS= conf.c metadata.c +SRCS= conf.c metadata.c vers.c start.c -# Pull in common loader code -.PATH: ${.CURDIR}/../../ofw/common -.include <${.CURDIR}/../../ofw/common/Makefile.inc> +LOADER_DISK_SUPPORT?= yes +LOADER_UFS_SUPPORT?= yes +LOADER_CD9660_SUPPORT?= yes +LOADER_EXT2FS_SUPPORT?= no +LOADER_NET_SUPPORT?= yes +LOADER_NFS_SUPPORT?= yes +LOADER_TFTP_SUPPORT?= yes +LOADER_GZIP_SUPPORT?= yes +LOADER_BZIP2_SUPPORT?= no .if defined(LOADER_DISK_SUPPORT) CFLAGS+= -DLOADER_DISK_SUPPORT .endif +.if ${LOADER_UFS_SUPPORT} == "yes" +CFLAGS+= -DLOADER_UFS_SUPPORT +.endif +.if ${LOADER_CD9660_SUPPORT} == "yes" +CFLAGS+= -DLOADER_CD9660_SUPPORT +.endif +.if ${LOADER_EXT2FS_SUPPORT} == "yes" +CFLAGS+= -DLOADER_EXT2FS_SUPPORT +.endif .if defined(LOADER_NET_SUPPORT) CFLAGS+= -DLOADER_NET_SUPPORT .endif +.if ${LOADER_NFS_SUPPORT} == "yes" +CFLAGS+= -DLOADER_NFS_SUPPORT +.endif +.if ${LOADER_TFTP_SUPPORT} == "yes" +CFLAGS+= -DLOADER_TFTP_SUPPORT +.endif +.if ${LOADER_GZIP_SUPPORT} == "yes" +CFLAGS+= -DLOADER_GZIP_SUPPORT +.endif +.if ${LOADER_BZIP2_SUPPORT} == "yes" +CFLAGS+= -DLOADER_BZIP2_SUPPORT +.endif -###.if !defined(NOFORTH) -#### Enable BootForth -###BOOT_FORTH= yes -###CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc -###.if exists(${.OBJDIR}/../../ficl/libficl.a) -###LIBFICL= ${.OBJDIR}/../../ficl/libficl.a -###.else -###LIBFICL= ${.CURDIR}/../../ficl/libficl.a -###.endif -###.endif +.if !defined(NOFORTH) +# Enable BootForth +BOOT_FORTH= yes +CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc +.if exists(${.OBJDIR}/../../ficl/libficl.a) +LIBFICL= ${.OBJDIR}/../../ficl/libficl.a +.else +LIBFICL= ${.CURDIR}/../../ficl/libficl.a +.endif +.endif # Always add MI sources .PATH: ${.CURDIR}/../../common @@ -47,10 +66,18 @@ CFLAGS+= -DLOADER_NET_SUPPORT CFLAGS+= -I${.CURDIR}/../../common CFLAGS+= -I${.CURDIR}/../../.. -I. -CLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help +CLEANFILES+= vers.c ${BASE}.help +CFLAGS+= -ffreestanding +# load address +RELOC?= 0x1C00000 +CFLAGS+= -DRELOC=${RELOC} LDFLAGS= -nostdlib -static -Ttext ${RELOC} +# Pull in common loader code +.PATH: ${.CURDIR}/../../ofw/common +.include <${.CURDIR}/../../ofw/common/Makefile.inc> + # OpenFirmware standalone support library LIBOFW= ${.OBJDIR}/../../ofw/libofw/libofw.a CFLAGS+= -I${.CURDIR}/../../ofw/libofw @@ -66,50 +93,35 @@ LIBSTAND= -lstand .endif CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ -# OpenFirmware is expecting ELF components -CFLAGS+= -elf +LDADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND} # Debug me! CFLAGS+= -g LDFLAGS+= -g -vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version +vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} - ${CC} -c vers.c ${BASE}.help: help.common help.ofw - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} + cat ${.ALLSRC} | \ + awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} + +.PATH: ${.CURDIR}/../../forth +FILES= ${BASE}.help loader.4th support.4th loader.conf +FILESDIR_loader.conf= /boot/defaults -beforeinstall: -.if exists(${.OBJDIR}/loader.help) - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot -.else - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/${BASE}.help ${DESTDIR}/boot -.endif .if !exists(${DESTDIR}/boot/loader.rc) - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot +FILES+= loader.rc .endif - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ - ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults - -${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} start.o vers.o - ${LD} ${LDFLAGS} -o ${.TARGET} start.o ${OBJS} \ - vers.o ${LIBFICL} ${LIBOFW} ${LIBSTAND} - -machine: - ln -sf ${.CURDIR}/../../../powerpc/include machine # Cannot use ${OBJS} above this line .include <bsd.prog.mk> +.if exists(${.CURDIR}/../../../powerpc/include) beforedepend ${OBJS}: machine -CLEANFILES+= machine setdefs.h setdef0.c setdef1.c setdef0.o setdef1.o \ - start.o +machine: + ln -sf ${.CURDIR}/../../../powerpc/include machine +.endif + +CLEANFILES+= machine |