1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 23# Copyright 2015 Nexenta Systems, Inc. All rights reserved. 24# 25 26 27PROG= fksmbd 28OBJS_SMBD= \ 29 smbd_authsvc.o \ 30 smbd_doorsvc.o \ 31 smbd_join.o \ 32 smbd_krb5lookup.o \ 33 smbd_krb5ssp.o \ 34 smbd_logon.o \ 35 smbd_main.o \ 36 smbd_nicmon.o \ 37 smbd_ntlmssp.o \ 38 smbd_pipesvc.o \ 39 smbd_share_doorsvc.o \ 40 smbd_spool.o \ 41 smbd_vss.o \ 42 43 44OBJS_LOCAL = \ 45 fksmbd_door.o \ 46 fksmbd_kmod.o \ 47 fksmbd_ksock.o \ 48 fksmbd_log.o \ 49 fksmbd_shr.o 50 51OBJS= ${OBJS_SMBD} ${OBJS_LOCAL} 52SRCS= ${OBJS_SMBD:%.o=../smbd/%.c} \ 53 ${OBJS_LOCAL:.o=.c} 54 55include ../../Makefile.cmd 56include ../../Makefile.ctf 57 58# Note: need our sys includes _before_ ENVCPPFLAGS, proto etc. 59CPPFLAGS.first += -I../../../lib/smbsrv/libfksmbsrv/common 60 61INCS += -I../smbd 62INCS += -I../../../uts/common 63INCS += -I../../../uts/common/smbsrv 64INCS += -I../../../common/smbsrv 65 66# Should not have to do this, but the Kerberos includes are a mess. 67INCS += -I $(ROOT)/usr/include/kerberosv5 68 69CSTD= $(CSTD_GNU99) 70C99LMODE= -Xc99=%all 71 72CFLAGS += $(CCVERBOSE) 73CFLAGS64 += $(CCVERBOSE) 74CPPFLAGS += -D_REENTRANT 75CPPFLAGS += -Dsyslog=smb_syslog 76CPPFLAGS += -D_LARGEFILE64_SOURCE=1 77CPPFLAGS += -DFKSMBD 78# Always debug here 79CPPFLAGS += -DDEBUG 80CPPFLAGS += $(INCS) 81 82LDFLAGS += $(ZNOLAZYLOAD) 83LDFLAGS += '-R$$ORIGIN' '-R$$ORIGIN/..' 84LDLIBS += -L$(ROOT)/usr/lib/smbsrv 85LDLIBS += -lfksmbsrv -lfakekernel 86# prefer to keep libs ordered by dependence 87LDLIBS += -lmlsvc -lmlrpc -lsmbns -lsmb -lsmbfs -lgss 88LDLIBS += -lzfs -lbsm -lscf -lcmdutils -lsocket -lnsl -lumem 89$(PROG) := LDLIBS += -lkrb5 90 91LINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2 92LINTFLAGS += -xerroff=E_NAME_USED_NOT_DEF2 93LINTFLAGS += -xerroff=E_INCONS_ARG_DECL2 94LINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2 95 96ROOTSMBDDIR = $(ROOTLIB)/smbsrv 97ROOTSMBDFILE = $(PROG:%=$(ROOTSMBDDIR)/%) 98 99.KEEP_STATE: 100 101all: $(PROG) 102 103$(PROG): $(OBJS) 104 $(LINK.c) -o $(PROG) $(OBJS) $(LDLIBS) 105 $(POST_PROCESS) 106 107clean: 108 -$(RM) $(OBJS) 109 110lint: lint_SRCS 111 112include ../../Makefile.targ 113 114install: all $(ROOTSMBDFILE) 115 116%.o: ../smbd/%.c 117 $(COMPILE.c) $< 118 $(POST_PROCESS_O) 119 120$(ROOTSMBDDIR)/%: % 121 $(INS.file) 122