1 # 2 # This file and its contents are supplied under the terms of the 3 # Common Development and Distribution License ("CDDL"), version 1.0. 4 # You may only use this file in accordance with the terms of version 5 # 1.0 of the CDDL. 6 # 7 # A full copy of the text of the CDDL should have accompanied this 8 # source. A copy of the CDDL is also available via the Internet at 9 # http://www.illumos.org/license/CDDL. 10 # 11 12 # 13 # Copyright 2017 Toomas Soome <tsoome@me.com> 14 # Copyright 2019 Joyent, Inc. 15 # 16 17 # loader.help build needs better awk 18 AWK= /usr/xpg4/bin/awk 19 LD= $(GNU_ROOT)/bin/gld 20 OBJCOPY= $(GNU_ROOT)/bin/gobjcopy 21 OBJDUMP= $(GNU_ROOT)/bin/gobjdump 22 GSTRIP= $(GNU_ROOT)/bin/gstrip 23 24 # Default Console font setup. 25 # We want it to be the same as kernel. 26 # We build compressed, stripped down version of the default font, so we have 27 # bare minimum for case we can not load font from the OS root. 28 29 FONT= 8x16 30 FONT_SRC= ter-u16n.bdf 31 FONT_DIR= $(SRC)/data/consfonts 32 33 PNGLITE= $(SRC)/common/pnglite 34 35 BOOTSRC= $(SRC)/boot/sys/boot 36 LIBSRC= $(SRC)/boot/lib 37 SASRC= $(LIBSRC)/libstand 38 ZFSSRC= $(SASRC)/zfs 39 ZLIB= $(SRC)/contrib/zlib 40 41 # set standard values 42 AS_CPPFLAGS= 43 CPPFLAGS= -D_STANDALONE -_gcc=-nostdinc 44 CFLAGS64= -_gcc=-mno-red-zone 45 46 CFLAGS= -_gcc=-Os -_gcc=-fPIC -_gcc=-ffreestanding -_gcc=-fno-builtin 47 CFLAGS += -_gcc=-ffunction-sections -_gcc=-fdata-sections 48 CFLAGS += -_gcc=-mno-mmx -_gcc=-mno-3dnow -_gcc=-mno-sse -_gcc=-mno-sse2 49 CFLAGS += -_gcc=-mno-sse3 -_gcc=-msoft-float 50 CFLAGS += -_gcc=-mno-avx -_gcc=-mno-aes 51 CFLAGS += -_gcc=-Wall 52 CFLAGS += $(CCNOAUTOINLINE) $(CCNOREORDER) $(CSTD_GNU99) 53 CCASFLAGS= -fPIC -Wa,--divide 54 ASFLAGS= --divide 55 56 SMATCH_ = 57 SMATCH_on = 58 SMATCH_off = -_smatch=off 59 60 # smatch does not define __amd64 and __amd64__ 61 SMATCH_amd64= -_smatch=-D__amd64 -_smatch=-D__amd64__ 62 63 # SMATCH_ARGS will bring in set of -Wno-* options. 64 #CFLAGS += $(SMATCH_ARGS:%=-_smatch=%) 65 CFLAGS += $(SMOFF:%=-_smatch=--disable=%) 66 CFLAGS += $(SMATCH_$(MACHINE)) 67 CFLAGS += $(SMATCH_$(SMATCH)) 68 CFLAGS += -_smatch=--timeout=0 69 70 COMPILE.S= $(CC) $(SMATCH_off) $(CCASFLAGS) $(CPPFLAGS) -c 71 72 ROOT_BOOT= $(ROOT)/boot 73 ROOTBOOTPROG=$(PROG:%=$(ROOT_BOOT)/%) 74 75 $(ROOT_BOOT)/%: % 76 $(INS.file) 77 78 #.if ${MACHINE_CPUARCH} == "arm" 79 # Do not generate movt/movw, because the relocation fixup for them does not 80 # translate to the -Bsymbolic -pie format required by self_reloc() in loader(8). 81 # Also, the fpu is not available in a standalone environment. 82 #CFLAGS.clang+= -mllvm -arm-use-movt=0 83 #CFLAGS.clang+= -mfpu=none 84 #.endif