xref: /illumos-gate/usr/src/lib/libzpool/Makefile.com (revision 5c25b6f10367f6cb7b3d8b8bc7e374712eb977c2)
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 (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
23# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
24# Copyright 2017 Joyent, Inc.
25#
26
27LIBRARY= libzpool.a
28VERS= .1
29
30# include the list of ZFS sources
31include ../../../uts/common/Makefile.files
32KERNEL_OBJS = kernel.o taskq.o util.o
33DTRACE_OBJS = zfs.o
34
35OBJECTS=$(ZFS_COMMON_OBJS) $(ZFS_SHARED_OBJS) $(KERNEL_OBJS)
36
37# include library definitions
38include ../../Makefile.lib
39
40ZFS_COMMON_SRCS=	$(ZFS_COMMON_OBJS:%.o=../../../uts/common/fs/zfs/%.c)
41ZFS_SHARED_SRCS=	$(ZFS_SHARED_OBJS:%.o=../../../common/zfs/%.c)
42KERNEL_SRCS=		$(KERNEL_OBJS:%.o=../common/%.c)
43
44SRCS=$(ZFS_COMMON_SRCS) $(ZFS_SHARED_SRCS) $(KERNEL_SRCS)
45SRCDIR=		../common
46
47# There should be a mapfile here
48MAPFILES =
49
50LIBS +=		$(LINTLIB) $(DYNLIB)
51
52INCS += -I../common
53INCS += -I../../../uts/common/fs/zfs
54INCS += -I../../../common/zfs
55INCS += -I../../../common
56
57CLEANFILES += ../common/zfs.h
58CLEANFILES += $(EXTPICS)
59
60$(LINTLIB) := SRCS=	$(SRCDIR)/$(LINTSRC)
61$(LINTLIB): ../common/zfs.h
62
63C99MODE=	-xc99=%all
64C99LMODE=	-Xc99=%all
65
66CFLAGS +=	-g $(CCVERBOSE) $(CNOGLOBAL)
67CFLAGS64 +=	-g $(CCVERBOSE)	$(CNOGLOBAL)
68LDLIBS +=	-lcmdutils -lumem -lavl -lnvpair -lz -lc -lsysevent -lmd
69CPPFLAGS +=	$(INCS)	-DDEBUG
70
71CERRWARN +=	-_gcc=-Wno-parentheses
72CERRWARN +=	-_gcc=-Wno-switch
73CERRWARN +=	-_gcc=-Wno-type-limits
74CERRWARN +=	-_gcc=-Wno-unused-variable
75CERRWARN +=	-_gcc=-Wno-empty-body
76CERRWARN +=	-_gcc=-Wno-unused-function
77CERRWARN +=	-_gcc=-Wno-unused-label
78
79.KEEP_STATE:
80
81all: $(LIBS)
82
83lint: $(LINTLIB)
84
85include ../../Makefile.targ
86
87EXTPICS= $(DTRACE_OBJS:%=pics/%)
88
89pics/%.o: ../../../uts/common/fs/zfs/%.c ../common/zfs.h
90	$(COMPILE.c) -o $@ $<
91	$(POST_PROCESS_O)
92
93pics/%.o: ../../../common/zfs/%.c ../common/zfs.h
94	$(COMPILE.c) -o $@ $<
95	$(POST_PROCESS_O)
96
97pics/%.o: ../common/%.d $(PICS)
98	$(COMPILE.d) -C -s $< -o $@ $(PICS)
99	$(POST_PROCESS_O)
100
101../common/%.h: ../common/%.d
102	$(DTRACE) -xnolibs -h -s $< -o $@
103