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 (c) 2018, Joyent, Inc. 26 27COMMONBASE = ../../common 28 29 30PROG = fcinfo 31ROOT_PROG_LINK = $(ROOTUSRSBIN)/fcadm 32MANIFEST = npiv_config.xml 33SVCMETHOD = npivconfig 34PRODUCT = $(PROG) 35 36$(ROOT_PROG_LINK) := FILEMODE = 0555 37 38LOCAL_OBJS = fcinfo.o fcinfo-list.o fcadm-list.o printAttrs.o fcoeadm.o 39COMMON_OBJS = cmdparse.o 40LOCAL_SRCS = $(LOCAL_OBJS:%.o=%.c) 41COMMON_SRCS = $(COMMON_OBJS:%.o=$(COMMONBASE)/cmdparse/%.c) 42OBJS = $(LOCAL_OBJS) $(COMMON_OBJS) 43SRCS = $(LOCAL_SRCS) $(COMMON_SRCS) 44 45include ../Makefile.cmd 46 47POFILE = fcinfo_cmd.po 48POFILES = fcinfo.po fcinfo-list.po fcadm-list.po printAttrs.po fcoeadm.po 49 50CERRWARN += -_gcc=-Wno-unused-variable 51 52# not linted 53SMATCH=off 54 55ROOTMANIFESTDIR= $(ROOTSVCNETWORK) 56 57LDLIBS += -lHBAAPI 58LDLIBS += -lfcoe 59LDLIBS += -lscf 60 61INCS += -I. 62INCS += -I$(SRC)/lib/hbaapi/common 63INCS += -I$(COMMONBASE)/cmdparse 64INCS += -I$(SRC)/lib/libfcoe/common 65 66CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_REENTRANT $(INCS) 67$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 68 69LINTFLAGS += -erroff=E_SUSPICIOUS_COMPARISON 70LINTFLAGS += -erroff=E_SEC_SPRINTF_UNBOUNDED_COPY 71LINTFLAGS += -erroff=E_FUNC_RET_ALWAYS_IGNOR2 72LINTFLAGS += -erroff=E_BAD_PTR_CAST_ALIGN 73LINTFLAGS += -erroff=E_NAME_USED_NOT_DEF2 74LINTFLAGS += -erroff=E_FUNC_RET_MAYBE_IGNORED2 75LINTFLAGS += -erroff=E_STATIC_UNUSED 76 77.KEEP_STATE: 78 79all: $(PROG) 80 81$(PROG): $(OBJS) 82 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 83 $(POST_PROCESS) 84 85$(ROOT_PROG_LINK): $(ROOTUSRSBIN)/$(PROG) 86 -$(RM) $@ 87 $(LN) $(ROOTUSRSBIN)/$(PROG) $@ 88 89install: all $(ROOTMANIFEST) $(ROOTSVCMETHOD) $(ROOTUSRSBINPROG) $(ROOT_PROG_LINK) 90 91cmdparse.o: $(COMMONBASE)/cmdparse/cmdparse.c 92 $(COMPILE.c) -o $@ $(COMMONBASE)/cmdparse/cmdparse.c 93 $(POST_PROCESS_O) 94$(POFILE): $(POFILES) 95 $(RM) $@ 96 $(CAT) $(POFILES) > $@ 97clean: 98 $(RM) $(OBJS) 99 100lint: lint_SRCS 101 102check: $(CHKMANIFEST) 103 104# Links from /usr/sbin to /sbin 105$(ROOTUSRSBINLINKS): 106 -$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@ 107 108include ../Makefile.targ 109