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# 25b819cea2SGordon Ross# Copyright 2014 Nexenta Systems, Inc. All rights reserved. 26b819cea2SGordon Ross# 27b819cea2SGordon Ross 28b819cea2SGordon RossLIBRARY = libfksmbsrv.a 29b819cea2SGordon RossVERS = .1 30b819cea2SGordon Ross 31b819cea2SGordon RossOBJS_LOCAL = \ 32b819cea2SGordon Ross fksmb_cred.o \ 33*a90cf9f2SGordon Ross fksmb_dt.o \ 34b819cea2SGordon Ross fksmb_fem.o \ 35b819cea2SGordon Ross fksmb_idmap.o \ 36b819cea2SGordon Ross fksmb_init.o \ 37b819cea2SGordon Ross fksmb_kdoor.o \ 38b819cea2SGordon Ross fksmb_sign_pkcs.o \ 39b819cea2SGordon Ross fake_lookup.o \ 40b819cea2SGordon Ross fake_nblk.o \ 41b819cea2SGordon Ross fake_vfs.o \ 42b819cea2SGordon Ross fake_vnode.o \ 43b819cea2SGordon Ross fake_vop.o \ 44b819cea2SGordon Ross fake_xattr.o \ 45b819cea2SGordon Ross reparse.o \ 46b819cea2SGordon Ross vncache.o 47b819cea2SGordon Ross 48b819cea2SGordon Ross# See also: $SRC/uts/common/Makefile.files 49b819cea2SGordon Ross# NB: Intentionally ommitted, compared w/ the above: 50b819cea2SGordon Ross# smb_cred, smb_fem, smb_idmap, smb_init, smb_kdoor 51b819cea2SGordon Ross# 52b819cea2SGordon RossOBJS_FS_SMBSRV = \ 53b819cea2SGordon Ross smb_acl.o \ 54b819cea2SGordon Ross smb_alloc.o \ 5512b65585SGordon Ross smb_authenticate.o \ 56b819cea2SGordon Ross smb_close.o \ 57*a90cf9f2SGordon Ross smb_cmn_rename.o \ 58*a90cf9f2SGordon Ross smb_cmn_setfile.o \ 59b819cea2SGordon Ross smb_common_open.o \ 60b819cea2SGordon Ross smb_common_transact.o \ 61b819cea2SGordon Ross smb_create.o \ 62b819cea2SGordon Ross smb_delete.o \ 63*a90cf9f2SGordon Ross smb_dfs.o \ 64b819cea2SGordon Ross smb_directory.o \ 65b819cea2SGordon Ross smb_dispatch.o \ 66b819cea2SGordon Ross smb_echo.o \ 67*a90cf9f2SGordon Ross smb_errno.o \ 68b819cea2SGordon Ross smb_find.o \ 69b819cea2SGordon Ross smb_flush.o \ 70b819cea2SGordon Ross smb_fsinfo.o \ 71b819cea2SGordon Ross smb_fsops.o \ 72b819cea2SGordon Ross smb_kshare.o \ 73b819cea2SGordon Ross smb_kutil.o \ 74b819cea2SGordon Ross smb_lock.o \ 75b819cea2SGordon Ross smb_lock_byte_range.o \ 76b819cea2SGordon Ross smb_locking_andx.o \ 77b819cea2SGordon Ross smb_logoff_andx.o \ 78b819cea2SGordon Ross smb_mangle_name.o \ 79b819cea2SGordon Ross smb_mbuf_marshaling.o \ 80b819cea2SGordon Ross smb_mbuf_util.o \ 81b819cea2SGordon Ross smb_negotiate.o \ 82b819cea2SGordon Ross smb_net.o \ 83b819cea2SGordon Ross smb_node.o \ 84*a90cf9f2SGordon Ross smb_notify.o \ 85b819cea2SGordon Ross smb_nt_cancel.o \ 86b819cea2SGordon Ross smb_nt_create_andx.o \ 87b819cea2SGordon Ross smb_nt_transact_create.o \ 88b819cea2SGordon Ross smb_nt_transact_ioctl.o \ 89b819cea2SGordon Ross smb_nt_transact_notify_change.o \ 90b819cea2SGordon Ross smb_nt_transact_quota.o \ 91b819cea2SGordon Ross smb_nt_transact_security.o \ 92b819cea2SGordon Ross smb_odir.o \ 93b819cea2SGordon Ross smb_ofile.o \ 94b819cea2SGordon Ross smb_open_andx.o \ 95b819cea2SGordon Ross smb_opipe.o \ 96b819cea2SGordon Ross smb_oplock.o \ 97b819cea2SGordon Ross smb_pathname.o \ 98b819cea2SGordon Ross smb_print.o \ 99b819cea2SGordon Ross smb_process_exit.o \ 100b819cea2SGordon Ross smb_query_fileinfo.o \ 101*a90cf9f2SGordon Ross smb_quota.o \ 102b819cea2SGordon Ross smb_read.o \ 103b819cea2SGordon Ross smb_rename.o \ 104b819cea2SGordon Ross smb_sd.o \ 105b819cea2SGordon Ross smb_seek.o \ 106b819cea2SGordon Ross smb_server.o \ 107b819cea2SGordon Ross smb_session.o \ 108b819cea2SGordon Ross smb_session_setup_andx.o \ 109b819cea2SGordon Ross smb_set_fileinfo.o \ 110b819cea2SGordon Ross smb_signing.o \ 111b819cea2SGordon Ross smb_thread.o \ 112b819cea2SGordon Ross smb_tree.o \ 113b819cea2SGordon Ross smb_trans2_create_directory.o \ 114b819cea2SGordon Ross smb_trans2_dfs.o \ 115b819cea2SGordon Ross smb_trans2_find.o \ 116b819cea2SGordon Ross smb_tree_connect.o \ 117b819cea2SGordon Ross smb_unlock_byte_range.o \ 118b819cea2SGordon Ross smb_user.o \ 119b819cea2SGordon Ross smb_vfs.o \ 120b819cea2SGordon Ross smb_vops.o \ 121b819cea2SGordon Ross smb_vss.o \ 122*a90cf9f2SGordon Ross smb_write.o \ 123*a90cf9f2SGordon Ross \ 124*a90cf9f2SGordon Ross smb2_dispatch.o \ 125*a90cf9f2SGordon Ross smb2_cancel.o \ 126*a90cf9f2SGordon Ross smb2_change_notify.o \ 127*a90cf9f2SGordon Ross smb2_close.o \ 128*a90cf9f2SGordon Ross smb2_create.o \ 129*a90cf9f2SGordon Ross smb2_echo.o \ 130*a90cf9f2SGordon Ross smb2_flush.o \ 131*a90cf9f2SGordon Ross smb2_ioctl.o \ 132*a90cf9f2SGordon Ross smb2_lock.o \ 133*a90cf9f2SGordon Ross smb2_logoff.o \ 134*a90cf9f2SGordon Ross smb2_negotiate.o \ 135*a90cf9f2SGordon Ross smb2_ofile.o \ 136*a90cf9f2SGordon Ross smb2_oplock.o \ 137*a90cf9f2SGordon Ross smb2_qinfo_file.o \ 138*a90cf9f2SGordon Ross smb2_qinfo_fs.o \ 139*a90cf9f2SGordon Ross smb2_qinfo_sec.o \ 140*a90cf9f2SGordon Ross smb2_qinfo_quota.o \ 141*a90cf9f2SGordon Ross smb2_query_dir.o \ 142*a90cf9f2SGordon Ross smb2_query_info.o \ 143*a90cf9f2SGordon Ross smb2_read.o \ 144*a90cf9f2SGordon Ross smb2_session_setup.o \ 145*a90cf9f2SGordon Ross smb2_set_info.o \ 146*a90cf9f2SGordon Ross smb2_setinfo_file.o \ 147*a90cf9f2SGordon Ross smb2_setinfo_fs.o \ 148*a90cf9f2SGordon Ross smb2_setinfo_quota.o \ 149*a90cf9f2SGordon Ross smb2_setinfo_sec.o \ 150*a90cf9f2SGordon Ross smb2_signing.o \ 151*a90cf9f2SGordon Ross smb2_tree_connect.o \ 152*a90cf9f2SGordon Ross smb2_tree_disconn.o \ 153*a90cf9f2SGordon Ross smb2_write.o 154b819cea2SGordon Ross 155b819cea2SGordon Ross# Can't just link with -lsmb because of user vs kernel API 156b819cea2SGordon Ross# i.e. can't call free with mem from kmem_alloc, which is 157b819cea2SGordon Ross# what happens if we just link with -lsmb 158b819cea2SGordon RossOBJS_CMN_SMBSRV = \ 159b819cea2SGordon Ross smb_inet.o \ 160b819cea2SGordon Ross smb_match.o \ 161b819cea2SGordon Ross smb_msgbuf.o \ 162b819cea2SGordon Ross smb_native.o \ 163b819cea2SGordon Ross smb_netbios_util.o \ 164b819cea2SGordon Ross smb_oem.o \ 165b819cea2SGordon Ross smb_sid.o \ 166b819cea2SGordon Ross smb_string.o \ 167b819cea2SGordon Ross smb_token.o \ 168b819cea2SGordon Ross smb_token_xdr.o \ 169b819cea2SGordon Ross smb_utf8.o \ 170b819cea2SGordon Ross smb_xdr.o 171b819cea2SGordon Ross 172b819cea2SGordon RossOBJS_MISC = \ 173b819cea2SGordon Ross acl_common.o \ 174b819cea2SGordon Ross pathname.o \ 175b819cea2SGordon Ross refstr.o \ 176*a90cf9f2SGordon Ross smb_status2winerr.o \ 177b819cea2SGordon Ross xattr_common.o 178b819cea2SGordon Ross 179b819cea2SGordon RossOBJECTS = \ 180b819cea2SGordon Ross $(OBJS_LOCAL) \ 181b819cea2SGordon Ross $(OBJS_FS_SMBSRV) \ 182b819cea2SGordon Ross $(OBJS_CMN_SMBSRV) \ 183b819cea2SGordon Ross $(OBJS_MISC) 184b819cea2SGordon Ross 185b819cea2SGordon Rossinclude ../../../Makefile.lib 186b819cea2SGordon Rossinclude ../../Makefile.lib 187b819cea2SGordon Ross 188b819cea2SGordon Ross# Force SOURCEDEBUG 189b819cea2SGordon RossCSOURCEDEBUGFLAGS = -g 190b819cea2SGordon RossCCSOURCEDEBUGFLAGS = -g 191b819cea2SGordon RossSTRIP_STABS = : 192b819cea2SGordon Ross 193b819cea2SGordon Ross 194b819cea2SGordon Ross# Note: need our sys includes _before_ ENVCPPFLAGS, proto etc. 195b819cea2SGordon RossCPPFLAGS.first += -I../../../libfakekernel/common 196b819cea2SGordon RossCPPFLAGS.first += -I../common 197b819cea2SGordon Ross 198b819cea2SGordon RossINCS += -I$(SRC)/uts/common 199b819cea2SGordon RossINCS += -I$(SRC)/common/smbsrv 200b819cea2SGordon RossINCS += -I$(SRC)/common 201b819cea2SGordon Ross 202b819cea2SGordon RossLINTCHECKFLAGS += -erroff=E_INCONS_ARG_DECL2 203b819cea2SGordon RossLINTCHECKFLAGS += -erroff=E_INCONS_VAL_TYPE_DECL2 204b819cea2SGordon RossLINTCHECKFLAGS += -erroff=E_INCONS_VAL_TYPE_USED2 205b819cea2SGordon Ross 206b819cea2SGordon RossLDLIBS += $(MACH_LDLIBS) 207b819cea2SGordon RossLDLIBS += -lfakekernel -lidmap -lcmdutils 208b819cea2SGordon RossLDLIBS += -lavl -lnvpair -lnsl -lpkcs11 -lreparse -lc 209b819cea2SGordon Ross 210b819cea2SGordon RossCPPFLAGS += $(INCS) -D_REENTRANT -D_FAKE_KERNEL 211b819cea2SGordon RossCPPFLAGS += -D_FILE_OFFSET_BITS=64 212b819cea2SGordon Ross# Always want DEBUG here 213b819cea2SGordon RossCPPFLAGS += -DDEBUG 214b819cea2SGordon Ross 215b819cea2SGordon RossCERRWARN += -_gcc=-Wno-parentheses 216b819cea2SGordon RossCERRWARN += -_gcc=-Wno-switch 217b819cea2SGordon Ross 218b819cea2SGordon RossSRCS= $(OBJS_LOCAL:%.o=$(SRCDIR)/%.c) \ 219b819cea2SGordon Ross $(OBJS_FS_SMBSRV:%.o=$(SRC)/uts/common/fs/smbsrv/%.c) \ 220b819cea2SGordon Ross $(OBJS_CMN_SMBSRV:%.o=$(SRC)/common/smbsrv/%.c) 221b819cea2SGordon Ross 222b819cea2SGordon Rossall: 223b819cea2SGordon Ross 224b819cea2SGordon Rosspics/%.o: $(SRC)/uts/common/fs/smbsrv/%.c 225b819cea2SGordon Ross $(COMPILE.c) -o $@ $< 226b819cea2SGordon Ross $(POST_PROCESS_O) 227b819cea2SGordon Ross 228b819cea2SGordon Rosspics/acl_common.o: $(SRC)/common/acl/acl_common.c 229b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/common/acl/acl_common.c 230b819cea2SGordon Ross $(POST_PROCESS_O) 231b819cea2SGordon Ross 232*a90cf9f2SGordon Rosspics/smb_status2winerr.o: $(SRC)/common/smbclnt/smb_status2winerr.c 233*a90cf9f2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/common/smbclnt/smb_status2winerr.c 234*a90cf9f2SGordon Ross $(POST_PROCESS_O) 235*a90cf9f2SGordon Ross 236b819cea2SGordon Rosspics/pathname.o: $(SRC)/uts/common/fs/pathname.c 237b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/uts/common/fs/pathname.c 238b819cea2SGordon Ross $(POST_PROCESS_O) 239b819cea2SGordon Ross 240b819cea2SGordon Rosspics/refstr.o: $(SRC)/uts/common/os/refstr.c 241b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/uts/common/os/refstr.c 242b819cea2SGordon Ross $(POST_PROCESS_O) 243b819cea2SGordon Ross 244b819cea2SGordon Rosspics/xattr_common.o: $(SRC)/common/xattr/xattr_common.c 245b819cea2SGordon Ross $(COMPILE.c) -o $@ $(SRC)/common/xattr/xattr_common.c 246b819cea2SGordon Ross $(POST_PROCESS_O) 247b819cea2SGordon Ross 248b819cea2SGordon Ross# Makefile.targ has rule for $(SRC)/common/smbsrv/%.c 249b819cea2SGordon Ross 250b819cea2SGordon Ross.KEEP_STATE: 251b819cea2SGordon Ross 252b819cea2SGordon Rossinclude ../../Makefile.targ 253b819cea2SGordon Rossinclude ../../../Makefile.targ 254