| # |
| # Copyright 2007 Sun Microsystems, Inc. All rights reserved. |
| # Use is subject to license terms. |
| # |
| # ident "%Z%%M% %I% %E% SMI" |
| # |
| include ../../Makefile.grub |
| include ../Makefile.solaris.defs |
| |
| |
| GRUB = grub |
| GRUB_OBJS = asmstub.o main.o |
| $(GRUB) := LIBS = ../stage2/libgrub.a ../lib/libcommon.a -lcurses |
| $(GRUB) := LDFLAGS += $(LDLIBS.cmd) |
| $(GRUB) := CCLD = $(CC) |
| |
| # |
| # The grub shell interposes on the getopt() family. Should direct bindings be |
| # enabled, these interfaces should be explicitly defined as interposes. Use a |
| # mapfile to associate the necessary interposer definitions. |
| # |
| MAPFILES = $(MAPFILE.INT) |
| |
| INCLUDES = -I. -I.. -I../stage1 -I../stage2 -I../lib |
| CFLAGS += -O2 |
| LINKFLAGS += -O2 $(MAPFILES:%=-Wl,-M%) |
| CPPFLAGS += -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ |
| -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 \ |
| -DFSYS_REISERFS=1 -DFSYS_ZFS=1 -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 \ |
| -DFSYS_XFS=1 -DUSE_MD5_PASSWORDS=1 -DSUPPORT_HERCULES=1 \ |
| -DSUPPORT_SERIAL=1 |
| |
| PROGRAMS = $(GRUB) |
| |
| INSTALL_DIR = $(ROOT_BOOT_GRUB)/bin |
| INSTALL_TARGETS = $(PROGRAMS:%=$(INSTALL_DIR)/%) |
| |
| $(INSTALL_DIR)/% := FILEMODE = 0555 |
| |
| # |
| # Source files to be installed in $(SRC_DIR). |
| # |
| SRC_DIR = $(ROOT_SRC)/grub |
| SRC_FILES = Makefile.am Makefile.in asmstub.c main.c |
| |
| INSTALL_TARGETS += $(SRC_FILES:%=$(SRC_DIR)/%) |
| |
| |
| all: $(PROGRAMS) |
| |
| $(GRUB): $(GRUB_OBJS) $(MAPFILES) |
| $(LINK) -o $@ $(GRUB_OBJS) $(LIBS) |
| $(POST_PROCESS) |
| |
| $(GRUB_OBJS): $$(@:.o=.c) |
| $(CC) $(CFLAGS) -c -o $@ $(@:.o=.c) |
| |
| |
| install: all $(INSTALL_TARGETS) |
| |
| $(INSTALL_DIR)/%: $(INSTALL_DIR) % |
| $(INS.file) |
| |
| $(SRC_DIR)/%: $(SRC_DIR) % |
| $(INS.file) |
| |
| $(INSTALL_DIR) $(SRC_DIR): |
| $(INS.dir) |
| |
| |
| clean: _FORCE |
| $(RM) *.o |
| |
| clobber: clean |
| $(RM) $(PROGRAMS) |
| |
| _FORCE: |