components/ggrep/Makefile
author John Beck <John.Beck@Oracle.COM>
Wed, 18 Nov 2015 12:45:08 -0800
changeset 5106 7da49475ad49
parent 4795 17cca748f778
child 5125 34cc580c62c2
permissions -rw-r--r--
22227841 SUNWpyyaml26 needs to be obsoleted
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     1
#
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     3
#
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     7
#
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    12
#
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    18
#
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    20
#
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    21
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    22
#
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    23
include ../../make-rules/shared-macros.mk
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    24
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    25
COMPONENT_NAME=		grep
1997
c93f1721e91b 18268292 Upgrade gnu grep to 2.20
April Chin <april.chin@oracle.com>
parents: 1948
diff changeset
    26
COMPONENT_VERSION=	2.20
609
775168282b2f 7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents: 344
diff changeset
    27
COMPONENT_PROJECT_URL=	http://gnu.org/software/grep/
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    28
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
1181
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    29
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.xz
666
3e3828ae1878 PSARC 2011/397 Update GNU grep to 2.10
Rich Burridge <rich.burridge@oracle.com>
parents: 609
diff changeset
    30
800
2ad056ed89ec 7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 666
diff changeset
    31
COMPONENT_ARCHIVE_HASH=	\
1997
c93f1721e91b 18268292 Upgrade gnu grep to 2.20
April Chin <april.chin@oracle.com>
parents: 1948
diff changeset
    32
    sha256:f0af452bc0d09464b6d089b6d56a0a3c16672e9ed9118fbe37b0b6aeaf069a65
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    33
COMPONENT_ARCHIVE_URL=	http://ftp.gnu.org/gnu/grep/$(COMPONENT_ARCHIVE)
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    34
1058
34d7aaa03423 15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    35
COMPONENT_BUGDB=	utility/ggrep
34d7aaa03423 15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents: 800
diff changeset
    36
1997
c93f1721e91b 18268292 Upgrade gnu grep to 2.20
April Chin <april.chin@oracle.com>
parents: 1948
diff changeset
    37
TPNO=			18300
1948
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1181
diff changeset
    38
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    39
include $(WS_MAKE_RULES)/prep.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    40
include $(WS_MAKE_RULES)/configure.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    41
include $(WS_MAKE_RULES)/ips.mk
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    42
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 83
diff changeset
    43
# We need to be able to return from void functions
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 83
diff changeset
    44
CFLAGS	+=			$(studio_FEATURES_EXTENSIONS)
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    45
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    46
CONFIGURE_OPTIONS  +=		CFLAGS="$(CFLAGS)"
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    47
CONFIGURE_OPTIONS  +=		--prefix=/usr
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    48
1181
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    49
# Enable aslr for this component
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    50
ASLR_MODE = $(ASLR_ENABLE)
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    51
1181
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    52
# Needed for "gmake test" to work.
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    53
# SHELLOPTS is exported via make-rules/shared-macros.mk,
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    54
# causing the braceexpand option to be set.
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    55
# This option causes "$1: unbound variable" errors during the check-TESTS,
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    56
# and the gnulib-tests don't even run at all.
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    57
# Note that the below unexports SHELLOPTS, even for targets
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    58
# other than "test." 
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    59
unexport SHELLOPTS
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    60
4795
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    61
# Test transforms retain only relevant results output.
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    62
COMPONENT_TEST_TRANSFORMS += \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    63
        '-n ' \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    64
        '-e "/TOTAL/p" ' \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    65
        '-e "/SKIP/p" ' \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    66
        '-e "/PASS/p" ' \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    67
        '-e "/FAIL/p" ' \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    68
        '-e "/ERROR/p" '
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    69
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    70
# Putting GNU on path first prevents some tests from being skipped,
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    71
# which also  keeps the test and system-test results consistent.
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    72
# With the test target, the path to the just-built commands is
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    73
# prepended to PATH.  With the system-test target, we patch
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    74
# to prevent the PATH from being prepended.
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    75
COMPONENT_TEST_ENV += "PATH=$(GNUBIN):$(PATH)"
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    76
COMPONENT_SYSTEM_TEST_ENV += "PATH=$(GNUBIN):$(PATH)"
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    77
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    78
# Patch to change test path so it tests grep commands from /usr/gnu/bin
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    79
# installed on the test system. If we patch, we must re-configure the
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    80
# tests.
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    81
$(SOURCE_DIR)/.system-test-patched: $(SOURCE_DIR)/.prep
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    82
	$(GPATCH) -d $(@D) $(GPATCH_FLAGS) < $(COMPONENT_DIR)/system-test-patches/systest.patch
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    83
	$(TOUCH) $(@)
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    84
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    85
# if we previously patched the source for the system-test target,
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    86
# ensure we rebuild without that patch
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    87
test-check:
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    88
	if [ -e $(SOURCE_DIR)/.system-test-patched ]; then \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    89
	   cd $(COMPONENT_DIR); \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    90
	   $(GMAKE) clean build; \
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
    91
	fi
4402
b7cd2462c58f 20460412 GGREP should have some master test results to compare against
James Chang <james.c.chang@Oracle.COM>
parents: 4339
diff changeset
    92
1181
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    93
# common targets
2225
f064d3d3190d 20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents: 1997
diff changeset
    94
configure:	$(CONFIGURE_64)
f064d3d3190d 20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents: 1997
diff changeset
    95
1181
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    96
build:		$(BUILD_64)
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    97
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    98
install:	$(INSTALL_64)
17dcb14c2b1e 16059697 problem in UTILITY/GGREP
April Chin <april.chin@oracle.com>
parents: 1058
diff changeset
    99
4795
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
   100
test:		test-check $(TEST_64)
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
   101
4795
17cca748f778 21571335 Enable system-test target for ggrep
April Chin <april.chin@oracle.com>
parents: 4402
diff changeset
   102
system-test:    $(SOURCE_DIR)/.system-test-patched configure $(SYSTEM_TEST_64)
4339
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 3817
diff changeset
   103
80
7f8350e3f91a 7017244 move ggrep to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
   104
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
   105
REQUIRED_PACKAGES += library/pcre
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
   106
REQUIRED_PACKAGES += shell/bash
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
   107
REQUIRED_PACKAGES += system/library