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 # 22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # Copyright 2016 Toomas Soome <tsoome@me.com> 26 # Copyright 2016 Nexenta Systems, Inc. 27 # Copyright 2018 OmniOS Community Edition (OmniOSce) Association. 28 # Copyright (c) 2018, Joyent, Inc. 29 30 PROG= bootadm 31 32 SBINLINKS= $(PROG) 33 34 OBJS= bootadm.o bootadm_upgrade.o bootadm_hyper.o bootadm_digest.o \ 35 bootadm_loader.o 36 SRCS = $(OBJS:.o=.c) 37 POFILES= $(OBJS:%.o=%.po) 38 39 include ../Makefile.com 40 41 POFILE= bootadm_cmd.po 42 43 .KEEP_STATE: 44 45 LDLIBS_i386= -lfdisk 46 LDLIBS += -lficl-sys -lmd -lcryptoutil -lnvpair -lgen -ladm -lefi 47 LDLIBS += -lscf -lz -lbe -lzfs -lofmt $(LDLIBS_$(MACH)) 48 49 # Writing into string literals is incorrect. We need to match gcc's 50 # behavior, which causes us to take SIGSEGV on such a write. 51 CFLAGS += $(XSTRCONST) 52 CPPFLAGS += -D_FILE_OFFSET_BITS=64 53 CPPFLAGS += -I$(SRC)/uts/common -I$(SRC)/common -I$(SRC)/common/ficl 54 55 SMOFF += all_func_returns 56 57 CSTD= $(CSTD_GNU99) 58 59 LINTFLAGS += -erroff=E_INCONS_ARG_DECL2 60 LINTFLAGS += -erroff=E_INCONS_VAL_TYPE_DECL2 61 LINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2 62 63 all: $(PROG) 64 65 $(PROG): $(OBJS) bootadm.h 66 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 67 $(POST_PROCESS) 68 69 install: all $(ROOTSBINPROG) .WAIT $(ROOTUSRSBINLINKS) 70 71 $(POFILE): $(POFILES) 72 $(RM) $@ 73 $(CAT) $(POFILES) > $@ 74 75 clean: 76 -$(RM) $(OBJS) $(POFILE) $(POFILES) 77 78 lint: lint_SRCS 79 80 include ../Makefile.targ