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 2017 RackTop Systems. 28 # 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 += -lz -lbe -lzfs -lofmt $(LDLIBS_$(MACH)) 48 49 # Allow zlib to be taken from outside the proto area. 50 $(ADJUNCT_PROTO_NOT_SET)LDFLAGS += $(ZASSERTDEFLIB)=libz.so 51 52 # Writing into string literals is incorrect. We need to match gcc's 53 # behavior, which causes us to take SIGSEGV on such a write. 54 CFLAGS += $(XSTRCONST) 55 CPPFLAGS += -D_FILE_OFFSET_BITS=64 56 CPPFLAGS += -I$(SRC)/uts/common -I$(SRC)/common -I$(SRC)/common/ficl 57 58 C99MODE= $(C99_ENABLE) 59 60 LINTFLAGS += -erroff=E_INCONS_ARG_DECL2 61 LINTFLAGS += -erroff=E_INCONS_VAL_TYPE_DECL2 62 LINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2 63 64 all: $(PROG) 65 66 $(PROG): $(OBJS) bootadm.h 67 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 68 $(POST_PROCESS) 69 70 install: all $(ROOTSBINPROG) .WAIT $(ROOTUSRSBINLINKS) 71 72 $(POFILE): $(POFILES) 73 $(RM) $@ 74 $(CAT) $(POFILES) > $@ 75 76 clean: 77 -$(RM) $(OBJS) $(POFILE) $(POFILES) 78 79 lint: lint_SRCS 80 81 include ../Makefile.targ