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# 1522028508SToomas Soome 1622028508SToomas Soomeinclude $(SRC)/Makefile.master 1722028508SToomas Soomeinclude $(SRC)/boot/Makefile.version 1822028508SToomas Soomeinclude $(SRC)/boot/Makefile.inc 1922028508SToomas Soome 2022028508SToomas SoomePROG= isoboot 2122028508SToomas SoomeFILEMODE=0444 2222028508SToomas Soome 2322028508SToomas SoomeBOOT_COMCONSOLE_PORT= 0x3f8 2422028508SToomas SoomeBOOT_COMCONSOLE_SPEED= 9600 2522028508SToomas SoomeB2SIOFMT= 0x3 2622028508SToomas Soome 2722028508SToomas SoomeORG1= 0x7c00 2822028508SToomas SoomeORG2= 0x0 2922028508SToomas Soome 3022028508SToomas SoomeISOBOOTSIZE= 30720 3122028508SToomas Soome 3222028508SToomas SoomeCPPFLAGS += -DBOOTPROG=\"isoboot\" \ 3322028508SToomas Soome -DSIOPRT=$(BOOT_COMCONSOLE_PORT) \ 3422028508SToomas Soome -DSIOFMT=$(B2SIOFMT) \ 3522028508SToomas Soome -DSIOSPD=$(BOOT_COMCONSOLE_SPEED) \ 3622028508SToomas Soome -I../../include \ 3722028508SToomas Soome -I../../libsa \ 3822028508SToomas Soome -I. \ 3922028508SToomas Soome -I../../sys \ 4022028508SToomas Soome -I../common \ 4122028508SToomas Soome -I../btx/lib \ 4222028508SToomas Soome -I../../common \ 4322028508SToomas Soome -I../gptzfsboot 44*5d9d9091SRichard LoweAS_CPPFLAGS += $(CPPFLAGS) 4522028508SToomas Soome 4622028508SToomas SoomeLDSCRIPT= ../boot.ldscript 4722028508SToomas SoomeLD_FLAGS= -static -N --gc-sections 4822028508SToomas SoomeLIBSTAND= ../../libsa/$(MACH)/libsa.a 4922028508SToomas Soome 50db1a8debSToomas Soomegptldr.out := LD_FLAGS += $(GLDTARGET) 5122028508SToomas Soome 5222028508SToomas Soomeisoboot.o := SMOFF += unreachable 5322028508SToomas Soome 5422028508SToomas Soomeinclude ../Makefile.inc 5522028508SToomas Soome 5622028508SToomas Soomeall: $(PROG) 5722028508SToomas Soome 5822028508SToomas Soomeinstall: all $(ROOTBOOTPROG) 5922028508SToomas Soome 6022028508SToomas SoomeOBJS= mb_header.o isoboot.o sio.o drv.o cons.o gptldr.o 6122028508SToomas Soome 6222028508SToomas SoomeCLEANFILES += isoboot 6322028508SToomas Soome 6422028508SToomas Soomeisoboot: gptldr.bin isoboot.bin $(BTXKERN) 65db1a8debSToomas Soome $(BTXLD) -v -E $(ORG2) -f bin -b $(BTXKERN) -V $(BOOT_VERSION) -l \ 6622028508SToomas Soome gptldr.bin -o $@ isoboot.bin 6722028508SToomas Soome @set -- `ls -l $@`; x=$$(($(ISOBOOTSIZE)-$$5)); \ 6822028508SToomas Soome echo "$$x bytes available"; test $$x -ge 0 6922028508SToomas Soome 7022028508SToomas SoomeCLEANFILES += gptldr.bin gptldr.out gptldr.o 7122028508SToomas Soome 7222028508SToomas Soomegptldr.bin: gptldr.out 7322028508SToomas Soome $(OBJCOPY) -S -O binary gptldr.out $@ 7422028508SToomas Soome 7522028508SToomas Soomegptldr.out: gptldr.o 76db1a8debSToomas Soome $(GLD) $(LD_FLAGS) -e start -Ttext $(ORG1) -o $@ gptldr.o 7722028508SToomas Soome 7822028508SToomas SoomeCLEANFILES += isoboot.bin isoboot.out $(OBJS) 7922028508SToomas Soome 8022028508SToomas Soomeisoboot.bin: isoboot.out 8122028508SToomas Soome $(OBJCOPY) -S -O binary isoboot.out $@ 8222028508SToomas Soome 8322028508SToomas Soomeisoboot.out: $(BTXCRT) $(OBJS) 84db1a8debSToomas Soome $(GLD) $(LD_FLAGS) -T $(LDSCRIPT) -o $@ $(BTXCRT) $(OBJS) $(LIBSTAND) 8522028508SToomas Soome 8622028508SToomas Soomemachine: 8722028508SToomas Soome $(RM) machine 8822028508SToomas Soome $(SYMLINK) ../../sys/i386/include machine 8922028508SToomas Soome 9022028508SToomas Soomex86: 9122028508SToomas Soome $(RM) x86 9222028508SToomas Soome $(SYMLINK) ../../sys/x86/include x86 9322028508SToomas Soome 9422028508SToomas Soome$(OBJS): machine x86 9522028508SToomas Soome 9622028508SToomas Soome%.o: ../gptzfsboot/%.S 9722028508SToomas Soome $(COMPILE.S) $< 9822028508SToomas Soome 9922028508SToomas Soome%.o: ../../common/%.S 10022028508SToomas Soome $(COMPILE.S) $< 10122028508SToomas Soome 10222028508SToomas Soome%.o: ../common/%.c 10322028508SToomas Soome $(COMPILE.c) $< 10422028508SToomas Soome 10522028508SToomas Soome%.o: ../../common/%.c 10622028508SToomas Soome $(COMPILE.c) $< 10722028508SToomas Soome 10822028508SToomas Soomeclobber: clean 10922028508SToomas Soome 11022028508SToomas Soomeclean: 11122028508SToomas Soome $(RM) $(CLEANFILES) machine x86 112