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 Soome# 1822028508SToomas Soome 1922028508SToomas Soomeinclude $(SRC)/Makefile.master 2022028508SToomas Soomeinclude $(SRC)/boot/Makefile.version 2122028508SToomas Soomeinclude $(SRC)/boot/Makefile.inc 2222028508SToomas Soome 2322028508SToomas SoomePROG= gptzfsboot 2422028508SToomas SoomeMAN= gptzfsboot.8 2522028508SToomas SoomeFILEMODE=0444 2622028508SToomas Soome 2722028508SToomas SoomeBOOT_COMCONSOLE_PORT= 0x3f8 2822028508SToomas SoomeBOOT_COMCONSOLE_SPEED= 9600 2922028508SToomas SoomeB2SIOFMT= 0x3 3022028508SToomas Soome 3122028508SToomas SoomeREL1= 0x700 3222028508SToomas SoomeORG1= 0x7c00 3322028508SToomas SoomeORG2= 0x0 3422028508SToomas Soome 3522028508SToomas SoomeCPPFLAGS += -DBOOTPROG=\"gptzfsboot\" \ 3622028508SToomas Soome -DGPT -DBOOT2 \ 3722028508SToomas Soome -DLOADER_MBR_SUPPORT -DLOADER_GPT_SUPPORT \ 3822028508SToomas Soome -DSIOPRT=$(BOOT_COMCONSOLE_PORT) \ 3922028508SToomas Soome -DSIOFMT=$(B2SIOFMT) \ 4022028508SToomas Soome -DSIOSPD=$(BOOT_COMCONSOLE_SPEED) \ 4122028508SToomas Soome -I../../include \ 4222028508SToomas Soome -I../../libsa \ 4322028508SToomas Soome -I../../common \ 4422028508SToomas Soome -I../common \ 4522028508SToomas Soome -I$(ZFSSRC) \ 4622028508SToomas Soome -I../../sys/cddl/boot/zfs \ 4722028508SToomas Soome -I../btx/lib -I. \ 4822028508SToomas Soome -I../../sys \ 4922028508SToomas Soome -I../libi386 50*5d9d9091SRichard LoweAS_CPPFLAGS += $(CPPFLAGS) 5122028508SToomas Soome 5222028508SToomas SoomeLDSCRIPT= ../boot.ldscript 5322028508SToomas SoomeLD_FLAGS= -static -N --gc-sections 5422028508SToomas SoomeLIBI386= -L ../libi386 -li386 5522028508SToomas SoomeLIBSTAND= -L ../../libsa/$(MACH) -lsa 5622028508SToomas SoomeLIBS= $(LIBI386) $(LIBSTAND) 5722028508SToomas SoomeDPADD= ../libi386/libi386.a ../../libsa/$(MACH)/libsa.a 5822028508SToomas Soome 5922028508SToomas Soomeinclude ../Makefile.inc 6022028508SToomas Soome 6122028508SToomas Soome.PARALLEL: 6222028508SToomas Soome 6322028508SToomas Soomeall: $(PROG) 6422028508SToomas Soome 6522028508SToomas Soomeinstall: all $(ROOTBOOTPROG) 6622028508SToomas Soome 6722028508SToomas SoomeOBJS = mb_header.o zfsboot.o sio.o cons.o devopen.o \ 6822028508SToomas Soome part.o disk.o bcache.o zfs_cmd.o 6922028508SToomas Soome 7022028508SToomas Soomezfsboot.o := CPPFLAGS += -I$(SRC)/uts/common -I$(SRC)/uts/common/fs/zfs 7122028508SToomas Soomezfs_cmd.o := CPPFLAGS += -I$(SRC)/uts/common 7222028508SToomas Soomepart.o := CPPFLAGS += -I$(ZLIB) 7322028508SToomas Soomesmbios.o := CPPFLAGS += -DSMBIOS_SERIAL_NUMBERS 7422028508SToomas Soomesmbios.o := CPPFLAGS += -DSMBIOS_LITTLE_ENDIAN_UUID 75db1a8debSToomas Soomegptldr.out := LD_FLAGS += $(GLDTARGET) 7622028508SToomas Soome 7722028508SToomas SoomeCLEANFILES= gptzfsboot $(OBJS) 7822028508SToomas Soome 7922028508SToomas Soomegptzfsboot: gptldr.bin gptzfsboot.bin $(BTXKERN) 8022028508SToomas Soome $(BTXLD) -E $(ORG2) -f bin -b $(BTXKERN) -V $(BOOT_VERSION) -l \ 8122028508SToomas Soome gptldr.bin -o $@ gptzfsboot.bin 8222028508SToomas Soome 8322028508SToomas SoomeCLEANFILES += gptldr.bin gptldr.out gptldr.o 8422028508SToomas Soome 8522028508SToomas Soomegptldr.bin: gptldr.out 8622028508SToomas Soome $(OBJCOPY) -S -O binary gptldr.out $@ 8722028508SToomas Soome 8822028508SToomas Soomegptldr.out: gptldr.o 89db1a8debSToomas Soome $(GLD) $(LD_FLAGS) -e start -Ttext $(ORG1) -o $@ gptldr.o 9022028508SToomas Soome 9122028508SToomas SoomeCLEANFILES += gptzfsboot.bin gptzfsboot.out 9222028508SToomas Soome 9322028508SToomas Soomegptzfsboot.bin: gptzfsboot.out 9422028508SToomas Soome $(OBJCOPY) -S -O binary gptzfsboot.out $@ 9522028508SToomas Soome 9622028508SToomas Soomegptzfsboot.out: $(BTXCRT) $(OBJS) $(DPADD) 97db1a8debSToomas Soome $(GLD) $(LD_FLAGS) -T $(LDSCRIPT) -o $@ $(BTXCRT) $(OBJS) $(LIBS) 9822028508SToomas Soome 9922028508SToomas Soomemachine: 10022028508SToomas Soome $(RM) machine 10122028508SToomas Soome $(SYMLINK) ../../sys/i386/include machine 10222028508SToomas Soome 10322028508SToomas Soomex86: 10422028508SToomas Soome $(RM) x86 10522028508SToomas Soome $(SYMLINK) ../../sys/x86/include x86 10622028508SToomas Soome 10722028508SToomas Soome$(OBJS): machine x86 10822028508SToomas Soome 10922028508SToomas Soome%.o: ../common/%.c 11022028508SToomas Soome $(COMPILE.c) $< 11122028508SToomas Soome 11222028508SToomas Soome%.o: ../../common/%.c 11322028508SToomas Soome $(COMPILE.c) $< 11422028508SToomas Soome 11522028508SToomas Soome%.o: ../../common/%.S 11622028508SToomas Soome $(COMPILE.S) $< 11722028508SToomas Soome 11822028508SToomas Soomeclobber: clean 11922028508SToomas Soome 12022028508SToomas Soomeclean: 12122028508SToomas Soome $(RM) $(CLEANFILES) machine x86 122