usr/src/lib/slang/Makefile.sfw
author Cyril Plisko <cyril.plisko@grigale.com>
Tue, 06 Apr 2010 16:00:14 +0300
changeset 11 87960ed158f9
parent 5 d07534556b03
child 66 f9848e44a68b
child 203 d5040cc882ae
permissions -rw-r--r--
Import sfw build 137 Bugs Fixed ---------- 6926835 Wireshark cannot open files typed into the location bar 6930214 CVE-2010-0624: Heap-based buffer overflow in GNU Tar 6933424 Various sfw manual pages need to be adjusted to use the new OpenSolaris package names. 6937764 upgrade OpenSSL to 0.9.8n (and fix CVE-2010-0740)

#
# 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 2010 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

#ident	"@(#)Makefile.sfw	1.3	10/03/16 SMI"

include ../Makefile.lib

#
# Macros
#

VER = $(COMPONENT_VERSION:sh)
PROJECT = $(COMPONENT_NAME:sh)
PROD = $(PROJECT)-$(VER)
PROD64 = $(PROD)-64
PKG = library/slang
BZFILE = $(PROD).tar.bz2

POST_PROCESS_BIN = $(SRC)/tools/post_process \
	$(ROOTBIN)/slsh

POST_PROCESS_LIB32 = $(SRC)/tools/post_process_so \
	$(ROOTLIB)/libslang.so.$(VER) \
	$(ROOTLIB)/slang/v2/modules/*.so

POST_PROCESS_LIB64 = $(SRC)/tools/post_process_so \
	$(ROOTLIB64)/libslang.so.$(VER) \
	$(ROOTLIB64)/slang/v2/modules/*.so

POST_PROCESS_MAN = $(SRC)/tools/sunman \
	-n "$(PROJECT)" -p "$(PKG)" -s Volatile \
	$(ROOTMAN1)/slsh.1

# Options for configure script
CONFIGURE_OPTIONS += --sysconfdir=$(CFGETC)/slsh
CONFIGURE_OPTIONS += --with-pcre="$(ROOT)$(CFGPREFIX)"
CONFIGURE_OPTIONS += --with-pcreinc="$(ROOTINCLUDE)/pcre"
CONFIGURE_OPTIONS += --with-z="$(ROOT)$(CFGPREFIX)"

#
# Targets
#

all: all32 all64

$(PROD)/configure $(PROD64)/configure: $(BZFILE)
	$(MKDIR) -p tmp
	/usr/bin/bzcat $^ | (cd tmp; $(TAR) xopf -)
	$(MV) tmp/$(PROD) $(@D)
	$(RMDIR) tmp
	$(TOUCH) $@

install: install32 install64

clean:
	-rm -rf $(PROD) $(PROD64)

install_h:

#
# Targets (32-bit)
#

$(PROD)/config.status: $(PROD)/configure
	(cd $(PROD); env - ./configure \
	    $(CONFIGURE_OPTIONS) \
	    CC="$(CC)" \
	    CFLAGS="$(CFLAGS) $(C99_DISABLE) $(XREGSFLAG)" \
	    LDFLAGS="$(LDFLAGS.lib) \
		-M $(SRC)/cmd/mapfile_noexstk \
		-z ignore" \
	    MAKE=$(CCSMAKE))

all32: $(PROD)/config.status
	(cd $(PROD); env - $(CCSMAKE) MAKE=$(CCSMAKE))

install32: all32
	(cd $(PROD); env - $(CCSMAKE) -e install \
	    MAKE=$(CCSMAKE) \
	    DESTDIR="$(ROOT)")
	$(POST_PROCESS_BIN)
	$(POST_PROCESS_LIB32)
	$(POST_PROCESS_MAN)

#
# Targets (64-bit)
#

$(PROD64)/config.status: $(PROD64)/configure
	(cd $(PROD64); env - ./configure \
	    $(CONFIGURE_OPTIONS) \
	    --libdir=$(CFGLIB64) \
	    CC="$(CC64)" \
	    CFLAGS="$(CFLAGS64) $(C99_DISABLE) $(XREGSFLAG)" \
	    LDFLAGS="$(CFLAGS64) $(LDFLAGS.lib) \
		-M $(SRC)/cmd/mapfile_noexstk \
		-z ignore" \
	    MAKE=$(CCSMAKE))

all64: $(PROD64)/config.status
	(cd $(PROD64); env - $(CCSMAKE) MAKE=$(CCSMAKE))

install64: all64
	(cd $(PROD64); env - $(CCSMAKE) -e install \
	    MAKE=$(CCSMAKE) \
	    DESTDIR="`/bin/pwd`/.install")
	$(MKDIR) -p $(ROOTLIB64)
	(cd $(PROD64)/.install/$(CFGLIB64); $(TAR) cpf - .) | \
	    (cd $(ROOTLIB64); $(TAR) xpf -)
	$(POST_PROCESS_LIB64)

include ../Makefile.targ