xref: /dragonfly/stand/boot/pc32/pxeldr/Makefile (revision 479ab7f0492f2a51b48e8537e4f1dc686fc6014b)
1# $FreeBSD: src/sys/boot/i386/pxeldr/Makefile,v 1.9 2003/09/03 08:12:20 phk Exp $
2
3ORG=                0x7c00
4
5LDR=                pxeldr
6BOOT?=              pxeboot
7LOADER?=  loader
8PROG=               ${BOOT}
9MAN=                ${BOOT}.8
10STRIP=
11BINDIR?=  /boot
12
13.if defined(BOOT_PXELDR_PROBE_KEYBOARD)
14CFLAGS+=  -DPROBE_KEYBOARD
15.endif
16
17.if defined(BOOT_PXELDR_ALWAYS_SERIAL)
18CFLAGS+=  -DALWAYS_SERIAL
19.endif
20
21
22.if exists(${.OBJDIR}/../loader)
23LOADERBIN?=         ${.OBJDIR}/../loader/loader.bin
24.else
25LOADERBIN?=         ${.CURDIR}/../loader/loader.bin
26.endif
27
28# BTX components
29.if exists(${.OBJDIR}/../btx)
30BTXDIR=             ${.OBJDIR}/../btx
31.else
32BTXDIR=             ${.CURDIR}/../btx
33.endif
34BTXLDR=             ${BTXDIR}/btxldr/btxldr
35BTXKERN=  ${BTXDIR}/btx/btx
36BTXCRT=             ${BTXDIR}/lib/crt0.o
37
38${BOOT}: ${LDR} ${LOADER}
39          cat ${LDR} ${LOADER} > ${.TARGET}.tmp
40          dd if=${.TARGET}.tmp of=${.TARGET} obs=2k conv=osync
41          rm ${.TARGET}.tmp
42
43${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN} ${BTXCRT}
44          ${.OBJDIR}/../btxld/btxld.nx -v -f aout -e ${LOADER_ADDRESS} \
45              -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${LOADERBIN}
46
47${LDR}: ${LDR}.o
48          ${LD} ${LDFLAGS:N-Wl,*} -N -e start -Ttext ${ORG} -o ${LDR}.out ${LDR}.o
49          objcopy -S -O binary ${LDR}.out ${.TARGET}
50
51${LDR}.o: ${LDR}.S
52          ${CC} ${CFLAGS} ${.IMPSRC} -o ${LDR}.o -c
53
54CLEANFILES+= ${LDR} ${LDR}.out ${LDR}.o ${BOOT}.tmp ${LOADER}
55
56.include <bsd.prog.mk>
57