OpenSolaris_b135/grub/grub-0.97/grub/Makefile.solaris

#
# 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: