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