Makefile revision 125581
1193323Sed# $FreeBSD: head/sys/boot/i386/loader/Makefile 125581 2004-02-07 23:30:45Z ru $
2193323Sed
3193323SedNEWVERSWHAT=	"bootstrap loader" i386
4193323Sed
5193323Sed# architecture-specific loader code
6193323SedSRCS=		main.c conf.c vers.c
7193323Sed
8193323Sed# Enable PXE TFTP or NFS support, not both.
9193323Sed.if defined(LOADER_TFTP_SUPPORT)
10193323SedCFLAGS+=	-DLOADER_TFTP_SUPPORT
11193323Sed.else
12193323SedCFLAGS+=	-DLOADER_NFS_SUPPORT
13193323Sed.endif
14193323Sed
15193323Sed# Enable PnP and ISA-PnP code.
16193323SedHAVE_PNP=	yes
17193323SedHAVE_ISABUS=	yes
18193323Sed
19193323Sed.if !defined(NOFORTH)
20193323Sed# Enable BootForth
21193323SedBOOT_FORTH=	yes
22203954SrdivackyCFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
23226633Sdim.if exists(${.OBJDIR}/../../ficl/libficl.a)
24212904SdimLIBFICL=	${.OBJDIR}/../../ficl/libficl.a
25193323Sed.else
26249423SdimLIBFICL=	${.CURDIR}/../../ficl/libficl.a
27249423Sdim.endif
28249423Sdim.endif
29249423Sdim
30251662Sdim.if defined(LOADER_BZIP2_SUPPORT)
31249423SdimCFLAGS+=	-DLOADER_BZIP2_SUPPORT
32193323Sed.endif
33193323Sed.if !defined(LOADER_NO_GZIP_SUPPORT)
34193323SedCFLAGS+=	-DLOADER_GZIP_SUPPORT
35193323Sed.endif
36193323Sed
37198892Srdivacky# Always add MI sources 
38193323Sed.PATH:		${.CURDIR}/../../common
39218893Sdim.include	"${.CURDIR}/../../common/Makefile.inc"
40218893SdimCFLAGS+=	-I${.CURDIR}/../../common
41218893SdimCFLAGS+=	-I.
42193323Sed
43226633SdimCLEANFILES=	vers.c loader loader.list loader.bin loader.sym loader.help
44226633Sdim
45193323SedCFLAGS+=	-Wall
46226633SdimLDFLAGS=	-nostdlib -static -Ttext 0x0
47226633Sdim
48226633Sdim# i386 standalone support library
49226633SdimLIBI386=	${.OBJDIR}/../libi386/libi386.a
50226633SdimCFLAGS+=	-I${.CURDIR}/..
51226633Sdim
52226633Sdim# BTX components
53226633SdimCFLAGS+=	-I${.CURDIR}/../btx/lib
54243830Sdim
55193323Sed# Debug me!
56193323Sed#CFLAGS+=	-g
57193323Sed#LDFLAGS+=	-g
58193323Sed
59212904Sdim# Pick up ../Makefile.inc early.
60218893Sdim.include <bsd.init.mk>
61193323Sed
62193323Sedvers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
63193323Sed	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
64212904Sdim
65212904Sdimloader: loader.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
66212904Sdim	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
67212904Sdim		-b ${BTXKERN} loader.bin
68212904Sdim#	/usr/bin/kzip ${.TARGET}
69212904Sdim#	mv ${.TARGET}.kz ${.TARGET}
70251662Sdim
71251662Sdimloader.bin: loader.sym
72251662Sdim	cp ${.ALLSRC} ${.TARGET}
73251662Sdim	strip -R .comment -R .note ${.TARGET}
74251662Sdim
75251662Sdimloader.help: help.common help.i386
76251662Sdim	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
77212904Sdim
78212904Sdim.PATH: ${.CURDIR}/../../forth 
79218893SdimFILES=	loader loader.help loader.4th support.4th loader.conf
80218893SdimFILES+= screen.4th frames.4th beastie.4th
81218893Sdim# XXX INSTALLFLAGS_loader= -b
82218893SdimFILESMODE_loader= ${BINMODE} -b
83218893SdimFILESDIR_loader.conf=	/boot/defaults
84218893Sdim
85218893Sdim.if !exists(${DESTDIR}/boot/loader.rc)
86218893SdimFILES+=	${.CURDIR}/loader.rc
87218893Sdim.endif
88218893Sdim
89218893SdimOBJS=	${SRCS:N*.h:R:S/$/.o/g}
90218893Sdim
91226633Sdimloader.sym: ${OBJS} ${LIBFICL} ${LIBI386} ${LIBSTAND}
92226633Sdim	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} \
93226633Sdim		${LIBFICL} ${LIBI386} ${LIBSTAND}
94226633Sdim
95226633Sdim.if ${MACHINE_ARCH} == "amd64"
96263508Sdimbeforedepend ${OBJS}: machine
97263508SdimCLEANFILES+=	machine
98263508Sdimmachine:
99226633Sdim	ln -sf ${.CURDIR}/../../../i386/include machine
100226633Sdim.endif
101263508Sdim
102226633Sdim.include <bsd.prog.mk>
103226633Sdim