1# $FreeBSD: releng/11.0/sys/boot/i386/libi386/Makefile 297283 2016-03-26 03:46:12Z bdrewery $
2#
3LIB=			i386
4INTERNALLIB=
5
6SRCS=	biosacpi.c bioscd.c biosdisk.c biosmem.c biospnp.c \
7	biospci.c biossmap.c bootinfo.c bootinfo32.c bootinfo64.c \
8	comconsole.c devicename.c elf32_freebsd.c \
9	elf64_freebsd.c multiboot.c multiboot_tramp.S \
10	i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
11	smbios.c time.c vidconsole.c amd64_tramp.S spinconsole.c
12.PATH:	${.CURDIR}/../../zfs
13SRCS+=	devicename_stubs.c
14
15# Enable PXE TFTP or NFS support, not both.
16.if defined(LOADER_TFTP_SUPPORT)
17CFLAGS+=	-DLOADER_TFTP_SUPPORT
18.else
19CFLAGS+=	-DLOADER_NFS_SUPPORT
20.endif
21
22BOOT_COMCONSOLE_PORT?= 0x3f8
23CFLAGS+=	-DCOMPORT=${BOOT_COMCONSOLE_PORT}
24
25BOOT_COMCONSOLE_SPEED?= 9600
26CFLAGS+=	-DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
27
28.ifdef(BOOT_BIOSDISK_DEBUG)
29# Make the disk code more talkative
30CFLAGS+= -DDISK_DEBUG
31.endif
32
33.if !defined(LOADER_NO_GELI_SUPPORT)
34# Decrypt encrypted drives
35CFLAGS+= -DLOADER_GELI_SUPPORT
36CFLAGS+= -I${.CURDIR}/../../geli
37.endif
38
39.if !defined(BOOT_HIDE_SERIAL_NUMBERS)
40# Export serial numbers, UUID, and asset tag from loader.
41CFLAGS+= -DSMBIOS_SERIAL_NUMBERS
42.if defined(BOOT_LITTLE_ENDIAN_UUID)
43# Use little-endian UUID format as defined in SMBIOS 2.6.
44CFLAGS+= -DSMBIOS_LITTLE_ENDIAN_UUID
45.elif defined(BOOT_NETWORK_ENDIAN_UUID)
46# Use network-endian UUID format for backward compatibility.
47CFLAGS+= -DSMBIOS_NETWORK_ENDIAN_UUID
48.endif
49.endif
50
51# Include simple terminal emulation (cons25-compatible)
52CFLAGS+= -DTERM_EMU
53
54# XXX: make alloca() useable
55CFLAGS+= -Dalloca=__builtin_alloca
56
57CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../common \
58		-I${.CURDIR}/../btx/lib \
59		-I${.CURDIR}/../../../contrib/dev/acpica/include \
60		-I${.CURDIR}/../../.. -I.
61# the location of libstand
62CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
63
64# Handle FreeBSD specific %b and %D printf format specifiers
65CFLAGS+= ${FORMAT_EXTENSIONS}
66
67.if ${MACHINE_CPUARCH} == "amd64"
68CLEANFILES+=	machine
69machine: .NOMETA
70	ln -sf ${.CURDIR}/../../../i386/include machine
71.endif
72
73.include <bsd.lib.mk>
74
75# XXX: clang integrated-as doesn't grok .codeNN directives yet
76CFLAGS.amd64_tramp.S=	${CLANG_NO_IAS}
77CFLAGS.multiboot_tramp.S=	${CLANG_NO_IAS}
78
79.if ${MACHINE_CPUARCH} == "amd64"
80beforedepend ${OBJS}: machine
81.endif
82