1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License, Version 1.0 only
   6 # (the "License").  You may not use this file except in compliance
   7 # with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 #
  23 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # psm/stand/bootblks/ufs/i386/Makefile
  27 #
  28 .KEEP_STATE:
  29 
  30 BASEDIR = ../..
  31 
  32 include $(BASEDIR)/ufs/Makefile.ufs
  33 
  34 
  35 CC              = $(GCC_ROOT)/bin/gcc -m32
  36 ASFLAGS         = -B$(GCC_ROOT)/bin/ -fno-builtin -nostdinc
  37 CPPFLAGS        =
  38 
  39 LD              = $(GNU_ROOT)/bin/gld
  40 LDFLAGS         = -m elf_i386_sol2 -nostdlib -N -Ttext 600
  41 
  42 OBJCOPY         = $(GNU_ROOT)/bin/gobjcopy
  43 
  44 INSTALL_DIR     = $(USR)/lib/fs/ufs
  45 INSTALL_TARGETS = $(PROGS:%=$(INSTALL_DIR)/%)
  46 
  47 $(INSTALL_TARGETS) := FILEMODE = 0444
  48 
  49 PROGS           = mboot
  50 
  51 
  52 all: $(INSTALLBOOT) $(PROGS)
  53 
  54 $(PROGS): $$(@).exec
  55         $(OBJCOPY) -O binary $@.exec $@
  56 
  57 %.exec: %.o
  58         $(LD) $(LDFLAGS) -o $@ $(@:exec=o)
  59 
  60 
  61 install: all $(INSTALL_TARGETS) $(USR_SBIN_INSTALLBOOT)
  62 
  63 $(INSTALL_DIR)/%: $(INSTALL_DIR) %
  64         $(INS.file)
  65 
  66 $(INSTALL_DIR):
  67         $(INS.dir)
  68 
  69 lint:
  70 
  71 clean:
  72         $(RM) *.exec *.o
  73 
  74 clobber: clean
  75         $(RM) $(PROGS) $(INSTALLBOOT)
  76 
  77 
  78 #
  79 # Pattern matching rules for source in this directory
  80 #
  81 %: %.sh
  82         $(RM) $@
  83         cat $< > $@
  84         chmod +x $@