xref: /illumos-gate/usr/src/cmd/fcinfo/Makefile (revision ed093b41a93e8563e6e1e5dae0768dda2a7bcc27)
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