Makefile revision fb9f9b975cb9214fec5dab37d461199adab9b964
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# CDDL HEADER START
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# The contents of this file are subject to the terms of the
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Common Development and Distribution License, Version 1.0 only
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# (the "License"). You may not use this file except in compliance
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# with the License.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# or http://www.opensolaris.org/os/licensing.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# See the License for the specific language governing permissions
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# and limitations under the License.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# When distributing Covered Code, include this CDDL HEADER in each
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# If applicable, add the following below this CDDL HEADER, with the
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# fields enclosed by brackets "[]" replaced with your own identifying
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# information: Portions Copyright [yyyy] [name of copyright owner]
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# CDDL HEADER END
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Use is subject to license terms.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#ident "%Z%%M% %I% %E% SMI"
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainclude ../../../Makefile.cmd
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainclude ../Makefile.perlcfg
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Extra arguments needed to fool MakeMaker into building in the distrib tree.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Note we fake up an extra directory for contrib scripts under distrib - the
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# modified installperl knows how to handle the contents.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaPERL_MM_ARGS += INST_ARCHLIB=$(PERL_DISTRIB)/lib INST_LIB=$(PERL_DISTRIB)/lib \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica INST_SCRIPT=$(PERL_DISTRIB)/contrib_bin \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica INST_BIN=$(PERL_DISTRIB)/contrib_bin PERL_SRC=$(PERL_DISTRIB)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# All SMI perl libraries should be prefixed with this.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaSUN_SOLARIS = Sun/Solaris
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Add any XS extensions here.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaPERL_DYNAMIC_EXT = \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Utils \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Intrs \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Project \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Task \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Exacct \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Privilege \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/Ucred
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCLOSED_PERL_EXT += $(SUN_SOLARIS)/Kstat
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj# Add any pure-perl extensions here.
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4ajPERL_NONXS_EXT = \
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj $(SUN_SOLARIS)/BSM \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(SUN_SOLARIS)/PerlGcc
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4ajPERL_EXT = $(PERL_DYNAMIC_EXT) $(PERL_NONXS_EXT)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaPERL_EXT_MAKEFILES = $(PERL_EXT:%=%/Makefile)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4ajALL_EXT = $(PERL_EXT)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4ajALL_EXT_MAKEFILES = $(PERL_EXT_MAKEFILES)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj$(CLOSED_BUILD)ALL_EXT += $(CLOSED_PERL_EXT)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj$(CLOSED_BUILD)ALL_EXT_MAKEFILES += $(CLOSED_PERL_EXT:%=%/Makefile)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4ajall: copy_contrib $(ALL_EXT_MAKEFILES) $(ALL_EXT)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj.PARALLEL: $(ALL_EXT_MAKEFILES) $(ALL_EXT)
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj#
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj# Note: this is a dummy install target; during 'make all' this Makefile
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj# populates ../distrib/lib with the modules that it is responsible for building,
583b61f62d9b9c5ac6bbc290b4e91263dfb202b4aj# and the install target of ../distrib/Makefile subsequently copies the modules
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# into the proto area.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainstall: all
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# copy_contrib copies the clearfiles from ../../contrib to here.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricacopy_contrib: ../../contrib/copy_contrib
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica @ ../../contrib/copy_contrib ../../contrib . $(PERL_EXT)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica @ if [ -d $(CLOSED)/cmd/perl/contrib -a \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica -n "$(CLOSED_PERL_EXT)" ]; then \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ../../contrib/copy_contrib $(CLOSED)/cmd/perl/contrib \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica . $(CLOSED_PERL_EXT); \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica fi
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaclean:
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica -@ $(PERL_MM_ENV); \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica for ext in $(ALL_EXT); do \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica if [ -d $$ext ]; then \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ( \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica cd $$ext; pwd; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ -f Makefile.old ] && mf=Makefile.old; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ -f Makefile ] && mf=Makefile; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ ! -z "$$mf" ] && $(MAKE) -f $$mf clean; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ) \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica fi \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica done
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaclobber:
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica -@ $(PERL_MM_ENV); \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica for ext in $(ALL_EXT); do \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica if [ -d $$ext ]; then \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ( \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica cd $$ext; pwd; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ -f Makefile.old ] && mf=Makefile.old; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ -f Makefile ] && mf=Makefile; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ ! -z "$$mf" ] && $(MAKE) -f $$mf realclean; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ); \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(RM) -r $$ext; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica fi \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica done
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricatest: all
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica @ $(PERL_MM_ENV); $(PERL_LD_ENV); \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica for ext in $(ALL_EXT); do \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ( \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica cd $$ext; pwd; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ -f Makefile.old ] && mf=Makefile.old; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ -f Makefile ] && mf=Makefile; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica [ ! -z "$$mf" ] && $(MAKE) -f $$mf test; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica ) \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica done
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Pattern-matching rule for Makefiles.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica%/Makefile: %/Makefile.PL $(PERL_CONFIGDEP)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica @ cd $(@D); pwd; $(RUN_MINIPERL) $(<F) $(PERL_MM_ARGS) > /dev/null
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Pattern-matching rule for extensions.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica$(SUN_SOLARIS)/%: $(SUN_SOLARIS)/%/Makefile FRC
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica @ cd $@; pwd; $(PERL_MM_ENV); $(MAKE) all
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
8700009e2cc8cb186241e1fdd74973da1121ee4crica#
8700009e2cc8cb186241e1fdd74973da1121ee4crica# Additional rule to make sure changes to the ::Exacct sub-module Makefile.PL
8700009e2cc8cb186241e1fdd74973da1121ee4crica# files results in the parent Makefile.PL being rerun.
8700009e2cc8cb186241e1fdd74973da1121ee4crica#
8700009e2cc8cb186241e1fdd74973da1121ee4crica$(SUN_SOLARIS)/Exacct/Makefile: $(SUN_SOLARIS)/Exacct/Makefile.PL \
8700009e2cc8cb186241e1fdd74973da1121ee4crica $(SUN_SOLARIS)/Exacct/Catalog/Makefile.PL \
8700009e2cc8cb186241e1fdd74973da1121ee4crica $(SUN_SOLARIS)/Exacct/File/Makefile.PL \
8700009e2cc8cb186241e1fdd74973da1121ee4crica $(SUN_SOLARIS)/Exacct/Object/Makefile.PL \
8700009e2cc8cb186241e1fdd74973da1121ee4crica $(PERL_CONFIGDEP)
8700009e2cc8cb186241e1fdd74973da1121ee4crica @ cd $(SUN_SOLARIS)/Exacct; pwd; \
8700009e2cc8cb186241e1fdd74973da1121ee4crica $(RUN_MINIPERL) Makefile.PL $(PERL_MM_ARGS) > /dev/null
8700009e2cc8cb186241e1fdd74973da1121ee4crica
8700009e2cc8cb186241e1fdd74973da1121ee4cricaFRC:
8700009e2cc8cb186241e1fdd74973da1121ee4crica