1N/A#
1N/A# CDDL HEADER START
1N/A#
1N/A# The contents of this file are subject to the terms of the
1N/A# Common Development and Distribution License (the "License").
1N/A# You may not use this file except in compliance with the License.
1N/A#
1N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1N/A# or http://www.opensolaris.org/os/licensing.
1N/A# See the License for the specific language governing permissions
1N/A# and limitations under the License.
1N/A#
1N/A# When distributing Covered Code, include this CDDL HEADER in each
1N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1N/A# If applicable, add the following below this CDDL HEADER, with the
1N/A# fields enclosed by brackets "[]" replaced with your own identifying
1N/A# information: Portions Copyright [yyyy] [name of copyright owner]
1N/A#
1N/A# CDDL HEADER END
1N/A#
1N/A
1N/A#
1N/A# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
1N/A#
1N/A
1N/A#
1N/A# Note: Hidden command and dependency checking plays havoc with perl module
1N/A# makefiles, so we make sure to always unset the KEEP_STATE and
1N/A# SUNPRO_DEPENDENCIES environment variables before calling any subsidiary makes.
1N/A#
1N/A
1N/A.KEEP_STATE:
1N/A
1N/Ainclude ../../Makefile.cmd
1N/A
1N/A# To turn KEEP_STATE off the following two environment variables must be unset.
1N/AKEEP_STATE_OFF = unset KEEP_STATE SUNPRO_DEPENDENCIES
1N/A
1N/A# Configuration files needed from the architecture-specific subdirectories.
1N/AMACH_CONFIG_FILES = config.sh
1N/A
1N/A# Where the configuration files need to be copied to.
1N/ADISTRIB_CONFIG_FILES = $(MACH_CONFIG_FILES:%=distrib/%)
1N/A
1N/A# Generated Makefiles, derived from config.sh.
1N/AGEN_MAKEFILES = Makefile.perlcfg distrib/ext/Makefile
1N/A
1N/Aall := TARGET = all
1N/Ainstall := TARGET = install
1N/Aclobber := TARGET = clobber
1N/Aclean := TARGET = clean
1N/Atest := TARGET = test
1N/A
1N/A# Compiler replacement rules
1N/ASED_CC = -e "s!'cc'!'$(CC) -_gcc=-w'!"
1N/ASED_CC_E = -e "s!'cc -E'!'$(REAL_CC) -E'!"
1N/A
1N/A# distrib holds the perl source, contrib holds the SMI modules.
1N/Aall clean test: configure FRC
1N/A @ cd distrib; pwd; $(KEEP_STATE_OFF); $(MAKE) $(TARGET)
1N/A @ cd contrib; pwd; $(KEEP_STATE_OFF); $(MAKE) $(TARGET)
1N/A
1N/A
1N/A# ONLY for cleaning Parfait's .bc files from the 5.8.4 proto area
1N/Abc-clobber:
1N/A find $(ROOT)/usr/perl5/5.8.4 -name "*.bc" -exec rm -f {} \;
1N/A
1N/Ainstall-bits: all
1N/A @ cd distrib; pwd; $(KEEP_STATE_OFF); $(MAKE) install_files
1N/A
1N/A# distrib/Makefile copies both distrib and contrib to the proto area.
1N/Ainstall: install-bits bc-clobber
1N/A
1N/Aconfigure: $(DISTRIB_CONFIG_FILES) $(GEN_MAKEFILES) get_no_keywords
1N/A
1N/A# Modify config.sh to refer to the compiler used for the build.
1N/Adistrib/config.sh: $(MACH)/config.sh
1N/A $(SED) $(SED_CC) $(SED_CC_E) $(MACH)/config.sh > $@
1N/A
1N/AMakefile.perlcfg: extract_config $(MACH)/config.sh
1N/A ./extract_config $(MACH)/config.sh > Makefile.perlcfg
1N/A
1N/Adistrib/ext/Makefile: extract_makeext $(MACH)/config.sh
1N/A ./extract_makeext $(MACH)/config.sh > distrib/ext/Makefile
1N/A
1N/A.PARALLEL: extract_config extract_makeext distrib/config.sh Makefile.perlcfg \
1N/A distrib/ext/Makefile get_no_keywords
1N/A
1N/A#
1N/A# Subsidiary makefiles include the generated Makefiles,
1N/A# so make sure they exist first and then delete them afterwards.
1N/A#
1N/Aclobber: $(GEN_MAKEFILES) FRC
1N/A @ cd distrib; pwd; $(KEEP_STATE_OFF); $(MAKE) $(TARGET)
1N/A @ cd contrib; pwd; $(KEEP_STATE_OFF); $(MAKE) $(TARGET)
1N/A - $(RM) $(DISTRIB_CONFIG_FILES) $(GEN_MAKEFILES) \
1N/A extract_config extract_makeext get_no_keywords
1N/A
1N/AFRC: