usr/src/cmd/hplip/Makefile.sfw
author Cyril Plisko <cyril.plisko@grigale.com>
Mon, 21 Mar 2011 01:49:39 -0800
changeset 72 82bde2a81435
parent 66 f9848e44a68b
permissions -rw-r--r--
Import sfw build 162 Bugs Fixed ---------- 7021535 remove bison runtime bits from SUNWgccruntime 7023530 remove even more things from sfw 7023710 net-ssleay 1.35 in SFW does not build with OpenSSL 1.0.0 7024341 emacs doesn't build on 160

#
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
#
#ident	"@(#)Makefile.sfw	1.5	11/03/15 SMI"

include ../Makefile.cmd
# include ../Makefile.cmd.64

VER =		$(COMPONENT_NAME:sh)-$(COMPONENT_VERSION:sh)
TARBALL=$(VER).tar.gz
PATCHES:sh =	echo Patches/[0-9]*.patch
GPATCH_FLAGS = -p1

CC	+=	-features=extensions
CCC	+=	-norunpath -library=%none -features=extensions
CXXLD		=	$(CCC)
PPDDIR	=	$(CFGPREFIX)/share/ppd
ROOTPPDCACHE =	$(ROOT)/usr/lib/lp/caches/SUNWhpijs.cache

#	configure(1) options to use
# a default --prefix and --mandir are set in Makefile.master
CONFIGURE_OPTIONS +=	--localedir=$(CFGLOCALE)
CONFIGURE_OPTIONS +=	--disable-pp-build
CONFIGURE_OPTIONS +=	--disable-gui-build

# use these options for the HPIJS only support
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --enable-foomatic-ppd-install
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --with-hpppddir=$(PPDDIR)/SUNWhpijs/HP
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --disable-cups-drv-install
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --disable-hpcups-install
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --disable-doc-install
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --enable-hpijs-only-build
$(VER)-hpijs/config.status:= CONFIGURE_OPTIONS += --enable-hpijs-install

# use these options for the CUPS/SANE support
$(VER)/config.status:= CONFIGURE_OPTIONS += --with-hpppddir=/usr/share/cups/model/SUNWhplip
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--enable-lite-build
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--enable-network-build
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--enable-fax-build
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--disable-udev-acl-rules
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--enable-hpcups-install
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--disable-new-hpcups
$(VER)/config.status:= CONFIGURE_OPTIONS +=	--enable-cups-drv-install

TARGET_ENV +=	CC="$(CC)"
TARGET_ENV += 	CXX="$(CCC)"
TARGET_ENV += 	CXXLD="$(CXXLD)"
TARGET_ENV += 	CPPFLAGS="$(CPPFLAGS)"
TARGET_ENV += 	LD_OPTIONS="$(LDLIBS) $(LDFLAGS) -lnsl"
TARGET_ENV += 	PATH="$(SRC)/tools:$(SFW_PATH)"
TARGET_ENV += 	MAKE="$(CCSMAKE)"
TARGET_ENV += 	CONFIG_SHELL=$(CONFIG_SHELL)

all:=		TARGET = all
install:=	TARGET = -e install
install:=	TARGET_ENV +=	halpredir=/etc/hal/fdi/preprobe/10osvendor
install:=	TARGET_ENV +=	DESTDIR="$(ROOT)"
install:=	TARGET_ENV +=	INSTALL="$(INSTALL_PROTO)"
install:=	TARGET_ENV += 	PATH="$(SRC)/tools:$(SFW_PATH)"
install:=	TARGET_ENV += 	MAKE="$(CCSMAKE)"


#
#  Hopefully you will not need to make changes below this point
#

all:	$(VER)/.built $(VER)-hpijs/.built

# build HPLIP (CUPS + SANE support)
$(VER)/.built:	$(VER)/config.status
	(cd $(@D) ; env - $(TARGET_ENV) $(CCSMAKE) $(TARGET))
	$(TOUCH) $@

#build HPLIP (HPIJS support for LP)
$(VER)-hpijs/.built:	$(VER)-hpijs/config.status
	(cd $(@D) ; env - $(TARGET_ENV) $(CCSMAKE) $(TARGET))
	$(TOUCH) $@

install:	install-protofix

$(VER)/.installed:	$(VER)/.built
	(cd $(@D) ; env - $(TARGET_ENV) $(CCSMAKE) $(TARGET))
	$(RM) -r $(ROOTLIB)/libhp*.la
	$(RM) -r $(ROOTLIB)/sane/libsane-hpaio.la
	$(RM) -r $(ROOTETC)/udev
	$(TOUCH) $@

$(VER)-hpijs/.installed:	$(VER)-hpijs/.built
	(cd $(@D) ; env - $(TARGET_ENV) $(CCSMAKE) $(TARGET))
	$(MKDIR) -p $(ROOTSFWBIN)
	$(RM) $(ROOTSFWBIN)/hpijs ; $(SYMLINK) ../../bin/hpijs $(ROOTSFWBIN)/hpijs
	$(TOUCH) $@

install-target:	$(VER)/.installed $(VER)-hpijs/.installed
	-$(RMDIR) $(ROOT)/usr/share/hplip
	-$(RM) -r $(ROOT)/etc/hp
	-$(RM) -r $(ROOT)/etc/hal/fdi/preprobe
	-$(RM) -r $(ROOT)/var/lib/hp

$(ROOTPPDCACHE):	$(VER)-hpijs/.installed
	$(RM) $@
	$(MKDIR) -p $(ROOT)/usr/lib/lp/caches
	( env - \
		VER="$(VER)-hpijs" \
		PPDSRC="$(ROOT)/usr/share/ppd/SUNWhpijs" \
		DONOTINSTALL="/dev/null" \
		CACHE="$@" \
		IPATH="/usr/share/ppd/SUNWhpijs/" \
		$(KSH93) ../foomatic-ppd/cache.ksh)

install-hpcac:
	# Copy hpcac to cups filter
	$(INSTALL_PROTO) $(VER)/prnt/filters/hpcac $(ROOT)/usr/lib/cups/filter/hpcac 

install-protofix:	install-target $(ROOTPPDCACHE) install-hpcac
	# apply the file attributes from the packaging
	for pkg in $(COMPONENT_PACKAGES:sh) ; do \
		$(SRC)/tools/protofix --pkg $$pkg --perm ; \
	done

#
# Since it looks like you can't build HPLIP with both HPIJS and CUPS support
# and seperate the HPIJS and CUPS PPD data, we need to replicate the code and
# build it twice.  Once for the HPIJS support used by LP and once for the rest
# of the support used for CUPS and SANE.
#
$(VER)-hpijs/config.status:	$(VER)-hpijs/configure
	(cd $(@D) ; env - $(TARGET_ENV) $(CONFIG_SHELL) ./configure $(CONFIGURE_OPTIONS))

$(VER)-hpijs/configure:	$(VER)/configure
	($(RM) -r $(@D) ; mkdir $(@D))
	(cd $(VER) ; find . | cpio -dump ../$(@D))
	$(TOUCH) $@

$(VER)/config.status:	$(VER)/configure .WAIT $(VER)-hpijs/configure
	(cd $(VER) ; env - $(TARGET_ENV) $(CONFIG_SHELL) ./configure $(CONFIGURE_OPTIONS))

$(VER)/configure:	$(VER)/configure.in
	(cd $(VER) ; aclocal-1.10; libtoolize --force; autoconf )

$(VER)/configure.in:	$(VER)/.patched
	touch $@

clean:
	-rm -rf $(VER) $(VER)-hpijs

include ../Makefile.targ

FRC: