Compile up both the NFS and the TFTP version of the PXE loader and
[dragonfly.git] / sys / boot / i386 / pxeldr_tftp / Makefile
1 # Works like the normal loader except the kernel, modules, and other loader
2 # files are loaded via TFTP instead of NFS.
3 #
4 # $DragonFly: src/sys/boot/i386/pxeldr_tftp/Attic/Makefile,v 1.1 2005/09/03 23:52:53 dillon Exp $
5
6 ORG=            0x7c00
7
8 LDR=            pxeldr
9 BOOT=           pxeboot_tftp
10 LOADER=         loader_tftp
11 PROG=           ${BOOT}
12 MAN=            ${BOOT}.8
13 STRIP=
14 BINDIR?=        /boot
15
16 .PATH: ${.CURDIR}/../pxeldr
17
18 .if defined(BOOT_PXELDR_PROBE_KEYBOARD)
19 AFLAGS+=        -DPROBE_KEYBOARD
20 .endif
21
22 .if defined(BOOT_PXELDR_ALWAYS_SERIAL)
23 AFLAGS+=        -DALWAYS_SERIAL
24 .endif
25
26 .if exists(${.OBJDIR}/../${LOADER})
27 LOADERBIN=      ${.OBJDIR}/../${LOADER}/loader_tftp.bin
28 .else
29 LOADERBIN=      ${.CURDIR}/../${LOADER}/loader_tftp.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         ${CC} ${CFLAGS} ${AFLAGS} ${.IMPSRC} -o ${LDR}.o -c
57
58 CLEANFILES+= ${LDR} ${LDR}.out ${LDR}.o ${BOOT}.tmp ${LOADER}
59
60 .include <bsd.prog.mk>