Makefile revision 3817
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# CDDL HEADER START
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# The contents of this file are subject to the terms of the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Common Development and Distribution License (the "License").
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# You may not use this file except in compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# or http://www.opensolaris.org/os/licensing.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# See the License for the specific language governing permissions
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# When distributing Covered Code, include this CDDL HEADER in each
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# If applicable, add the following below this CDDL HEADER, with the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# fields enclosed by brackets "[]" replaced with your own identifying
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# information: Portions Copyright [yyyy] [name of copyright owner]
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# CDDL HEADER END
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinclude ../../make-rules/shared-macros.mk
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_NAME= hplip
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill CunningtonCOMPONENT_VERSION= 3.12.4
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterTPNO= 17920
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill CunningtonCOMPONENT_PROJECT_URL= http://hplipopensource.com/hplip-web/index.html
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_ARCHIVE_HASH= \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sha256:350375c78d79adf635a59a448b27b3fe9ab7ac622637c47125fe5f7d8a537fff
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_ARCHIVE_URL= http://sourceforge.net/projects/hplip/files/hplip/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_BUGDB= utility/hplip
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinclude $(WS_MAKE_RULES)/prep.mk
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinclude $(WS_MAKE_RULES)/configure.mk
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinclude $(WS_MAKE_RULES)/ips.mk
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Enable ASLR for this component
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterASLR_MODE = $(ASLR_ENABLE)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# We need to be able to return from void functions
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCC += $(studio_FEATURES_EXTENSIONS)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCXX += $(studio_FEATURES_EXTENSIONS) $(studio_NORUNPATH) $(studio_CXXLIB_CSTD)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterROOTPPDCACHE = $(PROTO_DIR)/usr/lib/lp/caches/SUNWhpijs.cache
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# configure(1) options to use
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCONFIGURE_OPTIONS += --localedir=$(CONFIGURE_LOCALEDIR)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCONFIGURE_OPTIONS += --disable-pp-build
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCONFIGURE_OPTIONS += --disable-gui-build
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCONFIGURE_ENV += LDFLAGS=" -lnsl"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterHPLIP_VARIANT = $(BUILD_DIR)/$(MACH32)-hplip
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterHPIJS_VARIANT = $(BUILD_DIR)/$(MACH32)-hpijs
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterVARIANTS = $(HPLIP_VARIANT) $(HPIJS_VARIANT)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# We build two variants: for the CUPS/SANE support
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# and for the HPIJS only support
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# use these options for the CUPS/SANE support
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: CONFIGURE_OPTIONS += --with-hpppddir=/usr/share/cups/model/SUNWhplip
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: CONFIGURE_OPTIONS += --enable-fax-build
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: CONFIGURE_OPTIONS += --disable-udev-acl-rules
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: CONFIGURE_OPTIONS += --enable-hpcups-install
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: CONFIGURE_OPTIONS += --disable-new-hpcups
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: CONFIGURE_OPTIONS += --enable-cups-drv-install
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# use these options for the HPIJS only support
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --enable-foomatic-ppd-install
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --with-hpppddir=/usr/share/ppd/SUNWhpijs/HP
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --disable-cups-drv-install
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --disable-hpcups-install
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --disable-doc-build
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --enable-hpijs-only-build
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPIJS_VARIANT)/.built: CONFIGURE_OPTIONS += --enable-hpijs-install
8d3140b524c0e28c0a49dc7c7d481123ef3cfe11Chris Lee
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall: COMPONENT_INSTALL_ENV += halpredir=/etc/hal/fdi/preprobe/10osvendor
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_INSTALL_ARGS += -e
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMPONENT_PRE_CONFIGURE_ACTION = \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ($(CLONEY) $(SOURCE_DIR) $(@D))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Generate configuration scripts
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(HPLIP_VARIANT)/.built: COMPONENT_PREP_ACTION = \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (cd $(@D) ; autoconf )
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Since it looks like you can't build HPLIP with both HPIJS and CUPS support
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# and seperate the HPIJS and CUPS PPD data, we need to replicate the code and
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# build it twice. Once for the HPIJS support used by LP and once for the rest
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# of the support used for CUPS and SANE.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterconfigure: $(VARIANTS:%=%/.configured)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterbuild: $(VARIANTS:%=%/.built)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall: $(VARIANTS:%=%/.installed)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) $(ROOTPPDCACHE)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(MKDIR) $(PROTO_DIR)/usr/lib/lp/caches
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ($(ENV) VER="$(BUILD_DIR)/$(MACH32)-hpijs" \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster PPDSRC="$(PROTO_DIR)/usr/share/ppd/SUNWhpijs" \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DONOTINSTALL="/dev/null" \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster CACHE="$(ROOTPPDCACHE)" \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IPATH="/usr/share/ppd/$(BUILD_DIR)/" \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(KSH93) cache.ksh)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# empty test target
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fostertest: $(NO_TESTS)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += image/library/libjpeg
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += library/print/cups-libs
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += library/security/openssl
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += print/cups
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += runtime/perl-512
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += runtime/python-26
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/library
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/library/c++-runtime
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/library/libdbus
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/library/math
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/library/usb/libusb
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/linker
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterREQUIRED_PACKAGES += system/management/snmp/net-snmp
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster