xref: /illumos-gate/usr/src/cmd/smbsrv/smbd/Makefile (revision e48c84d79572228e85cd82f9a15f6484ef9ae712)
1da6c28aaSamw#
2da6c28aaSamw# CDDL HEADER START
3da6c28aaSamw#
4da6c28aaSamw# The contents of this file are subject to the terms of the
5da6c28aaSamw# Common Development and Distribution License (the "License").
6da6c28aaSamw# You may not use this file except in compliance with the License.
7da6c28aaSamw#
8da6c28aaSamw# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9da6c28aaSamw# or http://www.opensolaris.org/os/licensing.
10da6c28aaSamw# See the License for the specific language governing permissions
11da6c28aaSamw# and limitations under the License.
12da6c28aaSamw#
13da6c28aaSamw# When distributing Covered Code, include this CDDL HEADER in each
14da6c28aaSamw# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15da6c28aaSamw# If applicable, add the following below this CDDL HEADER, with the
16da6c28aaSamw# fields enclosed by brackets "[]" replaced with your own identifying
17da6c28aaSamw# information: Portions Copyright [yyyy] [name of copyright owner]
18da6c28aaSamw#
19da6c28aaSamw# CDDL HEADER END
20da6c28aaSamw#
21da6c28aaSamw#
22148c5f43SAlan Wright# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23b819cea2SGordon Ross# Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
24*e48c84d7SJohn Levon# Copyright (c) 2018, Joyent, Inc.
25da6c28aaSamw#
2689dc44ceSjose borrego
27da6c28aaSamw
28da6c28aaSamwPROG=	smbd
29b819cea2SGordon RossOBJS=				\
3012b65585SGordon Ross	smbd_authsvc.o		\
31b819cea2SGordon Ross	smbd_doorsvc.o		\
32b819cea2SGordon Ross	smbd_join.o		\
33b3700b07SGordon Ross	smbd_krb5lookup.o	\
3412b65585SGordon Ross	smbd_krb5ssp.o		\
35b819cea2SGordon Ross	smbd_logon.o		\
36b819cea2SGordon Ross	smbd_main.o		\
37b819cea2SGordon Ross	smbd_nicmon.o		\
3812b65585SGordon Ross	smbd_ntlmssp.o		\
3968b2bbf2SGordon Ross	smbd_pipesvc.o		\
40b819cea2SGordon Ross	smbd_share_doorsvc.o	\
41b819cea2SGordon Ross	smbd_spool.o		\
42b819cea2SGordon Ross	smbd_syslog.o		\
43b819cea2SGordon Ross	smbd_vss.o
44b819cea2SGordon Ross
45b819cea2SGordon RossSRCS=	$(OBJS:%.o=%.c)
46da6c28aaSamw
47da6c28aaSamwinclude ../../Makefile.cmd
48da6c28aaSamw
49da6c28aaSamwMANIFEST=	server.xml
50eb1a3463STruong NguyenSVCMETHOD=	svc-smbd
519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United StatesLOGDLL=		eventlog.dll
52da6c28aaSamw
53da6c28aaSamwROOTMANIFESTDIR	= $(ROOTSVCSMB)
549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United StatesROOTVARSMBDLLDIR = $(ROOTVARSMB)/cvol/windows/system32
559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United StatesROOTVARSMBDLL= $(LOGDLL:%=$(ROOTVARSMBDLLDIR)/%)
56da6c28aaSamw
579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States$(ROOTMANIFEST):= FILEMODE = 0444
58eb1a3463STruong Nguyen$(ROOTSVCMETHOD):= FILEMODE = 0555
599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States$(ROOTVARSMBDLL):= FILEMODE = 0755
60eb1a3463STruong Nguyen
61b819cea2SGordon RossLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
6212b65585SGordon RossLINTFLAGS += -xerroff=E_NAME_USED_NOT_DEF2
63b819cea2SGordon Ross
64b819cea2SGordon RossCFLAGS += $(CCVERBOSE)
65c7e79765SAlexander PyhalovCPPFLAGS += -D_IPP_PRIVATE_STRUCTURES
66b819cea2SGordon RossCPPFLAGS += -D_REENTRANT
67b819cea2SGordon RossCPPFLAGS += -Dsyslog=smb_syslog
68b819cea2SGordon Ross$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
69b819cea2SGordon Ross
7012b65585SGordon Ross# Should not have to do this, but the Kerberos includes are a mess.
7112b65585SGordon RossCPPFLAGS += -I $(ROOT)/usr/include/kerberosv5
7212b65585SGordon Ross
73*e48c84d7SJohn Levon# needs work
74*e48c84d7SJohn LevonSMOFF += all_func_returns,deref_check
75*e48c84d7SJohn Levon
76bd0ce624SYuri PankovCSTD =       $(CSTD_GNU99)
77b819cea2SGordon RossC99LMODE =      -Xc99=%all
78da6c28aaSamw
7967e3a03eSrieLDFLAGS += -R/usr/lib/smbsrv
8012b65585SGordon RossLDLIBS += -L$(ROOT)/usr/lib/smbsrv
8112b65585SGordon Ross# prefer to keep libs ordered by dependence
8212b65585SGordon RossLDLIBS += -lmlsvc -lmlrpc -lsmbns -lsmb -lsmbfs -lgss
8312b65585SGordon RossLDLIBS += -lzfs -lbsm -lscf -lcmdutils -lsocket -lnsl -lumem
8412b65585SGordon Ross$(PROG) := LDLIBS += -lkrb5
85da6c28aaSamw
8686d7016bSGordon Ross$(ENABLE_SMB_PRINTING) CPPFLAGS += -DHAVE_CUPS
8786d7016bSGordon Ross
88da6c28aaSamwROOTSMBDDIR = $(ROOTLIB)/smbsrv
89da6c28aaSamwROOTSMBDFILE = $(PROG:%=$(ROOTSMBDDIR)/%)
90da6c28aaSamw
91da6c28aaSamwFILEMODE = 0444
92da6c28aaSamw$(ROOTSMBDFILE):= FILEMODE = 0555
93da6c28aaSamw
94da6c28aaSamw$(ROOTSMBDDIR)/%: %
95da6c28aaSamw	$(INS.file)
96da6c28aaSamw
979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States$(ROOTVARSMBDLLDIR)/%: %
989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States	$(INS.file)
999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States
100da6c28aaSamwall:		$(PROG)
101da6c28aaSamw
102da6c28aaSamwclean:
103da6c28aaSamw	$(RM) $(OBJS)
104da6c28aaSamw
105da6c28aaSamwlint:		lint_SRCS
106da6c28aaSamw
107da6c28aaSamw$(PROG):	$(OBJS)
108da6c28aaSamw	$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
109da6c28aaSamw	$(POST_PROCESS)
110da6c28aaSamw
111da6c28aaSamwcheck:		$(CHKMANIFEST)
112da6c28aaSamw
113da6c28aaSamw_msg:
114da6c28aaSamw
115da6c28aaSamwinclude ../../Makefile.targ
116da6c28aaSamw
117da6c28aaSamwinstall: all .WAIT $(ROOTETCDEFAULTFILES) $(ROOTMANIFEST) \
1189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States		$(ROOTSMBDFILE) ${ROOTSVCMETHOD} $(ROOTVARSMBDLL)
119b3700b07SGordon Ross
120b3700b07SGordon Ross.KEEP_STATE:
121