dcfda24abf565c442d058cbf81b2180d847a1b3eAutomatic Updater# CDDL HEADER START
3e02c9e33656dcd9c364633d42dd785d3e6fdd66Automatic Updater# The contents of this file are subject to the terms of the
c6fb85f9500350e5ce58c9a24f5d264c8a8bd6f4Automatic Updater# Common Development and Distribution License (the "License").
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# You may not use this file except in compliance with the License.
3e02c9e33656dcd9c364633d42dd785d3e6fdd66Automatic Updater# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# See the License for the specific language governing permissions
3e02c9e33656dcd9c364633d42dd785d3e6fdd66Automatic Updater# and limitations under the License.
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# When distributing Covered Code, include this CDDL HEADER in each
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# If applicable, add the following below this CDDL HEADER, with the
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# fields enclosed by brackets "[]" replaced with your own identifying
12bfbed87cfffa65ac300b72c5665ab38a355c2fAutomatic Updater# information: Portions Copyright [yyyy] [name of copyright owner]
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# CDDL HEADER END
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Samba uses gcc-like structure members initialization
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# ...so solarisstudio12.1 (default in 11.3) fails to compile Samba
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Huntoverride SPRO_VROOT = $(SPRO_ROOT)/solarisstudio12.4
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Samba does not work properly on i386 when built by studio with -xO3+.
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Both SPRO_VROOT and studio_OPT vars must use the override keyword otherwise
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Userland will ignore it and use its default value.
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# parfait seems to spin on us
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCOMPONENT_ARCHIVE_HASH= sha256:b876ef2e63f66265490e80a122e66ef2d7616112b839df68f56ac2e1ce17a7bd
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
12bfbed87cfffa65ac300b72c5665ab38a355c2fAutomatic UpdaterCOMPONENT_PROJECT_URL= http://www.samba.org/
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCOMPONENT_ARCHIVE_URL= https://download.samba.org/pub/samba/stable/$(COMPONENT_ARCHIVE)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntWAF_PATH = PATH=$(BUILD_DIR)/samba/buildtools/bin:$(PROTO_DIR)/usr/bin:$$PATH
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Verbosed waf produces unreadable output if parallelized.
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Uncomment to enable verbose build.
12bfbed87cfffa65ac300b72c5665ab38a355c2fAutomatic Updater#override WAFOPT1 = -v -j1
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Set build dirs for Samba + Winbind / Winbind (without Samba).
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# directory to search for "include" in samba.p5m
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Set the pkg... path to search files in ./Solaris/ dir (mainly the SMF manifests are there)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# pkg-config files
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt$(BUILD_DIR)/pkgcfg/.pc: $(COMPONENT_DIR)/Solaris/samfs.pc $(COMPONENT_DIR)/Solaris/ldap.pc $(COMPONENT_DIR)/Solaris/lber.pc $(COMPONENT_DIR)/Solaris/openldap.pc
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt $(COMPONENT_DIR)/Solaris/samfs.pc > $(@D)/samfs.pc
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater $(CP) $(COMPONENT_DIR)/Solaris/ldap.pc $(@D)
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater $(CP) $(COMPONENT_DIR)/Solaris/ldap.pc $(@D)/$(MACH64)
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater $(CP) $(COMPONENT_DIR)/Solaris/lber.pc $(@D)
64affc54f96a2c71cbd10ed71e246ce0746259aaAutomatic Updater $(CP) $(COMPONENT_DIR)/Solaris/lber.pc $(@D)/$(MACH64)
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater $(CP) $(COMPONENT_DIR)/Solaris/openldap.pc $(@D)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt $(CP) $(COMPONENT_DIR)/Solaris/openldap.pc $(@D)/$(MACH64)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt$(PROTO_DIR)/opt/SUNWsamfs/lib/libsam.so: Solaris/libsam.c
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt $(CLONEY) $(COMPONENT_DIR)/Solaris/include $(@D)/../include
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt $(CC.studio.32) -m32 -G $(studio_PIC) -hlibsam.so Solaris/libsam.c \
12bfbed87cfffa65ac300b72c5665ab38a355c2fAutomatic Updater# Compiler settings
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# More libs needed by smbd (libavahi, libgamin, ...)
12bfbed87cfffa65ac300b72c5665ab38a355c2fAutomatic UpdaterLIBS4SMBD = -lsendfile -lavahi-common -lavahi-core
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt#CPPFLAGS += -DSAMBA_VERSION_VENDOR_SUFFIX=\\\"Placeholder_for_vendor_suffix\\\"
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt$(BUILD_DIR_SMB)/.configured: LDFLAGS += $(LIBS4SMBD)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# --enable-fhs should not be on
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic UpdaterCONFIGURE_OPTIONS += --libdir=/usr/lib/samba$(MACHLIBDIR)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCONFIGURE_OPTIONS += --with-privatelibdir=/usr/lib/samba/private$(MACHLIBDIR)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCONFIGURE_OPTIONS += --with-pammodulesdir=/usr/lib/samba/security$(MACHLIBDIR)
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCONFIGURE_OPTIONS += --htmldir=/usr/share/samba/swat/help
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic UpdaterCONFIGURE_OPTIONS += --includedir=/usr/include/samba
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCONFIGURE_OPTIONS += --with-privatedir=/etc/samba/private
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCONFIGURE_OPTIONS += --with-logfilebase=/var/samba/log
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan HuntCONFIGURE_OPTIONS += --sharedstatedir=/var/samba/com
1bc5499c2a0fc5d2b11849e97cdd6305a64eb242Evan Hunt# Whenever getfacl is found HAVE_SOLARIS_UNIXWARE_ACLS is set and
--with-shared-modules=vfs_worm,vfs_zfsacl,vfs_prealloc,vfs_cacheprime,vfs_commit,idmap_ldap,idmap_tdb2,idmap_rid,idmap_ad,idmap_hash,idmap_adex
CONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS) -I$(PROTO_DIR)/usr/include -I$(COMPONENT_DIR)/Solaris/include"
# Propagation of smb.conf with default settings.
# (motivation) Samba started to use WAF (build system from Google) from the 3.x
# dummy.c is needed to build with studio
$(TOUCH) $@
$(BUILD_DIR_SMB)/.configured: $(BUILD_DIR_SMB)/.BDprep $(BUILD_DIR)/pkgcfg/.pc $(PROTO_DIR)/opt/SUNWsamfs/lib/libsam.so
$(TOUCH) $@
$(TOUCH) $@
(cd $(@D) ; $(ENV) - $(WAF_PATH) LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)" waf install $(WAFOPT1) --destdir=$(PROTO_DIR) )
$(TOUCH) $@
$(TOUCH) $@
$(TOUCH) $@
$(TOUCH) $@
$(TOUCH) $@
test: $(NO_TESTS)
clean::