1#	$NetBSD: Makefile,v 1.20 2010/01/17 17:02:47 drochner Exp $
2
3S=	${.CURDIR}/../../../..
4
5BASE?= pxeboot_ia32
6PROG= ${BASE}.bin
7NOMAN=	# defined
8NEWVERSWHAT=	"PXE Boot"
9STARTFILE=	${PXESTART}
10RELOC=		0x0
11
12AFLAGS.pxe_call.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
13AFLAGS.start_pxe.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
14
15.if (${BASE} != "pxeboot_ia32")
16.PATH.c: ${.CURDIR}/../pxeboot
17.PATH.S: ${.CURDIR}/../pxeboot
18.endif
19
20SRCS= main.c dev_net.c devopen.c conf.c exec.c pxe.c pxe_call.S
21# use our own nfs implementation
22.PATH: ${.CURDIR}/../libsa
23SRCS+= nfs.c
24
25PIE_CFLAGS=
26PIE_AFLAGS=
27PIE_LDFLAGS=
28
29.include <bsd.own.mk>
30
31.if ${MACHINE_ARCH} == "x86_64"
32LDFLAGS+=	-Wl,-m,elf_i386
33AFLAGS+=	-m32
34LIBKERN_ARCH=	i386
35KERNMISCMAKEFLAGS="LIBKERN_ARCH=i386"
36.endif
37
38CPPFLAGS+= -DSLOW	# for libz
39
40.if (${BASE} == "pxeboot_ia32")
41# Take config values from patchable header
42CPPFLAGS+= -DSUPPORT_SERIAL=boot_params.bp_consdev
43CPPFLAGS+= -DCONSPEED=boot_params.bp_conspeed
44CPPFLAGS+= -DCONSADDR=boot_params.bp_consaddr
45CPPFLAGS+= -DCONSOLE_KEYMAP=boot_params.bp_keymap
46CPPFLAGS+= -DDIRECT_SERIAL
47# Various serial line configurations
48#CPPFLAGS+= -DSUPPORT_SERIAL=CONSDEV_PC -DDIRECT_SERIAL
49#	or
50#CPPFLAGS+= -DSUPPORT_SERIAL=CONSDEV_COM0KBD
51#	or
52#CPPFLAGS+= -DSUPPORT_SERIAL=CONSDEV_AUTO 
53#	and maybe 
54#CPPFLAGS+= -DDIRECT_SERIAL -DCOMCONS_KEYPRESS -DCONSPEED=57600
55.endif
56
57.if (${BASE} == "pxeboot_ia32_com0")
58CPPFLAGS+= -DSUPPORT_SERIAL=CONSDEV_COM0 -DDIRECT_SERIAL
59.endif
60
61CPPFLAGS+= -DSUPPORT_BOOTP -DSUPPORT_DHCP
62CPPFLAGS+= -DSUPPORT_TFTP
63CPPFLAGS+= -DSUPPORT_NFS
64#CPPFLAGS+= -DNFS_NOSYMLINK
65
66CPPFLAGS+= -DPASS_MEMMAP
67CPPFLAGS+= -DEPIA_HACK
68
69# modules and boot.cfg need special DHCP server setup, disable
70# per default for compatibility with existing setups
71CPPFLAGS+= -DBOOTPARAM_DEFFLAGS=0x0c
72
73#CFLAGS= -O2 -fomit-frame-pointer -fno-defer-pop
74CFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-main
75
76SAMISCCPPFLAGS+= -DHEAP_START=0x10000 -DHEAP_LIMIT=0x30000
77SAMISCMAKEFLAGS+= SA_USE_CREAD=yes	# Read compressed kernels
78
79CPPFLAGS+= -DPASS_BIOSGEOM
80# if you don't use -DPASS_BIOSGEOM, then set I386_INCLUDE_DISK=no
81#I386MISCMAKEFLAGS= I386_INCLUDE_DISK=no
82
83.if (${BASE} == "pxeboot_ia32")
84VERSIONFILE= ${.CURDIR}/version
85.else
86VERSIONFILE= ${.CURDIR}/../pxeboot/version
87.endif
88
89.include "../Makefile.booters"
90
91release: check_RELEASEDIR
92	${HOST_INSTALL_FILE} -m ${BINMODE} ${PROG} \
93		${RELEASEDIR}/${MACHINE}/installation/misc
94