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