Makefile revision 125722
1112158Sdas# $FreeBSD: head/sys/boot/i386/loader/Makefile 125722 2004-02-11 22:25:25Z ru $
2112158Sdas
3112158SdasPROG=		loader.sym
4112158SdasINTERNALPROG=
5112158SdasNEWVERSWHAT=	"bootstrap loader" i386
6112158Sdas
7112158Sdas# architecture-specific loader code
8112158SdasSRCS=		main.c conf.c vers.c
9112158Sdas
10112158Sdas# Enable PXE TFTP or NFS support, not both.
11112158Sdas.if defined(LOADER_TFTP_SUPPORT)
12112158SdasCFLAGS+=	-DLOADER_TFTP_SUPPORT
13112158Sdas.else
14112158SdasCFLAGS+=	-DLOADER_NFS_SUPPORT
15112158Sdas.endif
16112158Sdas
17112158Sdas# Enable PnP and ISA-PnP code.
18112158SdasHAVE_PNP=	yes
19112158SdasHAVE_ISABUS=	yes
20112158Sdas
21112158Sdas.if !defined(NOFORTH)
22112158Sdas# Enable BootForth
23112158SdasBOOT_FORTH=	yes
24112158SdasCFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
25112158SdasLIBFICL=	${.OBJDIR}/../../ficl/libficl.a
26112158Sdas.endif
27112158Sdas
28112158Sdas.if defined(LOADER_BZIP2_SUPPORT)
29165743SdasCFLAGS+=	-DLOADER_BZIP2_SUPPORT
30165743Sdas.endif
31112158Sdas.if !defined(LOADER_NO_GZIP_SUPPORT)
32112158SdasCFLAGS+=	-DLOADER_GZIP_SUPPORT
33112158Sdas.endif
34112158Sdas
35112158Sdas# Always add MI sources 
36112158Sdas.PATH:		${.CURDIR}/../../common
37112158Sdas.include	"${.CURDIR}/../../common/Makefile.inc"
38112158SdasCFLAGS+=	-I${.CURDIR}/../../common
39112158SdasCFLAGS+=	-I.
40112158Sdas
41112158SdasCLEANFILES=	vers.c loader loader.list loader.bin loader.help
42112158Sdas
43112158SdasCFLAGS+=	-Wall
44112158SdasLDFLAGS=	-static -Ttext 0x0
45112158Sdas
46112158Sdas# i386 standalone support library
47112158SdasLIBI386=	${.OBJDIR}/../libi386/libi386.a
48112158SdasCFLAGS+=	-I${.CURDIR}/..
49112158Sdas
50112158Sdas# BTX components
51112158SdasCFLAGS+=	-I${.CURDIR}/../btx/lib
52112158Sdas
53112158Sdas# Debug me!
54112158Sdas#CFLAGS+=	-g
55112158Sdas#LDFLAGS+=	-g
56112158Sdas
57112158Sdas# Pick up ../Makefile.inc early.
58112158Sdas.include <bsd.init.mk>
59112158Sdas
60112158Sdasvers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
61	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
62
63loader: loader.bin ${BTXLDR} ${BTXKERN}
64	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
65		-b ${BTXKERN} loader.bin
66
67loader.bin: loader.sym
68	cp ${.ALLSRC} ${.TARGET}
69	strip -R .comment -R .note ${.TARGET}
70
71loader.help: help.common help.i386
72	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
73
74.PATH: ${.CURDIR}/../../forth 
75FILES=	loader loader.help loader.4th support.4th loader.conf
76FILES+= screen.4th frames.4th beastie.4th
77# XXX INSTALLFLAGS_loader= -b
78FILESMODE_loader= ${BINMODE} -b
79FILESDIR_loader.conf=	/boot/defaults
80
81.if !exists(${DESTDIR}/boot/loader.rc)
82FILES+=	${.CURDIR}/loader.rc
83.endif
84
85DPADD=	${BTXCRT} ${LIBFICL} ${LIBI386} ${LIBSTAND}
86LDADD=	${BTXCRT} ${LIBFICL} ${LIBI386} -lstand
87
88.include <bsd.prog.mk>
89
90.if ${MACHINE_ARCH} == "amd64"
91beforedepend ${OBJS}: machine
92CLEANFILES+=	machine
93machine:
94	ln -sf ${.CURDIR}/../../../i386/include machine
95.endif
96