Makefile revision 206
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# CDDL HEADER START
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# The contents of this file are subject to the terms of the
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# Common Development and Distribution License (the "License").
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# You may not use this file except in compliance with the License.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# or http://www.opensolaris.org/os/licensing.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# See the License for the specific language governing permissions
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# and limitations under the License.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# When distributing Covered Code, include this CDDL HEADER in each
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# If applicable, add the following below this CDDL HEADER, with the
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# fields enclosed by brackets "[]" replaced with your own identifying
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# CDDL HEADER END
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinclude ../../../make-rules/shared-macros.mk
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncPATH=/usr/bin:/usr/gnu/bin:/usr/sbin
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_NAME= Python
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_VERSION= 2.6.4
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_ARCHIVE_HASH= sha1:bee572680d1966501247cb2b26e0e51f94d1cd13
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_ARCHIVE_URL= http://python.org/ftp/python/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinclude $(WS_TOP)/make-rules/prep.mk
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinclude $(WS_TOP)/make-rules/configure.mk
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinclude $(WS_TOP)/make-rules/ips.mk
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# We patch auto* files, so regenerate headers and configure
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_PREP_ACTION = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync (cd $(@D) ; autoheader ; autoconf)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# This seems horribly wrong, but these defines break the ability to build c99
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# compliant modules or with gcc.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_POST_CONFIGURE_ACTION = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync (cd $(@D) ; \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync perl -pi -e 's/(^\#define _POSIX_C_SOURCE.*)/\/* $$1 *\//' pyconfig.h ; \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync perl -pi -e 's/^(\#define _XOPEN_SOURCE.*)/\/* $$1 *\//' pyconfig.h ; \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync perl -pi -e 's/^(\#define _XOPEN_SOURCE_EXTENDED.*)/\/* $$1 *\//' \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync pyconfig.h)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# we don't want to leak $(CC_BITS) into BASECFLAGS as it causes problems with
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# python-config
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCC += $(CFLAGS)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncC99MODE=
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCPPFLAGS += -IPython
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# so we find the ncurses headers
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCPPFLAGS += -I/usr/include/ncurses
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# enable large files how they did in JDS
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCPPFLAGS += -D_LARGEFILE64_SOURCE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# libffi for _ctypes
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCPPFLAGS += $(shell pkg-config --cflags-only-I libffi)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += --enable-shared
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += --disable-static
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += --with-system-ffi
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += --without-gcc
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += ac_cv_opt_olimit_ok=no
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += ac_cv_olimit_ok=no
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += CCSHARED="$(CC_PIC)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += CXX="$(CXX)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += CXXFLAGS="$(CXXFLAGS)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONFIGURE_OPTIONS += DFLAGS="-$(BITS)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_BUILD_ENV += DFLAGS="-$(BITS)"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_TEST_TARGETS = test
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# 64 bit shared objects need to go in a 64-bit directory
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCOMPONENT_INSTALL_ARGS.64 += DESTSHARED=$(CONFIGURE_PREFIX)/lib/python2.6/lib-dynload
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# common targets
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncbuild: $(BUILD_32_and_64)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync$(INSTALL_32): $(INSTALL_64)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinstall: $(INSTALL_32_and_64)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctest: $(TEST_32_and_64)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinclude $(WS_TOP)/make-rules/depend.mk
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync