xref: /illumos-gate/usr/src/boot/i386/libi386/Makefile (revision 22028508)
1199767f8SToomas Soome#
2199767f8SToomas Soome# This file and its contents are supplied under the terms of the
3199767f8SToomas Soome# Common Development and Distribution License ("CDDL"), version 1.0.
4199767f8SToomas Soome# You may only use this file in accordance with the terms of version
5199767f8SToomas Soome# 1.0 of the CDDL.
6199767f8SToomas Soome#
7199767f8SToomas Soome# A full copy of the text of the CDDL should have accompanied this
8199767f8SToomas Soome# source.  A copy of the CDDL is also available via the Internet at
9199767f8SToomas Soome# http://www.illumos.org/license/CDDL.
10199767f8SToomas Soome#
11199767f8SToomas Soome
12199767f8SToomas Soome#
13199767f8SToomas Soome# Copyright 2015 Toomas Soome <tsoome@me.com>
14e547e4e8SAndrew Stormont# Copyright 2016 RackTop Systems.
15199767f8SToomas Soome#
16199767f8SToomas Soome
17199767f8SToomas Soomeinclude $(SRC)/Makefile.master
18*22028508SToomas Soomeinclude $(SRC)/boot/Makefile.inc
19199767f8SToomas Soome
20*22028508SToomas SoomeCPPFLAGS += -I../../include -I../../sys
2186fec011SToomas SoomeCPPFLAGS += -I$(ZFSSRC)
22199767f8SToomas Soome
2383b4671eSToomas Soomeall install: libi386.a
24199767f8SToomas Soome
25199767f8SToomas Soomeclean: clobber
26199767f8SToomas Soomeclobber:
27199767f8SToomas Soome	$(RM) machine x86 $(OBJS) libi386.a
28199767f8SToomas Soome
293273f292SToomas SoomeSRCS=	\
303273f292SToomas Soome	amd64_tramp.S \
313273f292SToomas Soome	bio.c \
323273f292SToomas Soome	biosacpi.c \
333273f292SToomas Soome	biosdisk.c \
343273f292SToomas Soome	biosmem.c \
353273f292SToomas Soome	biospci.c \
363273f292SToomas Soome	biospnp.c \
373273f292SToomas Soome	biossmap.c \
383273f292SToomas Soome	bootinfo.c \
393273f292SToomas Soome	bootinfo32.c \
403273f292SToomas Soome	bootinfo64.c \
413273f292SToomas Soome	comconsole.c \
423273f292SToomas Soome	cpuid.c \
433273f292SToomas Soome	devicename.c \
443273f292SToomas Soome	elf32_freebsd.c \
453273f292SToomas Soome	elf64_freebsd.c \
463273f292SToomas Soome	i386_copy.c \
473273f292SToomas Soome	i386_module.c \
483273f292SToomas Soome	linux.c \
493273f292SToomas Soome	multiboot.c \
503273f292SToomas Soome	multiboot_tramp.S \
513273f292SToomas Soome	nullconsole.c \
523273f292SToomas Soome	pxe.c \
533273f292SToomas Soome	pxetramp.s \
543273f292SToomas Soome	relocater_tramp.S \
553273f292SToomas Soome	spinconsole.c \
563273f292SToomas Soome	time.c \
573273f292SToomas Soome	vbe.c \
583273f292SToomas Soome	vgasubr.c \
593273f292SToomas Soome	vidconsole.c
603273f292SToomas Soome
613273f292SToomas SoomeOBJS=	\
623273f292SToomas Soome	amd64_tramp.o \
633273f292SToomas Soome	bio.o \
643273f292SToomas Soome	biosacpi.o \
653273f292SToomas Soome	biosdisk.o \
663273f292SToomas Soome	biosmem.o \
673273f292SToomas Soome	biospci.o \
683273f292SToomas Soome	biospnp.o \
693273f292SToomas Soome	biossmap.o \
703273f292SToomas Soome	bootinfo.o \
713273f292SToomas Soome	bootinfo32.o \
723273f292SToomas Soome	bootinfo64.o \
733273f292SToomas Soome	comconsole.o \
743273f292SToomas Soome	cpuid.o \
753273f292SToomas Soome	devicename.o \
763273f292SToomas Soome	elf32_freebsd.o \
773273f292SToomas Soome	elf64_freebsd.o \
783273f292SToomas Soome	i386_copy.o \
793273f292SToomas Soome	i386_module.o \
803273f292SToomas Soome	linux.o \
813273f292SToomas Soome	multiboot.o \
823273f292SToomas Soome	multiboot_tramp.o \
833273f292SToomas Soome	nullconsole.o \
843273f292SToomas Soome	pxe.o \
853273f292SToomas Soome	pxetramp.o \
863273f292SToomas Soome	relocater_tramp.o \
873273f292SToomas Soome	spinconsole.o \
883273f292SToomas Soome	time.o \
893273f292SToomas Soome	vbe.o \
903273f292SToomas Soome	vgasubr.o \
913273f292SToomas Soome	vidconsole.o
929890ff83SToomas Soome
939890ff83SToomas SoomeCOMMON=  ../../common
949890ff83SToomas SoomeVGASUBR=$(SRC)/common/vga
959890ff83SToomas SoomeCPPFLAGS += -I$(PNGLITE)
969890ff83SToomas SoomeSRCS +=	$(COMMON)/gfx_fb.c $(PNGLITE)/pnglite.c
979890ff83SToomas SoomeOBJS +=	gfx_fb.o pnglite.o
9886fec011SToomas Soome
99e0721d5aSToomas Soomegfx_fb.o := CPPFLAGS += $(DEFAULT_CONSOLE_COLOR) -I$(LZ4)
100172f4465SToomas Soomepnglite.o := CPPFLAGS += -I$(ZLIB)
101172f4465SToomas Soome
10286fec011SToomas SoomeSRCS +=	$(ZFSSRC)/devicename_stubs.c
103199767f8SToomas SoomeOBJS +=	devicename_stubs.o
104199767f8SToomas Soome
105199767f8SToomas SoomeBOOT_COMCONSOLE_PORT= 0x3f8
106ff5d4039SToomas SoomeCPPFLAGS +=	-DCOMPORT=${BOOT_COMCONSOLE_PORT}
107199767f8SToomas Soome
108199767f8SToomas SoomeBOOT_COMCONSOLE_SPEED= 9600
109ff5d4039SToomas SoomeCPPFLAGS +=	-DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
110199767f8SToomas Soome
111199767f8SToomas Soome# Make the disk code more talkative
112ff5d4039SToomas Soome# CPPFLAGS+= -DDISK_DEBUG
113199767f8SToomas Soome
114199767f8SToomas Soome# XXX: make alloca() useable
115ff5d4039SToomas SoomeCPPFLAGS += -Dalloca=__builtin_alloca
116199767f8SToomas Soome
117ff5d4039SToomas SoomeCPPFLAGS +=	-I$(SRC)/common/ficl -I../../libficl \
118eee59048SToomas Soome		-I../../common -I../common \
119199767f8SToomas Soome		-I../btx/lib \
1208ab1c3f5SToomas Soome		-I$(SRC)/uts/intel/sys/acpi \
121*22028508SToomas Soome		-I.
122199767f8SToomas Soome# the location of libstand
123*22028508SToomas SoomeCPPFLAGS +=	-I../../libsa
124199767f8SToomas Soome
125*22028508SToomas Soomemultiboot.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
126*22028508SToomas Soomemultiboot2.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
127*22028508SToomas Soomedevicename.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
128*22028508SToomas Soomedevicename_stubs.o := CPPFLAGS += -I../../sys/cddl/boot/zfs
129b713c91eSToomas Soome
130199767f8SToomas SoomeCLEANFILES +=	machine x86
131199767f8SToomas Soome
132199767f8SToomas Soomeinclude ../Makefile.inc
133199767f8SToomas Soome
1348600fd4dSToomas Soome# For multiboot2.h, must be last, to avoid conflicts
1358600fd4dSToomas SoomeCPPFLAGS +=	-I$(SRC)/uts/common
1368600fd4dSToomas Soome
137199767f8SToomas Soomemachine:
138199767f8SToomas Soome	$(RM) machine
139*22028508SToomas Soome	$(SYMLINK) ../../sys/i386/include machine
140199767f8SToomas Soome
141199767f8SToomas Soomex86:
142199767f8SToomas Soome	$(RM) x86
143*22028508SToomas Soome	$(SYMLINK) ../../sys/x86/include x86
144199767f8SToomas Soome
145e547e4e8SAndrew Stormont$(OBJS): machine x86
146e547e4e8SAndrew Stormont
147e547e4e8SAndrew Stormontlibi386.a: $(OBJS)
148199767f8SToomas Soome	$(AR) $(ARFLAGS) $@ $(OBJS)
149199767f8SToomas Soome
15086fec011SToomas Soome%.o:	$(ZFSSRC)/%.c
151199767f8SToomas Soome	$(COMPILE.c) -o $@ $<
1529890ff83SToomas Soome
1539890ff83SToomas Soome%.o:	$(COMMON)/%.c
1549890ff83SToomas Soome	$(COMPILE.c) -o $@ $<
1559890ff83SToomas Soome
1569890ff83SToomas Soome%.o:	$(PNGLITE)/%.c
1579890ff83SToomas Soome	$(COMPILE.c) -o $@ $<
1589890ff83SToomas Soome
1599890ff83SToomas Soome%.o:	$(VGASUBR)/%.c
1609890ff83SToomas Soome	$(COMPILE.c) -o $@ $<
161