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 (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  22 # Copyright 2015, Nexenta Systems, Inc.
  23 # 
  24 
  25 PROG= installgrub
  26 
  27 PCFS_SRC= $(SRC)/common/fs/pcfs.c
  28 EINFO_SRC= ./../common/bblk_einfo.c
  29 UTILS_SRC =./../common/boot_utils.c
  30 EXTRA_SRC =./../common/mboot_extra.c
  31 
  32 OBJS= installgrub.o pcfs_glue.o pcfs.o bblk_einfo.o boot_utils.o mboot_extra.o \
  33         getresponse.o
  34 SRCS= installgrub.c pcfs_glue.c $(PCFS_SRC) $(UTILS_SRC) $(EINFO_SRC) \
  35         $(EXTRA_SRC) $(SRC)/common/util/getresponse.c
  36 SBINLINKS= $(PROG)
  37 
  38 include ../Makefile.com
  39 
  40 CPPFLAGS += -I$(SRC)/uts/i86pc -I$(SRC)/uts/intel -I$(SRC)/uts/common
  41 CPPFLAGS += -I$(SRC)/common/util
  42 
  43 LDLIBS += -lmd5
  44 
  45 i386_CFLAGS += -D_LARGEFILE64_SOURCE
  46 i386_CFLAGS += -D_FILE_OFFSET_BITS=64
  47 
  48 LDLIBS += -lfdisk -lefi -lfstyp
  49 
  50 LINTFLAGS += \
  51         -erroff=E_BAD_PTR_CAST_ALIGN \
  52         -erroff=E_STATIC_UNUSED \
  53         -erroff=E_FUNC_RET_MAYBE_IGNORED \
  54         -erroff=E_FUNC_RET_MAYBE_IGNORED2 \
  55         -xerroff=E_NAME_DEF_NOT_USED2
  56 
  57 
  58 CSTD=   $(CSTD_GNU99)
  59 
  60 .KEEP_STATE:
  61 
  62 all: $(PROG)
  63 
  64 $(PROG): $(OBJS)
  65         $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
  66         $(POST_PROCESS)
  67 
  68 
  69 # pick pcfs from usr/src/common/fs
  70 pcfs.o: $(PCFS_SRC)
  71         $(COMPILE.c) -o $@ $(PCFS_SRC)
  72 
  73 boot_utils.o:   $(UTILS_SRC)
  74                 $(COMPILE.c) -o $@ $(UTILS_SRC)
  75 
  76 mboot_extra.o:  $(EXTRA_SRC)
  77                 $(COMPILE.c) -o $@ $(EXTRA_SRC)
  78 
  79 bblk_einfo.o:   $(EINFO_SRC)
  80                 $(COMPILE.c) -o $@ $(EINFO_SRC)
  81 
  82 %.o:    $(SRC)/common/util/%.c
  83                 $(COMPILE.c) $(OUTPUT_OPTION) $<
  84 
  85 install: all $(ROOTSBINPROG) .WAIT $(ROOTUSRSBINLINKS)
  86 
  87 clean:
  88         $(RM) $(OBJS)
  89 
  90 lint:   lint_SRCS
  91 
  92 include ../Makefile.targ