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 2010 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
26#
27# Copyright (c) 2018, Joyent, Inc.
28
29LIBRARY =	libshare_smb.a
30VERS =		.1
31SMBMLSVC_DIR	= $(SRC)/lib/smbsrv/libmlsvc/common
32SMBBASE_DIR	= $(SRC)/lib/smbsrv/libsmb/common
33SMBCOMMON_DIR	= $(SRC)/common/smbsrv
34
35LIBOBJS =	libshare_smb.o smb_share_doorclnt.o
36SMBCOMMON_OBJ =	smb_door_legacy.o smb_cfg_util.o
37SMBBASE_OBJ =	smb_cfg.o smb_scfutil.o
38OBJECTS =	$(LIBOBJS) $(SMBCOMMON_OBJ) $(SMBBASE_OBJ)
39
40include ../../../Makefile.lib
41
42ROOTLIBDIR =	$(ROOT)/usr/lib/fs/smb
43ROOTLIBDIR64 =	$(ROOT)/usr/lib/fs/smb/$(MACH64)
44
45LIBSRCS = $(LIBOBJS:%.o=$(SRCDIR)/%.c)
46
47LIBS =		$(DYNLIB)
48LDLIBS +=	-lshare -lscf -luuid -ldlpi -lnsl -lnvpair -lxml2 -lumem -lc
49NATIVE_LIBS +=	libxml2.so
50
51CSTD =		$(CSTD_GNU99)
52
53CFLAGS +=	$(CCVERBOSE)
54
55CPPFLAGS +=	-D_REENTRANT -I$(ADJUNCT_PROTO)/usr/include/libxml2 \
56		-I$(SRCDIR)/../common
57$(ENABLE_SMB_PRINTING) CPPFLAGS += -DHAVE_CUPS
58
59# workaround for smatch 0.6.1-rc1-il-7
60pics/smb_share_doorclnt.o := SMOFF += check_free
61
62.KEEP_STATE:
63
64all: $(LIBS)
65
66install: all
67
68pics/smb_door_client.o:       $(SMBBASE_DIR)/smb_door_client.c
69	$(COMPILE.c) -o $@ $(SMBBASE_DIR)/smb_door_client.c
70	$(POST_PROCESS_O)
71
72pics/smb_door_legacy.o:       $(SMBCOMMON_DIR)/smb_door_legacy.c
73	$(COMPILE.c) -o $@ $(SMBCOMMON_DIR)/smb_door_legacy.c
74	$(POST_PROCESS_O)
75
76pics/smb_cfg_util.o:       $(SMBCOMMON_DIR)/smb_cfg_util.c
77	$(COMPILE.c) -o $@ $(SMBCOMMON_DIR)/smb_cfg_util.c
78	$(POST_PROCESS_O)
79
80pics/smb_cfg.o:       $(SMBBASE_DIR)/smb_cfg.c
81	$(COMPILE.c) -o $@ $(SMBBASE_DIR)/smb_cfg.c
82	$(POST_PROCESS_O)
83
84pics/smb_scfutil.o:       $(SMBBASE_DIR)/smb_scfutil.c
85	$(COMPILE.c) -o $@ $(SMBBASE_DIR)/smb_scfutil.c
86	$(POST_PROCESS_O)
87
88include ../../../Makefile.targ
89