1 # 2 # Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3 # Use is subject to license terms. 4 # 5 # Copyright 2015 RackTop Systems. 6 # 7 include $(SRC)/Makefile.master 8 9 .KEEP_STATE: 10 11 VERSION = 0.95 12 13 # $(POUND_SIGN) is just a #. Used to turn a feature off. 14 # The $(POUND_SIGN)POUND_SIGN:sh construct is just so make doesn't have to 15 # spawn a shell and redefine POUND_SIGN if it is already defined (e.g. 16 # $(SRC)/Makefile.master was already included). 17 $(POUND_SIGN)POUND_SIGN:sh = echo '\043' 18 19 20 # 21 # Optional features (set to $(POUND_SIGN) to turn off): 22 # 23 # OPTION_UTILS: 24 # Build the userland utilities. 25 # NOTE: these utilities will be installed in 26 # /platform/$(PLATFORM)/boot/grub, not /boot/grub. 27 # 28 # OPTION_DOCS: 29 # Build and install some GRUB documentations, e.g. man and info files. 30 # NOTE: these docs will be installed in 31 # /platform/$(PLATFORM)/boot/grub, not /boot/grub. 32 # 33 # OPTION_FS: 34 # Build additional filesystem support into GRUB. This will increase 35 # the sizes of stage2 and pxegrub and may cause malfunction. 36 # 37 # STAGE2_NETBOOT: 38 # Include netboot support in stage2 (on by default). 39 # This only affects stage2, not pxegrub (diskless support). 40 # 41 # STAGE2_NETBOOT = $(POUND_SIGN) 42 OPTION_UTILS = $(POUND_SIGN) 43 OPTION_DOCS = $(POUND_SIGN) 44 OPTION_FS = $(POUND_SIGN) 45 46 47 BASE_CFLAGS = -B$(GCC_ROOT)/bin/ -g -std=gnu89 $(CPPFLAGS) $(OPTFLAGS) 48 BASE_CCASFLAGS = -B$(GCC_ROOT)/bin/ -g -std=gnu89 $(CPPFLAGS) $(OPTFLAGS) 49 BASE_LDFLAGS = 50 51 CC = $(GCC_ROOT)/bin/gcc 52 CFLAGS = $(BASE_CFLAGS) 53 CCDEPMODE = depmode=none 54 55 CCAS = $(CC) 56 CCASFLAGS = $(BASE_CCASFLAGS) 57 58 CPP = $(CC) -E 59 60 # $(ENVCPPFLAGS4), if defined, should be something like "-Y I,somepath". 61 # We want to get rid of the "-Y I," part but make's pattern replacement 62 # macro reference doesn't allow spaces in it, e.g. $(ENVCPPFLAGS4:-Y I,%=%). 63 # So we'll get rid of the "-Y" now and then the "I," later. By the way, this 64 # should also work in case $(ENVCPPFLAGS4) is "-YI,somepath" (no space). 65 t.ENVCPPFLAGS4 = $(ENVCPPFLAGS4:-Y%=%) 66 67 CPPFLAGS = $(DEFS) $(INCLUDES) $(WARNFLAGS) \ 68 $(ENVCPPFLAGS1:-I%=-isystem %) \ 69 $(ENVCPPFLAGS2:-I%=-isystem %) \ 70 $(ENVCPPFLAGS3:-I%=-isystem %) \ 71 $(t.ENVCPPFLAGS4:I,%=-nostdinc -isystem %) 72 73 CCLD = $(GNU_ROOT)/bin/gld 74 LDFLAGS = $(BASE_LDFLAGS) 75 LINKFLAGS = -g 76 LINK = $(CCLD) $(LINKFLAGS) $(LDFLAGS) 77 78 DEFS = -DHAVE_CONFIG_H -DSOLARIS_NETBOOT 79 OPTFLAGS = -falign-jumps=1 -falign-loops=1 -falign-functions=1 80 #WARNFLAGS = -Wall -Wmissing-prototypes -Wunused -Wshadow \ 81 # -Wpointer-arith -Wundef 82 83 OBJCOPY = $(GNU_ROOT)/bin/gobjcopy 84 85 AR = /usr/ccs/bin/ar 86 RANLIB = : 87 88 MKDIR = mkdir -p