1 #
   2 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
   3 # Use is subject to license terms.
   4 #
   5 # ident "%Z%%M% %I%     %E% SMI"
   6 #
   7 include ../../Makefile.grub
   8 include ../Makefile.solaris.defs
   9 
  10 .SUFFIXES:
  11 .SUFFIXES: .exec $(SUFFIXES)
  12 
  13 .exec:
  14         $(OBJCOPY) -O binary $< $@
  15 
  16 
  17 INCLUDES        = -I. -I..
  18 CCASFLAGS       += -O2 -fno-builtin -nostdinc
  19 LDFLAGS         += -nostdlib -N -Ttext 7C00
  20 LIBS            =
  21 
  22 
  23 DATA            = $(STAGE1_DATA)
  24 PROGRAMS        = $(STAGE1_EXEC)
  25 
  26 STAGE1_DATA     = stage1
  27 STAGE1_EXEC     = stage1.exec
  28 STAGE1_ASMOBJS  = stage1.o
  29 STAGE1_OBJS     =
  30 
  31 INSTALL_TARGETS = $(DATA:%=$(ROOT_BOOT_GRUB)/%)
  32 
  33 #
  34 # Source files to be installed in $(SRC_DIR).
  35 #
  36 SRC_DIR         = $(ROOT_SRC)/stage1
  37 SRC_FILES       = Makefile.am Makefile.in stage1.S stage1.h
  38 
  39 INSTALL_TARGETS += $(SRC_FILES:%=$(SRC_DIR)/%)
  40 
  41 
  42 all: $(PROGRAMS) $(DATA)
  43 
  44 
  45 $(STAGE1_EXEC): $(STAGE1_ASMOBJS) $(STAGE1_OBJS)
  46         $(RM) $@
  47         $(LINK) -o $@ $(STAGE1_ASMOBJS) $(STAGE1_OBJS) $(LIBS)
  48 
  49 $(STAGE1_ASMOBJS): $$(@:.o=.S)
  50         $(CCAS) $(CCASFLAGS) -c -o $@ $(@:.o=.S)
  51 
  52 $(STAGE1_OBJS): $$(@:.o=.c)
  53         $(CC) $(CFLAGS) -c -o $@ $(@:.o=.c)
  54 
  55 
  56 install: all $(INSTALL_TARGETS)
  57 
  58 $(ROOT_BOOT_GRUB)/%: $(ROOT_BOOT_GRUB) %
  59         $(INS.file)
  60 
  61 $(SRC_DIR)/%: $(SRC_DIR) %
  62         $(INS.file)
  63 
  64 $(ROOT_BOOT_GRUB) $(SRC_DIR):
  65         $(INS.dir)
  66 
  67 
  68 clean: _FORCE
  69         $(RM) *.o $(PROGRAMS)
  70 
  71 clobber: clean
  72         $(RM) $(DATA)
  73 
  74 _FORCE: