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 2008 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# Copyright (c) 2012 by Delphix. All rights reserved.
26# Copyright (c) 2013, Joyent, Inc. All rights reserved.
27#
28
29LIBRARY=	libnvpair.a
30VERS=		.1
31
32OBJECTS=	libnvpair.o \
33		nvpair_alloc_system.o \
34		nvpair_alloc_fixed.o \
35		nvpair.o \
36		fnvpair.o \
37		nvpair_json.o
38
39include ../../Makefile.lib
40include ../../Makefile.rootfs
41
42SRCS=		../libnvpair.c \
43		../nvpair_alloc_system.c \
44		../nvpair_json.c \
45		$(SRC)/common/nvpair/nvpair_alloc_fixed.c \
46		$(SRC)/common/nvpair/nvpair.c \
47		$(SRC)/common/nvpair/fnvpair.c
48
49#
50# Libraries added to the next line must be present in miniroot
51#
52LDLIBS +=	-lc -lnsl
53LIBS =		$(DYNLIB) $(LINTLIB)
54
55# turn off ptr-cast warnings
56LINTFLAGS64 +=	-erroff=E_BAD_PTR_CAST_ALIGN
57
58# turn off warning caused by lint bug: not understanding SCNi8 "hhi"
59LINTFLAGS +=	-erroff=E_BAD_FORMAT_STR2
60LINTFLAGS +=	-erroff=E_INVALID_TOKEN_IN_DEFINE_MACRO
61LINTFLAGS +=	-erroff=E_RET_INT_IMPLICITLY
62LINTFLAGS +=	-erroff=E_FUNC_USED_VAR_ARG2
63LINTFLAGS64 +=	-erroff=E_BAD_FORMAT_STR2
64LINTFLAGS64 +=	-erroff=E_INVALID_TOKEN_IN_DEFINE_MACRO
65LINTFLAGS64 +=	-erroff=E_RET_INT_IMPLICITLY
66LINTFLAGS64 +=	-erroff=E_FUNC_USED_VAR_ARG2
67
68CERRWARN +=	-_gcc=-Wno-type-limits
69CERRWARN +=	-_gcc=-Wno-parentheses
70CERRWARN +=	-_gcc=-Wno-uninitialized
71
72CFLAGS +=	$(CCVERBOSE)
73CPPFLAGS +=	-D_REENTRANT
74
75C99MODE=	-xc99=%all
76C99LMODE=	-Xc99=%all
77
78$(LINTLIB) :=	SRCS = $(SRCDIR)/$(LINTSRC)
79
80.KEEP_STATE:
81
82all: $(LIBS)
83
84lint: lintcheck
85
86include ../../Makefile.targ
87
88pics/%.o: $(SRC)/common/nvpair/%.c
89	$(COMPILE.c) -o $@ $<
90	$(POST_PROCESS_O)
91