* Use id(1) instead of grep(1) to detect the presence of the smmsp
[dragonfly.git] / sys / boot / pc32 / pxeldr / Makefile
1 # $FreeBSD: src/sys/boot/i386/pxeldr/Makefile,v 1.9 2003/09/03 08:12:20 phk Exp $
2 # $DragonFly: src/sys/boot/pc32/pxeldr/Makefile,v 1.3 2003/11/10 06:08:37 dillon Exp $
3
4 MAINTAINER=jhb@FreeBSD.org
5
6 ORG=            0x7c00
7
8 LDR=            pxeldr
9 BOOT=           pxeboot
10 LOADER=         loader
11 PROG=           ${BOOT}
12 MAN=            ${BOOT}.8
13 STRIP=
14 BINDIR?=        /boot
15 M4?=            m4
16
17 .if defined(BOOT_PXELDR_PROBE_KEYBOARD)
18 M4FLAGS+=       -DPROBE_KEYBOARD
19 .endif
20
21 .if defined(BOOT_PXELDR_ALWAYS_SERIAL)
22 M4FLAGS+=       -DALWAYS_SERIAL
23 .endif
24
25
26 .if exists(${.OBJDIR}/../loader)
27 LOADERBIN=      ${.OBJDIR}/../loader/loader.bin
28 .else
29 LOADERBIN=      ${.CURDIR}/../loader/loader.bin
30 .endif
31
32 # BTX components
33 .if exists(${.OBJDIR}/../btx)
34 BTXDIR=         ${.OBJDIR}/../btx
35 .else
36 BTXDIR=         ${.CURDIR}/../btx
37 .endif
38 BTXLDR=         ${BTXDIR}/btxldr/btxldr
39 BTXKERN=        ${BTXDIR}/btx/btx
40 BTXCRT=         ${BTXDIR}/lib/crt0.o
41
42 ${BOOT}: ${LDR} ${LOADER}
43         cat ${LDR} ${LOADER} > ${.TARGET}.tmp
44         dd if=${.TARGET}.tmp of=${.TARGET} obs=2k conv=osync
45         rm ${.TARGET}.tmp
46
47 ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN} ${BTXCRT}
48         btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
49             -b ${BTXKERN} ${LOADERBIN}
50
51 ${LDR}: ${LDR}.o
52         ${LD} -N -e start -Ttext ${ORG} -o ${LDR}.out ${LDR}.o
53         objcopy -S -O binary ${LDR}.out ${.TARGET}
54
55 ${LDR}.o: ${LDR}.s
56         (cd ${.CURDIR}; ${M4} ${M4FLAGS} ${LDR}.s) | \
57            ${AS} ${AFLAGS} -o ${.TARGET}
58
59 CLEANFILES+= ${LDR} ${LDR}.out ${LDR}.o ${BOOT}.tmp ${LOADER}
60
61 .include <bsd.prog.mk>