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 # Copyright (c) 2018, Joyent, Inc. 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 # not linted 44 SMATCH=off 45 46 LDLIBS += -lmd5 47 48 i386_CFLAGS += -D_LARGEFILE64_SOURCE 49 i386_CFLAGS += -D_FILE_OFFSET_BITS=64 50 51 LDLIBS += -lfdisk -lefi -lfstyp 52 53 LINTFLAGS += \ 54 -erroff=E_BAD_PTR_CAST_ALIGN \ 55 -erroff=E_STATIC_UNUSED \ 56 -erroff=E_FUNC_RET_MAYBE_IGNORED \ 57 -erroff=E_FUNC_RET_MAYBE_IGNORED2 \ 58 -xerroff=E_NAME_DEF_NOT_USED2 59 60 61 CSTD= $(CSTD_GNU99) 62 63 .KEEP_STATE: 64 65 all: $(PROG) 66 67 $(PROG): $(OBJS) 68 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 69 $(POST_PROCESS) 70 71 72 # pick pcfs from usr/src/common/fs 73 pcfs.o: $(PCFS_SRC) 74 $(COMPILE.c) -o $@ $(PCFS_SRC) 75 76 boot_utils.o: $(UTILS_SRC) 77 $(COMPILE.c) -o $@ $(UTILS_SRC) 78 79 mboot_extra.o: $(EXTRA_SRC) 80 $(COMPILE.c) -o $@ $(EXTRA_SRC) 81 82 bblk_einfo.o: $(EINFO_SRC) 83 $(COMPILE.c) -o $@ $(EINFO_SRC) 84 85 %.o: $(SRC)/common/util/%.c 86 $(COMPILE.c) $(OUTPUT_OPTION) $< 87 88 install: all $(ROOTSBINPROG) .WAIT $(ROOTUSRSBINLINKS) 89 90 clean: 91 $(RM) $(OBJS) 92 93 lint: lint_SRCS 94 95 include ../Makefile.targ