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