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