Makefile revision b3700b074e637f8c6991b70754c88a2cfffb246b
bcb4e51a409d94ae670de96afb8483a4f7855294Stephan Bosch#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# CDDL HEADER START
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# The contents of this file are subject to the terms of the
bdd36cfdba3ff66d25570a9ff568d69e1eb543cfTimo Sirainen# Common Development and Distribution License (the "License").
b1f37113a5760bee842c5a7678bb5fa6f5bd8b60Timo Sirainen# You may not use this file except in compliance with the License.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# or http://www.opensolaris.org/os/licensing.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# See the License for the specific language governing permissions
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# and limitations under the License.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# When distributing Covered Code, include this CDDL HEADER in each
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# If applicable, add the following below this CDDL HEADER, with the
a23210844b06c53ebca34b162f3a268d5f1cd4d1Aki Tuomi# fields enclosed by brackets "[]" replaced with your own identifying
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# information: Portions Copyright [yyyy] [name of copyright owner]
530b5909a99e7575156496f1b8e4d1ff5b058484Timo Sirainen#
530b5909a99e7575156496f1b8e4d1ff5b058484Timo Sirainen# CDDL HEADER END
71df09024cea5f2faa93da3bb9513ee96ba6bf22Timo Sirainen#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# Copyright 2014 Nexenta Systems, Inc. All rights reserved.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen#
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenPROG= fksmbd
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenOBJS_SMBD= \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_authsvc.o \
efe78d3ba24fc866af1c79b9223dc0809ba26cadStephan Bosch smbd_doorsvc.o \
bd63b5b860658b01b1f46f26d406e1e4a9dc019aTimo Sirainen smbd_join.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_krb5lookup.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_krb5ssp.o \
70ac869db925653b57f721cd045c467612fd5ee9Timo Sirainen smbd_logon.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_main.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_nicmon.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_ntlmssp.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_pipesvc.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_share_doorsvc.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_spool.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen smbd_vss.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenOBJS_LOCAL = \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen fksmbd_door.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen fksmbd_kmod.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen fksmbd_ksock.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen fksmbd_log.o \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen fksmbd_shr.o
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenOBJS= ${OBJS_SMBD} ${OBJS_LOCAL}
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74cTimo SirainenSRCS= ${OBJS_SMBD:%.o=../smbd/%.c} \
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen ${OBJS_LOCAL:.o=.c}
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Siraineninclude ../../Makefile.cmd
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Siraineninclude ../../Makefile.ctf
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# Note: need our sys includes _before_ ENVCPPFLAGS, proto etc.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS.first += -I../../../lib/smbsrv/libfksmbsrv/common
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenINCS += -I../smbd
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenINCS += -I../../../uts/common
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenINCS += -I../../../uts/common/smbsrv
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenINCS += -I../../../common/smbsrv
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# Should not have to do this, but the Kerberos includes are a mess.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenINCS += -I $(ROOT)/usr/include/kerberosv5
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenC99MODE= -xc99=%all
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenC99LMODE= -Xc99=%all
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCFLAGS += $(CCVERBOSE)
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCFLAGS64 += $(CCVERBOSE)
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS += -D_REENTRANT
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS += -Dsyslog=smb_syslog
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS += -D_LARGEFILE64_SOURCE=1
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS += -DFKSMBD
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# Always debug here
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS += -DDEBUG
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenCPPFLAGS += $(INCS)
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLDFLAGS += $(ZNOLAZYLOAD)
b1f37113a5760bee842c5a7678bb5fa6f5bd8b60Timo SirainenLDFLAGS += -R/usr/lib/smbsrv
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLDLIBS += -L$(ROOT)/usr/lib/smbsrv
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLDLIBS += -lfksmbsrv -lfakekernel
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen# prefer to keep libs ordered by dependence
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLDLIBS += -lmlsvc -lmlrpc -lsmbns -lsmb -lsmbfs -lgss
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLDLIBS += -lzfs -lbsm -lscf -lcmdutils -lsocket -lnsl -lumem
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen$(PROG) := LDLIBS += -lkrb5
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLINTFLAGS += -xerroff=E_NAME_USED_NOT_DEF2
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLINTFLAGS += -xerroff=E_INCONS_ARG_DECL2
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenROOTSMBDDIR = $(ROOTLIB)/smbsrv
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo SirainenROOTSMBDFILE = $(PROG:%=$(ROOTSMBDDIR)/%)
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen.KEEP_STATE:
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainenall: $(PROG)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen
009217abb57a24a4076092e8e4e165545747839eStephan Bosch$(PROG): $(OBJS)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen $(LINK.c) -o $(PROG) $(OBJS) $(LDLIBS)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen $(POST_PROCESS)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainenclean:
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen -$(RM) $(OBJS)
530b5909a99e7575156496f1b8e4d1ff5b058484Timo Sirainen
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainenlint: lint_SRCS
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Siraineninclude ../../Makefile.targ
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Siraineninstall: all $(ROOTSMBDFILE)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen%.o: ../smbd/%.c
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen $(COMPILE.c) $<
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen $(POST_PROCESS_O)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen
530b5909a99e7575156496f1b8e4d1ff5b058484Timo Sirainen$(ROOTSMBDDIR)/%: %
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen $(INS.file)
6a33ecc05e60b511c1ae176ef113546e1012c18fTimo Sirainen