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 2016 Igor Kozhukhov <ikozhukhov@gmail.com> 24 # Copyright (c) 2011, 2016 by Delphix. All rights reserved. 25 # Copyright 2016 Nexenta Systems, Inc. All rights reserved. 26 # 27 28 LIBRARY= libzfs.a 29 VERS= .1 30 31 OBJS_SHARED= \ 32 zfeature_common.o \ 33 zfs_sendrecv.o \ 34 zfs_comutil.o \ 35 zfs_deleg.o \ 36 zfs_fletcher.o \ 37 zfs_namecheck.o \ 38 zfs_prop.o \ 39 zpool_prop.o \ 40 zprop_common.o \ 41 cos_prop.o \ 42 vdev_prop.o 43 44 OBJS_COMMON= \ 45 libzfs_changelist.o \ 46 libzfs_config.o \ 47 libzfs_dataset.o \ 48 libzfs_diff.o \ 49 libzfs_fru.o \ 50 libzfs_import.o \ 51 libzfs_iter.o \ 52 libzfs_mount.o \ 53 libzfs_pool.o \ 54 libzfs_sendrecv.o \ 55 libzfs_status.o \ 56 libzfs_util.o 57 58 OBJECTS= $(OBJS_COMMON) $(OBJS_SHARED) 59 60 include ../../Makefile.lib 61 62 # libzfs must be installed in the root filesystem for mount(1M) 63 include ../../Makefile.rootfs 64 65 LIBS= $(DYNLIB) $(LINTLIB) 66 67 SRCDIR = ../common 68 69 INCS += -I$(SRCDIR) 70 INCS += -I../../../uts/common/fs/zfs 71 INCS += -I../../../common/zfs 72 INCS += -I../../libc/inc 73 74 CSTD= $(CSTD_GNU99) 75 C99LMODE= -Xc99=%all 76 LDLIBS += -lc -lm -ldevid -lgen -lnvpair -luutil -lavl -lefi \ 77 -ladm -lidmap -ltsol -lmd -lumem -lzfs_core -lcmdutils 78 CPPFLAGS += $(INCS) -D_LARGEFILE64_SOURCE=1 -D_REENTRANT 79 $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 80 81 # There's no lint library for zlib, so only include this when building 82 $(DYNLIB) := LDLIBS += -lz 83 84 LINTFLAGS += -erroff=E_STATIC_UNUSED 85 LINTFLAGS64 += -erroff=E_STATIC_UNUSED 86 87 SRCS= $(OBJS_COMMON:%.o=$(SRCDIR)/%.c) \ 88 $(OBJS_SHARED:%.o=$(SRC)/common/zfs/%.c) 89 $(LINTLIB) := SRCS= $(SRCDIR)/$(LINTSRC) 90 91 .KEEP_STATE: 92 93 all: $(LIBS) 94 95 lint: lintcheck 96 97 pics/%.o: ../../../common/zfs/%.c 98 $(COMPILE.c) -o $@ $< 99 $(POST_PROCESS_O) 100 101 include ../../Makefile.targ