00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# CDDL HEADER START
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# The contents of this file are subject to the terms of the
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Common Development and Distribution License (the "License").
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# You may not use this file except in compliance with the License.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# or http://www.opensolaris.org/os/licensing.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# See the License for the specific language governing permissions
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# and limitations under the License.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# When distributing Covered Code, include this CDDL HEADER in each
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# If applicable, add the following below this CDDL HEADER, with the
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# fields enclosed by brackets "[]" replaced with your own identifying
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# information: Portions Copyright [yyyy] [name of copyright owner]
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# CDDL HEADER END
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Copyright 2014 Nexenta Systems, Inc. All rights reserved.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith#
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithPROG= smbd
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithOBJS= \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_authsvc.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_doorsvc.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_join.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_krb5lookup.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_krb5ssp.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_logon.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_main.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_nicmon.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_ntlmssp.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_pipesvc.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_share_doorsvc.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_spool.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_syslog.o \
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith smbd_vss.o
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithSRCS= $(OBJS:%.o=%.c)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smithinclude ../../Makefile.cmd
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithMANIFEST= server.xml
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithSVCMETHOD= svc-smbd
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLOGDLL= eventlog.dll
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithROOTMANIFESTDIR = $(ROOTSVCSMB)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithROOTVARSMBDLLDIR = $(ROOTVARSMB)/cvol/windows/system32
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithROOTVARSMBDLL= $(LOGDLL:%=$(ROOTVARSMBDLLDIR)/%)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ROOTMANIFEST):= FILEMODE = 0444
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ROOTSVCMETHOD):= FILEMODE = 0555
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ROOTVARSMBDLL):= FILEMODE = 0755
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLINTFLAGS += -xerroff=E_NAME_USED_NOT_DEF2
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithCFLAGS += $(CCVERBOSE)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithCPPFLAGS += -D_IPP_PRIVATE_STRUCTURES
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithCPPFLAGS += -D_REENTRANT
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithCPPFLAGS += -Dsyslog=smb_syslog
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Should not have to do this, but the Kerberos includes are a mess.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithCPPFLAGS += -I $(ROOT)/usr/include/kerberosv5
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithC99MODE = -xc99=%all
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithC99LMODE = -Xc99=%all
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLDFLAGS += -R/usr/lib/smbsrv
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLDLIBS += -L$(ROOT)/usr/lib/smbsrv
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# prefer to keep libs ordered by dependence
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLDLIBS += -lmlsvc -lmlrpc -lsmbns -lsmb -lsmbfs -lgss
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithLDLIBS += -lzfs -lbsm -lscf -lcmdutils -lsocket -lnsl -lumem
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(PROG) := LDLIBS += -lkrb5
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ENABLE_SMB_PRINTING) CPPFLAGS += -DHAVE_CUPS
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithROOTSMBDDIR = $(ROOTLIB)/smbsrv
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithROOTSMBDFILE = $(PROG:%=$(ROOTSMBDDIR)/%)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke SmithFILEMODE = 0444
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ROOTSMBDFILE):= FILEMODE = 0555
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ROOTSMBDDIR)/%: %
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith $(INS.file)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith$(ROOTVARSMBDLLDIR)/%: %
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith $(INS.file)
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smithall: $(PROG)
clean:
$(RM) $(OBJS)
lint: lint_SRCS
$(PROG): $(OBJS)
$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
$(POST_PROCESS)
check: $(CHKMANIFEST)
_msg:
include ../../Makefile.targ
install: all .WAIT $(ROOTETCDEFAULTFILES) $(ROOTMANIFEST) \
$(ROOTSMBDFILE) ${ROOTSVCMETHOD} $(ROOTVARSMBDLL)
.KEEP_STATE: