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