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 # 23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 # Copyright 2016 Toomas Soome <tsoome@me.com> 27 # Copyright 2018 Nexenta Systems, Inc. 28 # 29 30 PROG= bootadm 31 32 SBINLINKS= $(PROG) 33 34 OBJS= bootadm.o \ 35 bootadm_digest.o \ 36 bootadm_loader.o \ 37 bootadm_upgrade.o 38 SRCS = $(OBJS:.o=.c) 39 POFILES= $(OBJS:%.o=%.po) 40 41 include ../Makefile.com 42 43 POFILE= bootadm_cmd.po 44 45 .KEEP_STATE: 46 47 LDLIBS_i386= -lfdisk 48 LDLIBS += -lficl-sys -lmd -lcryptoutil -lnvpair -lgen -ladm -lefi 49 LDLIBS += -lz -lbe -lzfs -lofmt $(LDLIBS_$(MACH)) 50 51 # Writing into string literals is incorrect. We need to match gcc's 52 # behavior, which causes us to take SIGSEGV on such a write. 53 CFLAGS += $(XSTRCONST) 54 CPPFLAGS += -D_FILE_OFFSET_BITS=64 55 CPPFLAGS += -I$(SRC)/uts/common -I$(SRC)/common -I$(SRC)/common/ficl 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