xref: /illumos-gate/usr/src/cmd/smbsrv/smbd/Makefile (revision 1e8d79d2)
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.
24e48c84d7SJohn 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
48*6f1fa39eSGordon Rossinclude ../../Makefile.ctf
49da6c28aaSamw
50eb1a3463STruong NguyenMANIFEST=	server.xml
51eb1a3463STruong NguyenSVCMETHOD=	svc-smbd
529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United StatesLOGDLL=		eventlog.dll
53da6c28aaSamw
54da6c28aaSamwROOTMANIFESTDIR	= $(ROOTSVCSMB)
559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United StatesROOTVARSMBDLLDIR = $(ROOTVARSMB)/cvol/windows/system32
569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United StatesROOTVARSMBDLL= $(LOGDLL:%=$(ROOTVARSMBDLLDIR)/%)
57da6c28aaSamw
589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States$(ROOTMANIFEST):= FILEMODE = 0444
59eb1a3463STruong Nguyen$(ROOTSVCMETHOD):= FILEMODE = 0555
609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States$(ROOTVARSMBDLL):= FILEMODE = 0755
61eb1a3463STruong Nguyen
62b819cea2SGordon RossCFLAGS += $(CCVERBOSE)
63c7e79765SAlexander PyhalovCPPFLAGS += -D_IPP_PRIVATE_STRUCTURES
64b819cea2SGordon RossCPPFLAGS += -D_REENTRANT
65b819cea2SGordon RossCPPFLAGS += -Dsyslog=smb_syslog
66b819cea2SGordon Ross$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
67b819cea2SGordon Ross
6812b65585SGordon Ross# Should not have to do this, but the Kerberos includes are a mess.
6912b65585SGordon RossCPPFLAGS += -I $(ROOT)/usr/include/kerberosv5
7012b65585SGordon Ross
71e48c84d7SJohn Levon# needs work
72e48c84d7SJohn LevonSMOFF += all_func_returns,deref_check
73e48c84d7SJohn Levon
74bd0ce624SYuri PankovCSTD =       $(CSTD_GNU99)
75da6c28aaSamw
7667e3a03eSrieLDFLAGS += -R/usr/lib/smbsrv
7712b65585SGordon RossLDLIBS += -L$(ROOT)/usr/lib/smbsrv
7812b65585SGordon Ross# prefer to keep libs ordered by dependence
7912b65585SGordon RossLDLIBS += -lmlsvc -lmlrpc -lsmbns -lsmb -lsmbfs -lgss
8012b65585SGordon RossLDLIBS += -lzfs -lbsm -lscf -lcmdutils -lsocket -lnsl -lumem
8112b65585SGordon Ross$(PROG) := LDLIBS += -lkrb5
82da6c28aaSamw
8386d7016bSGordon Ross$(ENABLE_SMB_PRINTING) CPPFLAGS += -DHAVE_CUPS
8486d7016bSGordon Ross
85da6c28aaSamwROOTSMBDDIR = $(ROOTLIB)/smbsrv
86da6c28aaSamwROOTSMBDFILE = $(PROG:%=$(ROOTSMBDDIR)/%)
87da6c28aaSamw
88da6c28aaSamwFILEMODE = 0444
89da6c28aaSamw$(ROOTSMBDFILE):= FILEMODE = 0555
90da6c28aaSamw
91da6c28aaSamw$(ROOTSMBDDIR)/%: %
92da6c28aaSamw	$(INS.file)
93da6c28aaSamw
949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States$(ROOTVARSMBDLLDIR)/%: %
959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States	$(INS.file)
969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States
97da6c28aaSamwall:		$(PROG)
98da6c28aaSamw
99da6c28aaSamwclean:
100da6c28aaSamw	$(RM) $(OBJS)
101da6c28aaSamw
102da6c28aaSamw$(PROG):	$(OBJS)
103da6c28aaSamw	$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
104da6c28aaSamw	$(POST_PROCESS)
105da6c28aaSamw
106da6c28aaSamwcheck:		$(CHKMANIFEST)
107da6c28aaSamw
108da6c28aaSamw_msg:
109da6c28aaSamw
110da6c28aaSamwinclude ../../Makefile.targ
111da6c28aaSamw
112da6c28aaSamwinstall: all .WAIT $(ROOTETCDEFAULTFILES) $(ROOTMANIFEST) \
1139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States		$(ROOTSMBDFILE) ${ROOTSVCMETHOD} $(ROOTVARSMBDLL)
114b3700b07SGordon Ross
115b3700b07SGordon Ross.KEEP_STATE:
116