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 ADJUNCT_LIBS = libz.so 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 CSTD= $(CSTD_GNU99) 56 57 LINTFLAGS += -erroff=E_INCONS_ARG_DECL2 58 LINTFLAGS += -erroff=E_INCONS_VAL_TYPE_DECL2 59 LINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2 60 61 all: $(PROG) 62 63 $(PROG): $(OBJS) bootadm.h 64 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 65 $(POST_PROCESS) 66 67 install: all $(ROOTSBINPROG) .WAIT $(ROOTUSRSBINLINKS) 68 69 $(POFILE): $(POFILES) 70 $(RM) $@ 71 $(CAT) $(POFILES) > $@ 72 73 clean: 74 -$(RM) $(OBJS) $(POFILE) $(POFILES) 75 76 lint: lint_SRCS 77 78 include ../Makefile.targ