]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/boot/pc98/loader/Makefile
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / boot / pc98 / loader / Makefile
1 # $FreeBSD$
2
3 .include <bsd.own.mk>
4 MK_SSP=         no
5
6 LOADER?=        loader
7 PROG=           ${LOADER}.sym
8 INTERNALPROG=
9 NEWVERSWHAT=    "bootstrap loader" pc98
10
11 # architecture-specific loader code
12 SRCS=           main.c conf.c vers.c
13 .PATH:          ${.CURDIR}/../../i386/loader
14
15 # Enable PXE TFTP or NFS support, not both.
16 .if defined(LOADER_TFTP_SUPPORT)
17 CFLAGS+=        -DLOADER_TFTP_SUPPORT
18 .else
19 CFLAGS+=        -DLOADER_NFS_SUPPORT
20 .endif
21
22 # Include bcache code.
23 HAVE_BCACHE=    yes
24
25 # Enable PnP and ISA-PnP code.
26 HAVE_PNP=       yes
27 HAVE_ISABUS=    yes
28
29 .if ${MK_FORTH} != "no"
30 # Enable BootForth
31 BOOT_FORTH=     yes
32 CFLAGS+=        -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
33 LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
34 .endif
35
36 .if defined(LOADER_BZIP2_SUPPORT)
37 CFLAGS+=        -DLOADER_BZIP2_SUPPORT
38 .endif
39 .if !defined(LOADER_NO_GZIP_SUPPORT)
40 CFLAGS+=        -DLOADER_GZIP_SUPPORT
41 .endif
42
43 # Always add MI sources
44 .PATH:          ${.CURDIR}/../../common
45 .include        "${.CURDIR}/../../common/Makefile.inc"
46 CFLAGS+=        -I${.CURDIR}/../../common
47 CFLAGS+=        -I${.CURDIR}/../../i386
48 CFLAGS+=        -I.
49
50 CLEANFILES=     vers.c ${LOADER} ${LOADER}.bin loader.help
51
52 CFLAGS+=        -Wall
53 LDFLAGS=        -static -Ttext 0x0
54
55 # pc98 standalone support library
56 LIBPC98=        ${.OBJDIR}/../libpc98/libpc98.a
57 CFLAGS+=        -I${.CURDIR}/..
58
59 LIBSTAND=       ${.OBJDIR}/../../libstand32/libstand.a
60
61 # BTX components
62 CFLAGS+=        -I${.CURDIR}/../btx/lib
63
64 # Debug me!
65 #CFLAGS+=       -g
66 #LDFLAGS+=      -g
67
68 # Pick up ../Makefile.inc early.
69 .include <bsd.init.mk>
70
71 vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version
72         sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT}
73
74 ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
75         btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
76                 -b ${BTXKERN} ${LOADER}.bin
77
78 ${LOADER}.bin: ${LOADER}.sym
79         cp ${.ALLSRC} ${.TARGET}
80         strip -R .comment -R .note ${.TARGET}
81
82 loader.help: help.common help.pc98
83         cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
84
85 FILES=  ${LOADER}
86 # XXX INSTALLFLAGS_loader= -b
87 FILESMODE_${LOADER}= ${BINMODE} -b
88
89 .PATH: ${.CURDIR}/../../forth
90 .include        "${.CURDIR}/../../forth/Makefile.inc"
91
92 .if !exists(${DESTDIR}/boot/loader.rc)
93 FILES+= ${.CURDIR}/../../i386/loader/loader.rc
94 .endif
95 .if !exists(${DESTDIR}/boot/menu.rc)
96 FILES+= menu.rc
97 .endif
98
99 # XXX crt0.o needs to be first for pxeboot(8) to work
100 OBJS=   ${BTXCRT}
101
102 DPADD=  ${LIBFICL} ${LIBPC98} ${LIBSTAND}
103 LDADD=  ${LIBFICL} ${LIBPC98} ${LIBSTAND}
104
105 .include <bsd.prog.mk>