Makefile revision 5695
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# CDDL HEADER START
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# The contents of this file are subject to the terms of the
4369bb0e25cb6505dd712dda15b7e28a74cfcc3evboxsync# Common Development and Distribution License (the "License").
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# You may not use this file except in compliance with the License.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# See the License for the specific language governing permissions
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# and limitations under the License.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# When distributing Covered Code, include this CDDL HEADER in each
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# If applicable, add the following below this CDDL HEADER, with the
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# CDDL HEADER END
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync sha256:5d4af08ead9b7a1e9493cfd65e821234f151a46736e1ce586f886c8a8e65fabe
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(COMPONENT_PROJECT_URL)dist/krb5/$(COMPONENT_MINOR)/$(COMPONENT_ARCHIVE)
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Depends on S12-only header file in ON.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Encoding rules for IPS: MIT KerberosV5 <x>.<y>[.<z>] => IPS <x>.<y>.[<z>|0].0
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# The configure script is not at the top of the source directory.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# We need to enable large file support and build PIC for our shared libraries
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Include openldap headers instead of obsolete mozilla ldap headers.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Temporary solution until we can fix this upstream with MIT, which currently
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# depends on implicit binding of libc. Here we explicitly link with libc to
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# satisfy this dependency.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# If you make changes to LDFLAGS, check krb5-config and 052-krb5-config.patch.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncCONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncCONFIGURE_ENV += DEFKTNAME="FILE:$(ETCDIR)/krb5/krb5.keytab"
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncCONFIGURE_ENV += DEFCKTNAME="FILE:/var/user/%{username}/client.keytab"
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Other CONFIGURE_OPTIONS assignments coming from make-rules/configure.mk
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncCONFIGURE_OPTIONS.64 += --libexecdir=$(USRLIBDIR)/$(MACH64)
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncCONFIGURE_OPTIONS += --includedir=$(USRINCDIR)/kerberosv5
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# to avoid executing subprocesses from /usr/[s]bin/$(MACH64):
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync cd $(SOURCE_DIR)/src/ && $(SOURCE_DIR)/src/util/reconf
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncCOMPONENT_TEST_ARGS += LD_LIBRARY_PATH="$(PROTOULD):$(PROTOULD)/$(MACH64):"
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# MIT's test suite is not well suited for master results processing/filtering
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# but since the test implementation will return failure to the uland build,
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# this is good enough. The following disables master results processing.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# We don't ship Solaris specific files as patches to ease maintenance.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# We rather copy the files to the right directories.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/getuid.c $(SOURCE_DIR)/src/lib/krb5/os/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/g_utils.c $(SOURCE_DIR)/src/lib/gssapi/mechglue/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/kadm_host_srv_names.c $(SOURCE_DIR)/src/lib/kadm5/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/kt_findrealm.c $(SOURCE_DIR)/src/lib/krb5/keytab/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/kt_solaris.c $(SOURCE_DIR)/src/lib/krb5/keytab/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/kt_solaris.h $(SOURCE_DIR)/src/lib/krb5/keytab/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/libgss_stubs.c $(SOURCE_DIR)/src/lib/gssapi/mechglue/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/missing_interfaces.c $(SOURCE_DIR)/src/lib/krb5/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/privacy_allowed.c $(SOURCE_DIR)/src/lib/krb5/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/prof_solaris.c $(SOURCE_DIR)/src/lib/krb5/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/prof_solaris.h $(SOURCE_DIR)/src/lib/krb5/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/rc_mem.c $(SOURCE_DIR)/src/lib/krb5/rcache; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/rc_mem.h $(SOURCE_DIR)/src/lib/krb5/rcache; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/safechown.c $(SOURCE_DIR)/src/lib/krb5/os; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) Solaris/util_ordering.c $(SOURCE_DIR)/src/lib/gssapi/generic
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# We move xdr_alloc.c and supporting dyn code from libgssrpc directly
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# into libkadm5srv_mit. kadmind is the only consumer anyway.
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) $(SRCLIB)/rpc/xdr_alloc.c $(SRCLIB)/kadm5/srv/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CP) $(SRCLIB)/rpc/dyntest.c $(SRCLIB)/kadm5/srv/; \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# Common flags used to create the filter libs below
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsyncFILTLIBFLAGS = -G $(LD_B_DIRECT) $(LD_Z_DEFS) $(LD_Z_TEXT)
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CC) -m32 -o $(BUILD_DIR)/$(MACH32)/lib/libgss.so.1 \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(BUILD_DIR)/$(MACH32)/lib/gssapi/mechglue/libgss_stubs.o && \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CC) -m32 -o $(BUILD_DIR)/$(MACH32)/lib/libkrb5.so.1 \
2c1d8cd8efdd4c486ff681135035d24111b03af8vboxsync $(BUILD_DIR)/$(MACH32)/lib/krb5/missing_interfaces.o \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(BUILD_DIR)/$(MACH32)/lib/krb5/privacy_allowed.o && \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(LD) -m32 -o $(BUILD_DIR)/$(MACH32)/lib/libkadm5clnt.so.1 \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync -M$(COMPONENT_DIR)/Solaris/libkadm5clnt.mapfile-vers;
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CC) -m64 -o $(BUILD_DIR)/$(MACH64)/lib/libgss.so.1 \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(BUILD_DIR)/$(MACH64)/lib/gssapi/mechglue/libgss_stubs.o && \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(CC) -m64 -o $(BUILD_DIR)/$(MACH64)/lib/libkrb5.so.1 \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync $(BUILD_DIR)/$(MACH64)/lib/krb5/missing_interfaces.o \
2c1d8cd8efdd4c486ff681135035d24111b03af8vboxsync $(BUILD_DIR)/$(MACH64)/lib/krb5/privacy_allowed.o && \
2c1d8cd8efdd4c486ff681135035d24111b03af8vboxsync $(LD) -m64 -o $(BUILD_DIR)/$(MACH64)/lib/libkadm5clnt.so.1 \
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync -M$(COMPONENT_DIR)/Solaris/libkadm5clnt.mapfile-vers;
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync $(CP) $(BUILD_DIR)/$(MACH32)/lib/libkadm5clnt.so.1 \
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync $(CP) $(BUILD_DIR)/$(MACH64)/lib/libkadm5clnt.so.1 \
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync# common targets
d84b6107a8e797f41ac2d55bed97b02c91c742e8vboxsync# build does this always