8 NEWVERSWHAT= "Open Firmware loader" ${MACHINE_ARCH}
12 # Architecture-specific loader code
13 SRCS= conf.c metadata.c vers.c start.c
16 LOADER_DISK_SUPPORT?= yes
17 LOADER_UFS_SUPPORT?= yes
18 LOADER_CD9660_SUPPORT?= yes
19 LOADER_EXT2FS_SUPPORT?= no
20 LOADER_NET_SUPPORT?= yes
21 LOADER_NFS_SUPPORT?= yes
22 LOADER_TFTP_SUPPORT?= no
23 LOADER_GZIP_SUPPORT?= yes
24 LOADER_BZIP2_SUPPORT?= no
25 LOADER_FDT_SUPPORT?= yes
27 .if ${LOADER_DISK_SUPPORT} == "yes"
28 CFLAGS+= -DLOADER_DISK_SUPPORT
30 .if ${LOADER_UFS_SUPPORT} == "yes"
31 CFLAGS+= -DLOADER_UFS_SUPPORT
33 .if ${LOADER_CD9660_SUPPORT} == "yes"
34 CFLAGS+= -DLOADER_CD9660_SUPPORT
36 .if ${LOADER_EXT2FS_SUPPORT} == "yes"
37 CFLAGS+= -DLOADER_EXT2FS_SUPPORT
39 .if ${LOADER_GZIP_SUPPORT} == "yes"
40 CFLAGS+= -DLOADER_GZIP_SUPPORT
42 .if ${LOADER_BZIP2_SUPPORT} == "yes"
43 CFLAGS+= -DLOADER_BZIP2_SUPPORT
45 .if ${LOADER_NET_SUPPORT} == "yes"
46 CFLAGS+= -DLOADER_NET_SUPPORT
48 .if ${LOADER_NFS_SUPPORT} == "yes"
49 CFLAGS+= -DLOADER_NFS_SUPPORT
51 .if ${LOADER_TFTP_SUPPORT} == "yes"
52 CFLAGS+= -DLOADER_TFTP_SUPPORT
54 .if ${LOADER_FDT_SUPPORT} == "yes"
56 CFLAGS+= -I${.CURDIR}/../../fdt
57 CFLAGS+= -I${.OBJDIR}/../../fdt
58 CFLAGS+= -I${.CURDIR}/../../../contrib/libfdt
59 CFLAGS+= -DLOADER_FDT_SUPPORT
60 LIBFDT= ${.OBJDIR}/../../fdt/libfdt.a
63 .if ${MK_FORTH} != "no"
66 CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
67 LIBFICL= ${.OBJDIR}/../../ficl/libficl.a
70 # Always add MI sources
71 .PATH: ${.CURDIR}/../../common ${.CURDIR}/../../../libkern
72 .include "${.CURDIR}/../../common/Makefile.inc"
73 CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../..
76 CLEANFILES+= vers.c loader.help
78 CFLAGS+= -ffreestanding -msoft-float
79 # load address. set in linker script
81 CFLAGS+= -DRELOC=${RELOC}
83 LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc
85 # Pull in common loader code
86 .PATH: ${.CURDIR}/../../ofw/common
87 .include "${.CURDIR}/../../ofw/common/Makefile.inc"
89 # Open Firmware standalone support library
90 LIBOFW= ${.OBJDIR}/../../ofw/libofw/libofw.a
91 CFLAGS+= -I${.CURDIR}/../../ofw/libofw
93 # where to get libstand from
94 LIBSTAND= ${.OBJDIR}/../../libstand32/libstand.a
95 CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
97 DPADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND}
98 LDADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND}
100 vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
101 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
103 loader.help: help.common help.ofw ${.CURDIR}/../../fdt/help.fdt
105 awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
107 .PATH: ${.CURDIR}/../../forth
108 .include "${.CURDIR}/../../forth/Makefile.inc"
110 FILES+= loader.rc menu.rc
112 .include <bsd.prog.mk>