1# $FreeBSD: stable/10/sys/boot/i386/pxeldr/Makefile 319025 2017-05-28 01:14:59Z ngie $
2
3# Pick up ../Makefile.inc early.
4.include <bsd.init.mk>
5
6PROG=	${LDR}
7INTERNALPROG=
8FILES=	${BOOT}
9MAN=	${BOOT}.8
10SRCS=	${LDR}.S
11CLEANFILES= ${BOOT}
12
13BOOT=	pxeboot
14LDR=	pxeldr
15ORG=	0x7c00
16LOADER=	loader
17
18.if defined(BOOT_PXELDR_PROBE_KEYBOARD)
19CFLAGS+=-DPROBE_KEYBOARD
20.endif
21
22.if defined(BOOT_PXELDR_ALWAYS_SERIAL)
23CFLAGS+=-DALWAYS_SERIAL
24.endif
25
26CFLAGS+=-I${.CURDIR}/../common
27
28LOADERBIN= ${.OBJDIR}/../loader/loader.bin
29
30CLEANFILES+= ${BOOT}.tmp
31
32${BOOT}: ${LDR} ${LOADER}
33	cat ${LDR} ${LOADER} > ${.TARGET}.tmp
34	${DD} if=${.TARGET}.tmp of=${.TARGET} obs=2k conv=osync
35	rm ${.TARGET}.tmp
36
37LDFLAGS+=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary
38
39CLEANFILES+= ${LOADER}
40
41${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN}
42	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
43	    -b ${BTXKERN} ${LOADERBIN}
44
45.include <bsd.prog.mk>
46
47# XXX: clang integrated-as doesn't grok .codeNN directives yet
48CFLAGS.pxeldr.S=	${CLANG_NO_IAS}
49CFLAGS+=		${CFLAGS.${.IMPSRC:T}}
50