xref: /illumos-gate/usr/src/boot/i386/libi386/Makefile (revision c2eb74cb09fdf193d963d35bf90bc5d671863177)
122028508SToomas Soome#
222028508SToomas Soome# This file and its contents are supplied under the terms of the
322028508SToomas Soome# Common Development and Distribution License ("CDDL"), version 1.0.
422028508SToomas Soome# You may only use this file in accordance with the terms of version
522028508SToomas Soome# 1.0 of the CDDL.
622028508SToomas Soome#
722028508SToomas Soome# A full copy of the text of the CDDL should have accompanied this
822028508SToomas Soome# source.  A copy of the CDDL is also available via the Internet at
922028508SToomas Soome# http://www.illumos.org/license/CDDL.
1022028508SToomas Soome#
1122028508SToomas Soome
1222028508SToomas Soome#
1322028508SToomas Soome# Copyright 2015 Toomas Soome <tsoome@me.com>
1422028508SToomas Soome# Copyright 2016 RackTop Systems.
1522028508SToomas Soome#
1622028508SToomas Soome
1722028508SToomas Soomeinclude $(SRC)/Makefile.master
1822028508SToomas Soomeinclude $(SRC)/boot/Makefile.inc
1922028508SToomas Soome
2022028508SToomas SoomeCPPFLAGS += -I../../include -I../../sys
2122028508SToomas SoomeCPPFLAGS += -I$(ZFSSRC)
2222028508SToomas Soome
2322028508SToomas Soomeall install: libi386.a
2422028508SToomas Soome
2522028508SToomas Soomeclean: clobber
2622028508SToomas Soomeclobber:
2722028508SToomas Soome	$(RM) machine x86 $(OBJS) libi386.a
2822028508SToomas Soome
2922028508SToomas SoomeSRCS=	\
3022028508SToomas Soome	amd64_tramp.S \
3122028508SToomas Soome	bio.c \
3222028508SToomas Soome	biosacpi.c \
3322028508SToomas Soome	biosdisk.c \
3422028508SToomas Soome	biosmem.c \
3522028508SToomas Soome	biospci.c \
3622028508SToomas Soome	biospnp.c \
3722028508SToomas Soome	biossmap.c \
3822028508SToomas Soome	bootinfo.c \
3922028508SToomas Soome	bootinfo32.c \
4022028508SToomas Soome	bootinfo64.c \
4122028508SToomas Soome	comconsole.c \
4222028508SToomas Soome	cpuid.c \
4322028508SToomas Soome	devicename.c \
4422028508SToomas Soome	elf32_freebsd.c \
4522028508SToomas Soome	elf64_freebsd.c \
4622028508SToomas Soome	i386_copy.c \
4722028508SToomas Soome	i386_module.c \
4822028508SToomas Soome	linux.c \
4922028508SToomas Soome	multiboot.c \
5022028508SToomas Soome	multiboot_tramp.S \
5122028508SToomas Soome	nullconsole.c \
5222028508SToomas Soome	pxe.c \
5322028508SToomas Soome	pxetramp.s \
5422028508SToomas Soome	relocater_tramp.S \
5522028508SToomas Soome	spinconsole.c \
5622028508SToomas Soome	time.c \
5722028508SToomas Soome	vbe.c \
5822028508SToomas Soome	vgasubr.c \
5922028508SToomas Soome	vidconsole.c
6022028508SToomas Soome
6122028508SToomas SoomeOBJS=	\
6222028508SToomas Soome	amd64_tramp.o \
6322028508SToomas Soome	bio.o \
6422028508SToomas Soome	biosacpi.o \
6522028508SToomas Soome	biosdisk.o \
6622028508SToomas Soome	biosmem.o \
6722028508SToomas Soome	biospci.o \
6822028508SToomas Soome	biospnp.o \
6922028508SToomas Soome	biossmap.o \
7022028508SToomas Soome	bootinfo.o \
7122028508SToomas Soome	bootinfo32.o \
7222028508SToomas Soome	bootinfo64.o \
7322028508SToomas Soome	comconsole.o \
7422028508SToomas Soome	cpuid.o \
7522028508SToomas Soome	devicename.o \
7622028508SToomas Soome	elf32_freebsd.o \
7722028508SToomas Soome	elf64_freebsd.o \
7822028508SToomas Soome	i386_copy.o \
7922028508SToomas Soome	i386_module.o \
8022028508SToomas Soome	linux.o \
8122028508SToomas Soome	multiboot.o \
8222028508SToomas Soome	multiboot_tramp.o \
8322028508SToomas Soome	nullconsole.o \
8422028508SToomas Soome	pxe.o \
8522028508SToomas Soome	pxetramp.o \
8622028508SToomas Soome	relocater_tramp.o \
8722028508SToomas Soome	spinconsole.o \
8822028508SToomas Soome	time.o \
8922028508SToomas Soome	vbe.o \
9022028508SToomas Soome	vgasubr.o \
9122028508SToomas Soome	vidconsole.o
9222028508SToomas Soome
9322028508SToomas SoomeCOMMON=  ../../common
9422028508SToomas SoomeVGASUBR=$(SRC)/common/vga
9522028508SToomas SoomeCPPFLAGS += -I$(PNGLITE)
9622028508SToomas SoomeSRCS +=	$(COMMON)/gfx_fb.c $(PNGLITE)/pnglite.c
9722028508SToomas SoomeOBJS +=	gfx_fb.o pnglite.o
9822028508SToomas Soome
99*c2eb74cbSToomas Soomebiosacpi.o := CFLAGS += -_gcc14=--param=min-pagesize=0
100*c2eb74cbSToomas Soomebiosdisk.o := CFLAGS += -_gcc14=--param=min-pagesize=0
10122028508SToomas Soomegfx_fb.o := CPPFLAGS += $(DEFAULT_CONSOLE_COLOR) -I$(LZ4)
10222028508SToomas Soomepnglite.o := CPPFLAGS += -I$(ZLIB)
10322028508SToomas Soome
10422028508SToomas SoomeSRCS +=	$(ZFSSRC)/devicename_stubs.c
10522028508SToomas SoomeOBJS +=	devicename_stubs.o
10622028508SToomas Soome
10722028508SToomas SoomeBOOT_COMCONSOLE_PORT= 0x3f8
10822028508SToomas SoomeCPPFLAGS +=	-DCOMPORT=${BOOT_COMCONSOLE_PORT}
10922028508SToomas Soome
11022028508SToomas SoomeBOOT_COMCONSOLE_SPEED= 9600
11122028508SToomas SoomeCPPFLAGS +=	-DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
11222028508SToomas Soome
11322028508SToomas Soome# Make the disk code more talkative
11422028508SToomas Soome# CPPFLAGS+= -DDISK_DEBUG
11522028508SToomas Soome
11622028508SToomas Soome# XXX: make alloca() useable
11722028508SToomas SoomeCPPFLAGS += -Dalloca=__builtin_alloca
11822028508SToomas Soome
11922028508SToomas SoomeCPPFLAGS +=	-I$(SRC)/common/ficl -I../../libficl \
12022028508SToomas Soome		-I../../common -I../common \
12122028508SToomas Soome		-I../btx/lib \
12222028508SToomas Soome		-I$(SRC)/uts/intel/sys/acpi \
12322028508SToomas Soome		-I.
12422028508SToomas Soome# the location of libstand
12522028508SToomas SoomeCPPFLAGS +=	-I../../libsa
12622028508SToomas Soome
12722028508SToomas Soomemultiboot.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
12822028508SToomas Soomemultiboot2.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
12922028508SToomas Soomedevicename.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
13022028508SToomas Soomedevicename_stubs.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
13122028508SToomas Soome
13222028508SToomas SoomeCLEANFILES +=	machine x86
13322028508SToomas Soome
13422028508SToomas Soomeinclude ../Makefile.inc
13522028508SToomas Soome
13622028508SToomas Soome# For multiboot2.h, must be last, to avoid conflicts
13722028508SToomas SoomeCPPFLAGS +=	-I$(SRC)/uts/common
13822028508SToomas Soome
13922028508SToomas Soomemachine:
14022028508SToomas Soome	$(RM) machine
14122028508SToomas Soome	$(SYMLINK) ../../sys/i386/include machine
14222028508SToomas Soome
14322028508SToomas Soomex86:
14422028508SToomas Soome	$(RM) x86
14522028508SToomas Soome	$(SYMLINK) ../../sys/x86/include x86
14622028508SToomas Soome
14722028508SToomas Soome$(OBJS): machine x86
14822028508SToomas Soome
14922028508SToomas Soomelibi386.a: $(OBJS)
15022028508SToomas Soome	$(AR) $(ARFLAGS) $@ $(OBJS)
15122028508SToomas Soome
15222028508SToomas Soome%.o:	$(ZFSSRC)/%.c
15322028508SToomas Soome	$(COMPILE.c) -o $@ $<
15422028508SToomas Soome
15522028508SToomas Soome%.o:	$(COMMON)/%.c
15622028508SToomas Soome	$(COMPILE.c) -o $@ $<
15722028508SToomas Soome
15822028508SToomas Soome%.o:	$(PNGLITE)/%.c
15922028508SToomas Soome	$(COMPILE.c) -o $@ $<
16022028508SToomas Soome
16122028508SToomas Soome%.o:	$(VGASUBR)/%.c
16222028508SToomas Soome	$(COMPILE.c) -o $@ $<
163