xref: /illumos-gate/usr/src/lib/libzfs/Makefile.com (revision 0886dcadf4b2cd677c3b944167f0d16ccb243616)
1fa9e4066Sahrens#
2fa9e4066Sahrens# CDDL HEADER START
3fa9e4066Sahrens#
4fa9e4066Sahrens# The contents of this file are subject to the terms of the
5f808c858Sraf# Common Development and Distribution License (the "License").
6f808c858Sraf# You may not use this file except in compliance with the License.
7fa9e4066Sahrens#
8fa9e4066Sahrens# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9fa9e4066Sahrens# or http://www.opensolaris.org/os/licensing.
10fa9e4066Sahrens# See the License for the specific language governing permissions
11fa9e4066Sahrens# and limitations under the License.
12fa9e4066Sahrens#
13fa9e4066Sahrens# When distributing Covered Code, include this CDDL HEADER in each
14fa9e4066Sahrens# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15fa9e4066Sahrens# If applicable, add the following below this CDDL HEADER, with the
16fa9e4066Sahrens# fields enclosed by brackets "[]" replaced with your own identifying
17fa9e4066Sahrens# information: Portions Copyright [yyyy] [name of copyright owner]
18fa9e4066Sahrens#
19fa9e4066Sahrens# CDDL HEADER END
20fa9e4066Sahrens#
21fa9e4066Sahrens#
2299d5e173STim Haley# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
2388f61deeSIgor Kozhukhov# Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
24591e0e13SSebastien Roy# Copyright (c) 2011, 2017 by Delphix. All rights reserved.
25d8ab6e12SDon Brady# Copyright 2020 Joyent, Inc.
26*0886dcadSAndy Fiddaman# Copyright 2024 Oxide Computer Company
27fa9e4066Sahrens#
28fa9e4066Sahrens
29fa9e4066SahrensLIBRARY= libzfs.a
30fa9e4066SahrensVERS= .1
31fa9e4066Sahrens
32*0886dcadSAndy Fiddamanamd64_OBJS_SHARED=		\
33*0886dcadSAndy Fiddaman	zfs_fletcher_avx512.o	\
34*0886dcadSAndy Fiddaman	zfs_fletcher_intel.o	\
35*0886dcadSAndy Fiddaman	zfs_fletcher_sse.o
36*0886dcadSAndy Fiddaman
37069f55e2SEric SchrockOBJS_SHARED=				\
38*0886dcadSAndy Fiddaman	$($(MACH64)_OBJS_SHARED)	\
39ad135b5dSChristopher Siden	zfeature_common.o		\
40069f55e2SEric Schrock	zfs_comutil.o			\
41069f55e2SEric Schrock	zfs_deleg.o			\
42069f55e2SEric Schrock	zfs_fletcher.o			\
43*0886dcadSAndy Fiddaman	zfs_fletcher_superscalar.o	\
44*0886dcadSAndy Fiddaman	zfs_fletcher_superscalar4.o	\
45069f55e2SEric Schrock	zfs_namecheck.o			\
46069f55e2SEric Schrock	zfs_prop.o			\
47069f55e2SEric Schrock	zpool_prop.o			\
48069f55e2SEric Schrock	zprop_common.o
49069f55e2SEric Schrock
50069f55e2SEric SchrockOBJS_COMMON=			\
51069f55e2SEric Schrock	libzfs_changelist.o	\
52069f55e2SEric Schrock	libzfs_config.o		\
53eb633035STom Caputi	libzfs_crypto.o		\
54069f55e2SEric Schrock	libzfs_dataset.o	\
5599d5e173STim Haley	libzfs_diff.o		\
56069f55e2SEric Schrock	libzfs_fru.o		\
57069f55e2SEric Schrock	libzfs_import.o		\
5819b94df9SMatthew Ahrens	libzfs_iter.o		\
59069f55e2SEric Schrock	libzfs_mount.o		\
60069f55e2SEric Schrock	libzfs_pool.o		\
61069f55e2SEric Schrock	libzfs_sendrecv.o	\
62069f55e2SEric Schrock	libzfs_status.o		\
63591e0e13SSebastien Roy	libzfs_util.o		\
64591e0e13SSebastien Roy	libzfs_taskq.o
65069f55e2SEric Schrock
66fa9e4066SahrensOBJECTS= $(OBJS_COMMON) $(OBJS_SHARED)
67fa9e4066Sahrens
68fa9e4066Sahrensinclude ../../Makefile.lib
69fa9e4066Sahrens
70bbf21555SRichard Lowe# libzfs must be installed in the root filesystem for mount(8)
7164dbca9eSeschrockinclude ../../Makefile.rootfs
7264dbca9eSeschrock
735801b0f0SToomas SoomeLIBS=	$(DYNLIB)
74fa9e4066Sahrens
75f808c858SrafSRCDIR =	../common
76f808c858Sraf
77fa9e4066SahrensINCS += -I$(SRCDIR)
78fa9e4066SahrensINCS += -I../../../uts/common/fs/zfs
79fa9e4066SahrensINCS += -I../../../common/zfs
804f67d755SEric TaylorINCS += -I../../libc/inc
81d8ab6e12SDon BradyINCS += -I../../libzutil/common
82fa9e4066Sahrens
83bd0ce624SYuri PankovCSTD=	$(CSTD_GNU99)
84681d9761SEric TaylorLDLIBS +=	-lc -lm -ldevid -lgen -lnvpair -luutil -lavl -lefi \
85d8ab6e12SDon Brady	-lidmap -ltsol -lcryptoutil -lpkcs11 -lmd -lumem -lzfs_core \
86d8ab6e12SDon Brady	-ldevinfo -lzutil
8799d5e173STim HaleyCPPFLAGS +=	$(INCS) -D_LARGEFILE64_SOURCE=1 -D_REENTRANT
887c13517fSSerapheim Dimitropoulos$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
89fa9e4066Sahrens
9005ede3dbSJohn Levon# not linted
9105ede3dbSJohn LevonSMATCH=off
9205ede3dbSJohn Levon
935801b0f0SToomas SoomeLDLIBS +=	-lz
945801b0f0SToomas SoomeNATIVE_LIBS += libz.so
954ba5b961SDan Kimmel
96fa9e4066SahrensSRCS=	$(OBJS_COMMON:%.o=$(SRCDIR)/%.c)	\
97fa9e4066Sahrens	$(OBJS_SHARED:%.o=$(SRC)/common/zfs/%.c)
98eb633035STom Caputi
99fa9e4066Sahrens.KEEP_STATE:
100fa9e4066Sahrens
101fa9e4066Sahrensall: $(LIBS)
102fa9e4066Sahrens
103fa9e4066Sahrenspics/%.o: ../../../common/zfs/%.c
104fa9e4066Sahrens	$(COMPILE.c) -o $@ $<
105fa9e4066Sahrens	$(POST_PROCESS_O)
106fa9e4066Sahrens
107fa9e4066Sahrensinclude ../../Makefile.targ
108