Makefile revision 174
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# CDDL HEADER START
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen# The contents of this file are subject to the terms of the
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# Common Development and Distribution License (the "License").
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# You may not use this file except in compliance with the License.
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# or http://www.opensolaris.org/os/licensing.
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# See the License for the specific language governing permissions
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# and limitations under the License.
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# When distributing Covered Code, include this CDDL HEADER in each
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# If applicable, add the following below this CDDL HEADER, with the
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# fields enclosed by brackets "[]" replaced with your own identifying
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# information: Portions Copyright [yyyy] [name of copyright owner]
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# CDDL HEADER END
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun#
e09595826656839c22c18b47ba1d6b6bae9dba5anilguninclude ../../make-rules/shared-macros.mk
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_NAME = lcms
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_VERSION= 1.19
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_PROJECT_URL= http://www.littlecms.com/
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_ARCHIVE_HASH= sha1:d5b075ccffc0068015f74f78e4bc39138bcfe2d4
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCOMPONENT_ARCHIVE_URL= http://sourceforge.net/projects/lcms/files/lcms/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPYTHON_VERSION = 2.6
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilguninclude ../../make-rules/prep.mk
e09595826656839c22c18b47ba1d6b6bae9dba5anilguninclude ../../make-rules/configure.mk
e09595826656839c22c18b47ba1d6b6bae9dba5anilguninclude ../../make-rules/ips.mk
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPKG_CONFIG_PATH_32 = /usr/lib/pkgconfig
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPKG_CONFIG_PATH_64 = /usr/lib/$(MACH64)/pkgconfig
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPATCH_LEVEL = 0
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunLIBNAME = $(COMPONENT_NAME)
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunLINTOUT = lint.out
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun# These aren't set by default.
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPYTHON.$(PYTHON_VERSION).32 = /usr/bin/python2.6
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPYTHON.$(PYTHON_VERSION).64 = /usr/bin/$(MACH64)/python2.6
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPYTHONMODULEDIR_32 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPYTHONMODULEDIR_64 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages/64
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPROTOPYTHONMODULE32DIR = $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION)/vendor-packages
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPROTOPYTHONMODULE64DIR = $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION)/vendor-packages/64
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPROTOUSRINCLUDEDIR = $(PROTO_DIR)/usr/include
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunCFLAGS += -Xc -xnorunpath $(CC_BITS)
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunCFLAGS += $(studio_C99_ENABLE) $(CPP_POSIX) $(CPP_LARGEFILES)
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunCPPFLAGS += $(CPP_POSIX) $(CPP_LARGEFILES) -DNDEBUG
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunCXXFLAGS += -mt -library=Crun -library=Cstd -compat=5
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunCXXFLAGS += -features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCXXFLAGS += -instances=global -template=geninlinefuncs -xlang=c99
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCXXFLAGS += -xbuiltin=%none -xinline=%auto
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCXXFLAGS += -D_XPG5 -D_XOPEN_SOURCE=500 -D__EXTENSIONS__=1
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCXXFLAGS += $(CPP_POSIX) $(CPP_LARGEFILES) $(CC_BITS)
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunLDFLAGS += -lpython$(PYTHON_VERSION) -lc -lm
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunPYTHONPATH_32 = /usr/lib/python$(PYTHON_VERSION)
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunPYTHONPATH_64 = /usr/lib/$(MACH64)/python$(PYTHON_VERSION)
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunELFEDIT = /usr/bin/elfedit
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunGSED = /usr/gnu/bin/sed
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunDOS2UNIX = /usr/bin/dos2unix
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CXX="$(CCC)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CCLD="$(CC) $(CFLAGS) $(LDFLAGS)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CXXLD="$(CCC) $(CXXFLAGS) $(LDFLAGS)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += CXXCPP="$(CCC) $(CPPFLAGS) $(CXXFLAGS) -E"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += PYTHON="$(PYTHON)"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += PYTHONPATH="$(PYTHONPATH_$(BITS))"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += PYTHONMODULEDIR="$(PYTHONMODULEDIR_$(BITS))"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH_$(BITS))"
e09595826656839c22c18b47ba1d6b6bae9dba5anilgun
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_OPTIONS += --includedir=/usr/include/lcms
e09595826656839c22c18b47ba1d6b6bae9dba5anilgunCONFIGURE_OPTIONS += --enable-shared
CONFIGURE_OPTIONS += --disable-static
CONFIGURE_OPTIONS += --with-jpeg
CONFIGURE_OPTIONS += --with-tiff
CONFIGURE_OPTIONS += --with-zlib
CONFIGURE_OPTIONS += --with-python
CONFIGURE_OPTIONS += --with-pic
PKG_PROTO_DIRS += $(COMPONENT_SRC)
COMPONENT_POST_CONFIGURE_ACTION = \
( cd $(@D); \
$(CP) -p $(SOURCE_DIR)/include/lcms.h ./include/ ; \
$(RM) -f $(SOURCE_DIR)/include/icc34.h ; \
$(CP) -p include/icc34.h $(SOURCE_DIR)/include/ )
COMPONENT_POST_BUILD_ACTION = \
( cd $(@D) ; \
$(LINT) -nsvx $(CC_BITS) -o $(LIBNAME) -I$(@D) \
-I$(COMPONENT_DIR)/$(COMPONENT_SRC)/include \
-I$(COMPONENT_DIR)/$(COMPONENT_SRC) \
$(COMPONENT_DIR)/llib-l$(LIBNAME) > $(LINTOUT) 2>&1)
# We have to do this because libtool builds the C++ library with an
# incorrect RUNPATH/RPATH
COMPONENT_POST_INSTALL_ACTION = \
( $(ELFEDIT) -e "dyn:runpath $(USRLIBDIR)" \
$(PROTOPYTHONMODULE32DIR)/_lcms.so ; \
$(ELFEDIT) -e "dyn:rpath $(USRLIBDIR)" \
$(PROTOPYTHONMODULE32DIR)/_lcms.so ; \
$(ELFEDIT) -e "dyn:runpath $(USRLIBDIR64)" \
$(PROTOPYTHONMODULE64DIR)/_lcms.so ; \
$(ELFEDIT) -e "dyn:rpath $(USRLIBDIR64)" \
$(PROTOPYTHONMODULE64DIR)/_lcms.so ; \
$(DOS2UNIX) $(PROTOUSRINCLUDEDIR)/lcms/icc34.h > \
$(PROTOUSRINCLUDEDIR)/lcms/icc34.h.u ; \
$(CP) -fp $(PROTOUSRINCLUDEDIR)/lcms/icc34.h.u \
$(PROTOUSRINCLUDEDIR)/lcms/icc34.h ; \
$(DOS2UNIX) $(PROTOUSRINCLUDEDIR)/lcms/lcms.h > \
$(PROTOUSRINCLUDEDIR)/lcms/lcms.h.u ; \
$(CP) -fp $(PROTOUSRINCLUDEDIR)/lcms/lcms.h.u \
$(PROTOUSRINCLUDEDIR)/lcms/lcms.h ; \
$(RM) -f $(PROTOUSRINCLUDEDIR)/lcms/icc34.h.u \
$(PROTOUSRINCLUDEDIR)/lcms/lcms.h.u ; \
$(CP) $(COMPONENT_DIR)/llib-l$(LIBNAME) $(PROTOUSRLIBDIR)/ ; \
cd $(@D); $(INSTALL) llib-l$(LIBNAME).ln \
$(PROTO_DIR)/$(CONFIGURE_LIBDIR.$(BITS)) )
build: $(BUILD_32_and_64)
MAN1LIST = icc2ps.1 icclink.1 icctrans.1 \
jpegicc.1 tifficc.1 wtpt.1
include ../../make-rules/shared-targets.mk
install: $(INSTALL_32_and_64)
$(MKDIR) $(PROTOUSRSHAREMAN1DIR) ; \
list1='$(MAN1LIST)'; for f in $$list1; do \
$(GSED) -f oracleman-stability \
$(PROTOUSRSHAREMAN1DIR)/$$f > \
$(PROTOUSRSHAREMAN1DIR)/$$f.sed 2>&1 ; \
$(CP) -fp $(PROTOUSRSHAREMAN1DIR)/$$f.sed \
$(PROTOUSRSHAREMAN1DIR)/$$f ; \
$(RM) -f $(PROTOUSRSHAREMAN1DIR)/$$f.sed ; \
done
test: $(BUILD_32_and_64)
@cd $(BUILD_DIR_32); $(GMAKE) check
@cd $(BUILD_DIR_64); $(GMAKE) check
BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
include ../../make-rules/depend.mk