1b819cea2SGordon Ross# 2b819cea2SGordon Ross# CDDL HEADER START 3b819cea2SGordon Ross# 4b819cea2SGordon Ross# The contents of this file are subject to the terms of the 5b819cea2SGordon Ross# Common Development and Distribution License (the "License"). 6b819cea2SGordon Ross# You may not use this file except in compliance with the License. 7b819cea2SGordon Ross# 8b819cea2SGordon Ross# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9b819cea2SGordon Ross# or http://www.opensolaris.org/os/licensing. 10b819cea2SGordon Ross# See the License for the specific language governing permissions 11b819cea2SGordon Ross# and limitations under the License. 12b819cea2SGordon Ross# 13b819cea2SGordon Ross# When distributing Covered Code, include this CDDL HEADER in each 14b819cea2SGordon Ross# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15b819cea2SGordon Ross# If applicable, add the following below this CDDL HEADER, with the 16b819cea2SGordon Ross# fields enclosed by brackets "[]" replaced with your own identifying 17b819cea2SGordon Ross# information: Portions Copyright [yyyy] [name of copyright owner] 18b819cea2SGordon Ross# 19b819cea2SGordon Ross# CDDL HEADER END 20b819cea2SGordon Ross# 21b819cea2SGordon Ross# 22b819cea2SGordon Ross# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23b819cea2SGordon Ross# Use is subject to license terms. 24b819cea2SGordon Ross# 25*f82c7503SGordon Ross# Copyright 2014-2021 Tintri by DDN, Inc. All rights reserved. 26b819cea2SGordon Ross# 2705ede3dbSJohn Levon# Copyright (c) 2018, Joyent, Inc. 284e065a9fSAlexander Stetsenko# 294e065a9fSAlexander Stetsenko# Copyright 2020 RackTop Systems, Inc. 30b819cea2SGordon Ross 31b819cea2SGordon RossLIBRARY = libfksmbsrv.a 32b819cea2SGordon RossVERS = .1 33b819cea2SGordon Ross 34b819cea2SGordon RossOBJS_LOCAL = \ 35b819cea2SGordon Ross fksmb_cred.o \ 361160dcf7SMatt Barden fksmb_encrypt_pkcs.o \ 37b819cea2SGordon Ross fksmb_fem.o \ 38b819cea2SGordon Ross fksmb_idmap.o \ 39b819cea2SGordon Ross fksmb_init.o \ 40b819cea2SGordon Ross fksmb_kdoor.o \ 414e065a9fSAlexander Stetsenko fksmb_preauth_pkcs.o \ 42b819cea2SGordon Ross fksmb_sign_pkcs.o \ 43*f82c7503SGordon Ross fake_ksocket.o \ 44b819cea2SGordon Ross fake_lookup.o \ 45b819cea2SGordon Ross fake_nblk.o \ 46*f82c7503SGordon Ross fake_stream.o \ 47b819cea2SGordon Ross fake_vfs.o \ 48b819cea2SGordon Ross fake_vnode.o \ 49b819cea2SGordon Ross fake_vop.o \ 50b819cea2SGordon Ross fake_xattr.o \ 51b819cea2SGordon Ross reparse.o \ 52b819cea2SGordon Ross vncache.o 53b819cea2SGordon Ross 54b819cea2SGordon Ross# See also: $SRC/uts/common/Makefile.files 55b819cea2SGordon Ross# NB: Intentionally ommitted, compared w/ the above: 56b819cea2SGordon Ross# smb_cred, smb_fem, smb_idmap, smb_init, smb_kdoor 57b819cea2SGordon Ross# 58b819cea2SGordon RossOBJS_FS_SMBSRV = \ 59b819cea2SGordon Ross smb_acl.o \ 60b819cea2SGordon Ross smb_alloc.o \ 6112b65585SGordon Ross smb_authenticate.o \ 62b819cea2SGordon Ross smb_close.o \ 6394047d49SGordon Ross smb_cmn_oplock.o \ 64a90cf9f2SGordon Ross smb_cmn_rename.o \ 65a90cf9f2SGordon Ross smb_cmn_setfile.o \ 66b819cea2SGordon Ross smb_common_open.o \ 67b819cea2SGordon Ross smb_common_transact.o \ 68b819cea2SGordon Ross smb_create.o \ 69b819cea2SGordon Ross smb_delete.o \ 70a90cf9f2SGordon Ross smb_dfs.o \ 71b819cea2SGordon Ross smb_directory.o \ 72b819cea2SGordon Ross smb_dispatch.o \ 73b819cea2SGordon Ross smb_echo.o \ 74a90cf9f2SGordon Ross smb_errno.o \ 75b819cea2SGordon Ross smb_find.o \ 76b819cea2SGordon Ross smb_flush.o \ 77b819cea2SGordon Ross smb_fsinfo.o \ 78b819cea2SGordon Ross smb_fsops.o \ 79b819cea2SGordon Ross smb_kshare.o \ 80b819cea2SGordon Ross smb_kutil.o \ 81b819cea2SGordon Ross smb_lock.o \ 82b819cea2SGordon Ross smb_lock_byte_range.o \ 83b819cea2SGordon Ross smb_locking_andx.o \ 84b819cea2SGordon Ross smb_logoff_andx.o \ 85b819cea2SGordon Ross smb_mangle_name.o \ 86b819cea2SGordon Ross smb_mbuf_marshaling.o \ 87b819cea2SGordon Ross smb_mbuf_util.o \ 88b819cea2SGordon Ross smb_negotiate.o \ 89b819cea2SGordon Ross smb_net.o \ 90b819cea2SGordon Ross smb_node.o \ 91a90cf9f2SGordon Ross smb_notify.o \ 92b819cea2SGordon Ross smb_nt_cancel.o \ 93b819cea2SGordon Ross smb_nt_create_andx.o \ 94b819cea2SGordon Ross smb_nt_transact_create.o \ 95b819cea2SGordon Ross smb_nt_transact_ioctl.o \ 96b819cea2SGordon Ross smb_nt_transact_notify_change.o \ 97b819cea2SGordon Ross smb_nt_transact_quota.o \ 98b819cea2SGordon Ross smb_nt_transact_security.o \ 99b819cea2SGordon Ross smb_odir.o \ 100b819cea2SGordon Ross smb_ofile.o \ 101b819cea2SGordon Ross smb_open_andx.o \ 102b819cea2SGordon Ross smb_opipe.o \ 103b819cea2SGordon Ross smb_oplock.o \ 104b819cea2SGordon Ross smb_pathname.o \ 105b819cea2SGordon Ross smb_print.o \ 106b819cea2SGordon Ross smb_process_exit.o \ 107b819cea2SGordon Ross smb_query_fileinfo.o \ 108a90cf9f2SGordon Ross smb_quota.o \ 109b819cea2SGordon Ross smb_read.o \ 110b819cea2SGordon Ross smb_rename.o \ 111b819cea2SGordon Ross smb_sd.o \ 112b819cea2SGordon Ross smb_seek.o \ 113b819cea2SGordon Ross smb_server.o \ 114b819cea2SGordon Ross smb_session.o \ 115b819cea2SGordon Ross smb_session_setup_andx.o \ 116b819cea2SGordon Ross smb_set_fileinfo.o \ 117b819cea2SGordon Ross smb_signing.o \ 11894047d49SGordon Ross smb_srv_oplock.o \ 119b819cea2SGordon Ross smb_thread.o \ 120b819cea2SGordon Ross smb_tree.o \ 121b819cea2SGordon Ross smb_trans2_create_directory.o \ 122b819cea2SGordon Ross smb_trans2_dfs.o \ 123b819cea2SGordon Ross smb_trans2_find.o \ 124b819cea2SGordon Ross smb_tree_connect.o \ 125b819cea2SGordon Ross smb_unlock_byte_range.o \ 126b819cea2SGordon Ross smb_user.o \ 127b819cea2SGordon Ross smb_vops.o \ 128b819cea2SGordon Ross smb_vss.o \ 129a90cf9f2SGordon Ross smb_write.o \ 130a90cf9f2SGordon Ross \ 131d082c877SGordon Ross smb2_aapl.o \ 132a90cf9f2SGordon Ross smb2_dispatch.o \ 133811599a4SMatt Barden smb2_durable.o \ 134a90cf9f2SGordon Ross smb2_cancel.o \ 135a90cf9f2SGordon Ross smb2_change_notify.o \ 136a90cf9f2SGordon Ross smb2_close.o \ 137a90cf9f2SGordon Ross smb2_create.o \ 138a90cf9f2SGordon Ross smb2_echo.o \ 139a90cf9f2SGordon Ross smb2_flush.o \ 14055f0a249SGordon Ross smb2_fsctl_copychunk.o \ 14155f0a249SGordon Ross smb2_fsctl_fs.o \ 1428d499c80SGordon Ross smb2_fsctl_odx.o \ 14355f0a249SGordon Ross smb2_fsctl_sparse.o \ 144a90cf9f2SGordon Ross smb2_ioctl.o \ 14594047d49SGordon Ross smb2_lease.o \ 146a90cf9f2SGordon Ross smb2_lock.o \ 147a90cf9f2SGordon Ross smb2_logoff.o \ 148a90cf9f2SGordon Ross smb2_negotiate.o \ 149a90cf9f2SGordon Ross smb2_ofile.o \ 150a90cf9f2SGordon Ross smb2_oplock.o \ 151a90cf9f2SGordon Ross smb2_qinfo_file.o \ 152a90cf9f2SGordon Ross smb2_qinfo_fs.o \ 153a90cf9f2SGordon Ross smb2_qinfo_sec.o \ 154a90cf9f2SGordon Ross smb2_qinfo_quota.o \ 155a90cf9f2SGordon Ross smb2_query_dir.o \ 156a90cf9f2SGordon Ross smb2_query_info.o \ 157a90cf9f2SGordon Ross smb2_read.o \ 158a90cf9f2SGordon Ross smb2_session_setup.o \ 159a90cf9f2SGordon Ross smb2_set_info.o \ 160a90cf9f2SGordon Ross smb2_setinfo_file.o \ 161a90cf9f2SGordon Ross smb2_setinfo_fs.o \ 162a90cf9f2SGordon Ross smb2_setinfo_quota.o \ 163a90cf9f2SGordon Ross smb2_setinfo_sec.o \ 164a90cf9f2SGordon Ross smb2_signing.o \ 165a90cf9f2SGordon Ross smb2_tree_connect.o \ 166a90cf9f2SGordon Ross smb2_tree_disconn.o \ 1671160dcf7SMatt Barden smb2_write.o \ 1681160dcf7SMatt Barden \ 1694e065a9fSAlexander Stetsenko smb3_kdf.o \ 1701160dcf7SMatt Barden smb3_encrypt.o 171b819cea2SGordon Ross 172b819cea2SGordon Ross# Can't just link with -lsmb because of user vs kernel API 173b819cea2SGordon Ross# i.e. can't call free with mem from kmem_alloc, which is 174b819cea2SGordon Ross# what happens if we just link with -lsmb 175b819cea2SGordon RossOBJS_CMN_SMBSRV = \ 1761160dcf7SMatt Barden smb_cfg_util.o \ 177b819cea2SGordon Ross smb_inet.o \ 178b819cea2SGordon Ross smb_match.o \ 179b819cea2SGordon Ross smb_msgbuf.o \ 180b819cea2SGordon Ross smb_native.o \ 181b819cea2SGordon Ross smb_netbios_util.o \ 182b819cea2SGordon Ross smb_oem.o \ 183b819cea2SGordon Ross smb_sid.o \ 184b819cea2SGordon Ross smb_string.o \ 185b819cea2SGordon Ross smb_token.o \ 186b819cea2SGordon Ross smb_token_xdr.o \ 187b819cea2SGordon Ross smb_utf8.o \ 188b819cea2SGordon Ross smb_xdr.o 189b819cea2SGordon Ross 190b819cea2SGordon RossOBJS_MISC = \ 191b819cea2SGordon Ross acl_common.o \ 192b819cea2SGordon Ross pathname.o \ 193b819cea2SGordon Ross refstr.o \ 194a90cf9f2SGordon Ross smb_status2winerr.o \ 195b819cea2SGordon Ross xattr_common.o 196b819cea2SGordon Ross 19793bc28dbSGordon Ross# This one can't be in OBJECTS, as it has to depend on 19893bc28dbSGordon Ross# all of those for the COMPILE.d rule (which processes 19993bc28dbSGordon Ross# all those objects collecting probe instances). 20093bc28dbSGordon RossDTRACE_OBJS = fksmb_dt.o 20193bc28dbSGordon Ross 202b819cea2SGordon RossOBJECTS = \ 203b819cea2SGordon Ross $(OBJS_LOCAL) \ 204b819cea2SGordon Ross $(OBJS_FS_SMBSRV) \ 205b819cea2SGordon Ross $(OBJS_CMN_SMBSRV) \ 206b819cea2SGordon Ross $(OBJS_MISC) 207b819cea2SGordon Ross 208b819cea2SGordon Rossinclude ../../../Makefile.lib 209b819cea2SGordon Rossinclude ../../Makefile.lib 210b819cea2SGordon Ross 211b819cea2SGordon Ross# Force SOURCEDEBUG 212299e09deSRichard LoweCSOURCEDEBUGFLAGS = $(CCGDEBUG) 213299e09deSRichard LoweCCSOURCEDEBUGFLAGS = $(CCGDEBUG) 214299e09deSRichard LoweSTRIP_STABS = : 215b819cea2SGordon Ross 216b819cea2SGordon Ross 217b819cea2SGordon Ross# Note: need our sys includes _before_ ENVCPPFLAGS, proto etc. 2188d94f651SGordon Ross# Also, like Makefile.uts, reset CPPFLAGS 219b819cea2SGordon RossCPPFLAGS.first += -I../../../libfakekernel/common 220b819cea2SGordon RossCPPFLAGS.first += -I../common 2218d94f651SGordon RossCPPFLAGS = $(CPPFLAGS.first) 222b819cea2SGordon Ross 223b819cea2SGordon RossINCS += -I$(SRC)/uts/common 224b819cea2SGordon RossINCS += -I$(SRC)/common/smbsrv 225b819cea2SGordon RossINCS += -I$(SRC)/common 226b819cea2SGordon Ross 227b819cea2SGordon RossLDLIBS += $(MACH_LDLIBS) 228b819cea2SGordon RossLDLIBS += -lfakekernel -lidmap -lcmdutils 229b819cea2SGordon RossLDLIBS += -lavl -lnvpair -lnsl -lpkcs11 -lreparse -lc 230b819cea2SGordon Ross 231b819cea2SGordon RossCPPFLAGS += $(INCS) -D_REENTRANT -D_FAKE_KERNEL 232b819cea2SGordon RossCPPFLAGS += -D_FILE_OFFSET_BITS=64 233b819cea2SGordon Ross# Always want DEBUG here 234b819cea2SGordon RossCPPFLAGS += -DDEBUG 235b819cea2SGordon Ross 236b819cea2SGordon RossCERRWARN += -_gcc=-Wno-switch 237b819cea2SGordon Ross 23805ede3dbSJohn Levon# not linted 23905ede3dbSJohn LevonSMATCH=off 24005ede3dbSJohn Levon 241b819cea2SGordon RossSRCS= $(OBJS_LOCAL:%.o=$(SRCDIR)/%.c) \ 242b819cea2SGordon Ross $(OBJS_FS_SMBSRV:%.o=$(SRC)/uts/common/fs/smbsrv/%.c) \ 243b819cea2SGordon Ross $(OBJS_CMN_SMBSRV:%.o=$(SRC)/common/smbsrv/%.c) 244b819cea2SGordon Ross 245b819cea2SGordon Rossall: 246b819cea2SGordon Ross 247b819cea2SGordon Rosspics/%.o: $(SRC)/uts/common/fs/smbsrv/%.c 248b819cea2SGordon Ross $(COMPILE.c) -o $@ $< 249b819cea2SGordon Ross $(POST_PROCESS_O) 250b819cea2SGordon Ross 251b819cea2SGordon Rosspics/acl_common.o: $(SRC)/common/acl/acl_common.c 252b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/common/acl/acl_common.c 253b819cea2SGordon Ross $(POST_PROCESS_O) 254b819cea2SGordon Ross 255b819cea2SGordon Rosspics/pathname.o: $(SRC)/uts/common/fs/pathname.c 256b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/uts/common/fs/pathname.c 257b819cea2SGordon Ross $(POST_PROCESS_O) 258b819cea2SGordon Ross 259b819cea2SGordon Rosspics/refstr.o: $(SRC)/uts/common/os/refstr.c 260b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/uts/common/os/refstr.c 261b819cea2SGordon Ross $(POST_PROCESS_O) 262b819cea2SGordon Ross 26393bc28dbSGordon Rosspics/smb_status2winerr.o: $(SRC)/common/smbclnt/smb_status2winerr.c 26493bc28dbSGordon Ross $(COMPILE.c) -o $@ $(SRC)/common/smbclnt/smb_status2winerr.c 26593bc28dbSGordon Ross $(POST_PROCESS_O) 26693bc28dbSGordon Ross 267b819cea2SGordon Rosspics/xattr_common.o: $(SRC)/common/xattr/xattr_common.c 268b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/common/xattr/xattr_common.c 269b819cea2SGordon Ross $(POST_PROCESS_O) 270b819cea2SGordon Ross 271b819cea2SGordon Ross# Makefile.targ has rule for $(SRC)/common/smbsrv/%.c 272b819cea2SGordon Ross 273b819cea2SGordon Ross.KEEP_STATE: 274b819cea2SGordon Ross 275b819cea2SGordon Rossinclude ../../Makefile.targ 276b819cea2SGordon Rossinclude ../../../Makefile.targ 27793bc28dbSGordon Ross 27893bc28dbSGordon RossEXTPICS= $(DTRACE_OBJS:%=pics/%) 27993bc28dbSGordon RossCLEANFILES += $(EXTPICS) 28093bc28dbSGordon Ross 28193bc28dbSGordon Ross$(OBJS) $(PICS) : ../common/fksmb_dt.h 28293bc28dbSGordon Ross 28393bc28dbSGordon Rosspics/fksmb_dt.o: ../common/fksmb_dt.d $(PICS) 28493bc28dbSGordon Ross $(COMPILE.d) -C -s ../common/fksmb_dt.d -o $@ $(PICS) 28593bc28dbSGordon Ross $(POST_PROCESS_O) 286