xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/Makefile (revision 10207:87c40ea3fc4b)
10Sstevel@tonic-gate#
20Sstevel@tonic-gate# CDDL HEADER START
30Sstevel@tonic-gate#
40Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5580Swesolows# Common Development and Distribution License (the "License").
6580Swesolows# You may not use this file except in compliance with the License.
70Sstevel@tonic-gate#
80Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate# See the License for the specific language governing permissions
110Sstevel@tonic-gate# and limitations under the License.
120Sstevel@tonic-gate#
130Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate#
190Sstevel@tonic-gate# CDDL HEADER END
200Sstevel@tonic-gate#
21580Swesolows
220Sstevel@tonic-gate#
23*8601SVladimir.Marek@Sun.COM# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
240Sstevel@tonic-gate# Use is subject to license terms.
250Sstevel@tonic-gate#
26580Swesolows
270Sstevel@tonic-gate#
280Sstevel@tonic-gate# The perl5 installation for Solaris differs from that generated by the
290Sstevel@tonic-gate# Perl Configure procedure.  The configuration appropriate for the current
300Sstevel@tonic-gate# build is automatically generated from pre-existing configuration files
310Sstevel@tonic-gate# for the build platform.
320Sstevel@tonic-gate#
330Sstevel@tonic-gate
340Sstevel@tonic-gatePROG = perl
350Sstevel@tonic-gate
360Sstevel@tonic-gate#
370Sstevel@tonic-gate# Some	of the Makefile.master and Makefile.cmd flags are overridden by
380Sstevel@tonic-gate# ../Makefile.perlcfg which is in turn generated from config.sh by
390Sstevel@tonic-gate# ../extract_config.sh - check there first before overriding anything in this
400Sstevel@tonic-gate# Makefile.
410Sstevel@tonic-gate#
420Sstevel@tonic-gateinclude ../../../Makefile.cmd
430Sstevel@tonic-gateinclude ../Makefile.perlcfg
440Sstevel@tonic-gate
450Sstevel@tonic-gate# DynaLoader is a special extension as it has to be built statically.
460Sstevel@tonic-gateDYNALOADER=lib/auto/DynaLoader/DynaLoader.a
470Sstevel@tonic-gate
480Sstevel@tonic-gate# Uuencoded files that need to have SCCS keyword expansion prevented, see below.
490Sstevel@tonic-gateUUENCODED_FILES = \
500Sstevel@tonic-gate    ext/Storable/t/downgrade.t \
510Sstevel@tonic-gate    lib/CGI/eg/dna_small_gif.uu \
520Sstevel@tonic-gate    lib/CGI/eg/wilogo_gif.uu
530Sstevel@tonic-gate
540Sstevel@tonic-gate# Because autosplit generates a lot of files, we create a dummy timestamp file
550Sstevel@tonic-gate# so that dependency checking can be performed.
560Sstevel@tonic-gateAUTOSPLIT = lib/auto/.tstamp
570Sstevel@tonic-gate
580Sstevel@tonic-gateCLEANFILES = miniperlmain.o perlmain.o opmini.o perlmain.c writemain cflags \
590Sstevel@tonic-gate    ext.libs
600Sstevel@tonic-gate
610Sstevel@tonic-gateCLOBBERFILES = $(MINIPERL) $(PROG) $(PERL_CONFIGDEP) libperl.so lib/re.pm \
620Sstevel@tonic-gate    lib/lib.pm lib/ExtUtils/Miniperl.pm t/perl
630Sstevel@tonic-gateclobber := CLOBBERFILES += CLEANFILES
640Sstevel@tonic-gate
650Sstevel@tonic-gate# Add in the perl-specific flags (including largefile flags).
660Sstevel@tonic-gateCPPFLAGS += $(PERL_COREFLAGS) $(PERL_LFFLAGS)
670Sstevel@tonic-gate
680Sstevel@tonic-gate# Add in the libraries perl needs to be linked against.
690Sstevel@tonic-gateLDLIBS += $(PERL_LDLIBS)
700Sstevel@tonic-gate
71580Swesolows# Compiler replacement rules
721717SwesolowsSED_UN_CC	= -e "s!'$(CC) -_gcc=-w!'cc!"
73580SwesolowsSED_UN_CC_E	= -e "s!'$(REAL_CC)!'cc!"
74580Swesolows
750Sstevel@tonic-gateall :=		TARGET = all
760Sstevel@tonic-gateinstall :=	TARGET = install
770Sstevel@tonic-gateclobber :=	TARGET = clobber
780Sstevel@tonic-gateclean :=	TARGET = clean
790Sstevel@tonic-gatetest :=		TARGET = test
800Sstevel@tonic-gate
810Sstevel@tonic-gateall: get_no_keywords perl extensions utilities
820Sstevel@tonic-gate
830Sstevel@tonic-gate#
840Sstevel@tonic-gate# Some of the files in the perl distribution are uuencoded, or contain uuencoded
850Sstevel@tonic-gate# data.  Some of the sequences of uuencoded data look like SCCS keywords, i.e.
860Sstevel@tonic-gate# "%<letter>%", so it is necessary to prevent the keywords from being expanded.
870Sstevel@tonic-gate# The SCCS 'y' flag can be added to the SCCS files to prevent keyword expansion
880Sstevel@tonic-gate# when the file is retrieved.  However due to bugs in SCCS and wx we can't
890Sstevel@tonic-gate# always be sure that these flags are propagated correctly.
900Sstevel@tonic-gate#
910Sstevel@tonic-gate
920Sstevel@tonic-gateget_no_keywords: FRC
930Sstevel@tonic-gate	@ ../get_no_keywords $(UUENCODED_FILES)
940Sstevel@tonic-gate
950Sstevel@tonic-gate#
960Sstevel@tonic-gate# Expand template files that depend on config.sh.
970Sstevel@tonic-gate#
980Sstevel@tonic-gate
990Sstevel@tonic-gate$(PERL_CONFIG_H): config_h.SH config.sh
1000Sstevel@tonic-gate	$(CHMOD) 0555 config_h.SH
1010Sstevel@tonic-gate	./config_h.SH
1020Sstevel@tonic-gate
1030Sstevel@tonic-gateperlmain.c: writemain $(PERL_CONFIG_H)
1040Sstevel@tonic-gate	./writemain $(DYNALOADER) > perlmain.c
1050Sstevel@tonic-gate
1060Sstevel@tonic-gatewritemain: writemain.SH $(PERL_CONFIG_H)
1070Sstevel@tonic-gate	$(CHMOD) 0555 writemain.SH
1080Sstevel@tonic-gate	./writemain.SH
1090Sstevel@tonic-gate
1100Sstevel@tonic-gate#
1110Sstevel@tonic-gate# Build the libperl.so and libperl.so.1 shared objects using Makefile.lib,
1120Sstevel@tonic-gate# which uses the correct library build environment.
1130Sstevel@tonic-gate#
1140Sstevel@tonic-gate
1150Sstevel@tonic-gatelibperl.so: $(PERL_CONFIG_H) FRC
1160Sstevel@tonic-gate	@ $(ECHO) "Building libperl.so"; $(MAKE) -f Makefile.lib $(TARGET)
1170Sstevel@tonic-gate
1180Sstevel@tonic-gate#
1190Sstevel@tonic-gate# Build miniperl, the bootstrap perl executable, and check it executes OK.
1200Sstevel@tonic-gate#
1210Sstevel@tonic-gate$(MINIPERL): miniperlmain.o opmini.o libperl.so
1220Sstevel@tonic-gate	$(LINK.c) -o $@ miniperlmain.o opmini.o \
1230Sstevel@tonic-gate	    -R \$$ORIGIN -L. -lperl $(LDLIBS)
1240Sstevel@tonic-gate	@ $(RUN_MINIPERL) -w -Ilib -MExporter -e 'exit(0);' || \
1250Sstevel@tonic-gate	    { $(ECHO) "error building miniperl"; $(RM) $(MINIPERL); exit 2; }
1260Sstevel@tonic-gate
1270Sstevel@tonic-gateminiperlmain.o: miniperlmain.c $(PERL_CONFIG_H)
1280Sstevel@tonic-gate
1290Sstevel@tonic-gate#
1300Sstevel@tonic-gate# opmini.o is a version of op.o compiled with -DPERL_EXTERNAL_GLOB.  Perl has
1310Sstevel@tonic-gate# an internal implementation of glob, but it isn't available at this point.
1320Sstevel@tonic-gate#
1330Sstevel@tonic-gateopmini.o: op.c $(PERL_CONFIG_H)
1340Sstevel@tonic-gate	$(COMPILE.c) -o $@ op.c -DPERL_EXTERNAL_GLOB
1350Sstevel@tonic-gate	$(POST_PROCESS_O)
1360Sstevel@tonic-gate
1370Sstevel@tonic-gate.PARALLEL: miniperlmain.o opmini.o libperl.so
1380Sstevel@tonic-gate
1390Sstevel@tonic-gate#
1400Sstevel@tonic-gate# Prepare for building perl modules by:
1410Sstevel@tonic-gate#   * Building miniperl.
1420Sstevel@tonic-gate#   * Copying re.pm from ext/re into lib.
1430Sstevel@tonic-gate#   * Creating lib.pm from lib_pm.PL.
1440Sstevel@tonic-gate#   * Creating Config.pm from config.sh.
1450Sstevel@tonic-gate#   * Autosplitting any ./lib modules that require it.
1460Sstevel@tonic-gate#   * Creating a fake cflags file.  ExtUtils::MM_Unix (used to build extensions)
1470Sstevel@tonic-gate#     checks to see if there is a non-zero sized file called 'cflags' in this
1480Sstevel@tonic-gate#     directory, so we fool it by creating one.
1490Sstevel@tonic-gate#
1500Sstevel@tonic-gate
1510Sstevel@tonic-gatepreplibrary: $(MINIPERL) $(PERL_CONFIG_PM) lib/lib.pm \
1520Sstevel@tonic-gate    lib/ExtUtils/Miniperl.pm cflags $(AUTOSPLIT)
1530Sstevel@tonic-gate
1540Sstevel@tonic-gate$(PERL_CONFIG_PM): configpm $(PERL_CONFIG_H) myconfig.SH $(MINIPERL) lib/re.pm
1550Sstevel@tonic-gate	$(RUN_MINIPERL) configpm $@
1560Sstevel@tonic-gate
1570Sstevel@tonic-gatelib/re.pm : ext/re/re.pm
1580Sstevel@tonic-gate	$(CP) -f ext/re/re.pm $@
1590Sstevel@tonic-gate
1600Sstevel@tonic-gatelib/lib.pm: lib/lib_pm.PL $(PERL_CONFIGDEP) $(MINIPERL)
1610Sstevel@tonic-gate	$(RUN_MINIPERL) lib/lib_pm.PL
1620Sstevel@tonic-gate
1630Sstevel@tonic-gatelib/ExtUtils/Miniperl.pm: $(PERL_CONFIGDEP) $(MINIPERL) \
1640Sstevel@tonic-gate    miniperlmain.c minimod.pl
1650Sstevel@tonic-gate	$(RUN_MINIPERL) minimod.pl > minimod.tmp
1660Sstevel@tonic-gate	$(MV) minimod.tmp $@
1670Sstevel@tonic-gate
1680Sstevel@tonic-gate# Note: cflags needs to be non-zero sized, so $(TOUCH) won't do.
1690Sstevel@tonic-gatecflags:
1700Sstevel@tonic-gate	$(ECHO) > cflags
1710Sstevel@tonic-gate
1720Sstevel@tonic-gate.PARALLEL: $(PERL_CONFIGDEP) lib/re.pm lib/lib.pm lib/ExtUtils/Miniperl.pm \
1730Sstevel@tonic-gate    cflags $(AUTOSPLIT)
1740Sstevel@tonic-gate
1750Sstevel@tonic-gate# Because autosplit generates a lot of files, we create a dummy timestamp file
1760Sstevel@tonic-gate$(AUTOSPLIT): $(PERL_CONFIGDEP)
1770Sstevel@tonic-gate	@ $(MKDIR) -p lib/auto
1780Sstevel@tonic-gate	$(RUN_MINIPERL) -Ilib -MAutoSplit -e 'autosplit_lib_modules(@ARGV)' \
1790Sstevel@tonic-gate	    `find lib -name SCCS -prune -o -name '*.pm' -print`
1800Sstevel@tonic-gate	@ $(TOUCH) $(AUTOSPLIT)
1810Sstevel@tonic-gate
1820Sstevel@tonic-gate#
1830Sstevel@tonic-gate# Make DynaLoader.  DynaLoader is statically linked into the perl executable
1840Sstevel@tonic-gate# because it is used to load in all the other dynamically loaded modules.
1850Sstevel@tonic-gate# Note: VERSION is used by ON as a environment variable and by perl module
1860Sstevel@tonic-gate# makefiles as a make macro, so we need to unset it before building any modules.
1870Sstevel@tonic-gate#
1880Sstevel@tonic-gate
1890Sstevel@tonic-gateext/DynaLoader/Makefile: ext/DynaLoader/Makefile.PL $(PERL_CONFIGDEP) cflags
1900Sstevel@tonic-gate	@ cd ext/DynaLoader; pwd; $(PERL_MM_ENV); \
1910Sstevel@tonic-gate	$(RUN_MINIPERL) Makefile.PL INSTALLDIRS=perl \
1920Sstevel@tonic-gate	    LIBPERL_A=libperl.so $(PERL_MM_ARGS)
1930Sstevel@tonic-gate
1940Sstevel@tonic-gate$(DYNALOADER): ext/DynaLoader/Makefile $(PERL_CONFIGDEP) cflags FRC
1950Sstevel@tonic-gate	@ cd ext/DynaLoader; pwd; $(PERL_MM_ENV); \
196580Swesolows	$(MAKE) LINKTYPE=static CCCDLFLAGS=
1970Sstevel@tonic-gate
1980Sstevel@tonic-gate#
1990Sstevel@tonic-gate# Create the perl executable.
2000Sstevel@tonic-gate#
2010Sstevel@tonic-gate
2020Sstevel@tonic-gateperl: libperl.so $(DYNALOADER) $(PERL_STATIC_TGT) perlmain.o
2034271Srie	$(LINK.c) $(ZIGNORE) -R$(PERL_REAL_CORE_DIR) \
2040Sstevel@tonic-gate	-o $@ perlmain.o $(DYNALOADER) -L. -lperl $(LDLIBS)
2050Sstevel@tonic-gate	$(POST_PROCESS)
2060Sstevel@tonic-gate
2070Sstevel@tonic-gateperlmain.o: perlmain.c $(PERL_CONFIG_H)
2080Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
2090Sstevel@tonic-gate	$(POST_PROCESS_O)
2100Sstevel@tonic-gate
2110Sstevel@tonic-gate.PARALLEL: perlmain.o
2120Sstevel@tonic-gate
2130Sstevel@tonic-gate#
2140Sstevel@tonic-gate# Build all the extensions.  The rules for this are in the generated
2150Sstevel@tonic-gate# ext/Makefile file.
2160Sstevel@tonic-gate#
2170Sstevel@tonic-gate
2180Sstevel@tonic-gateextensions: preplibrary FRC
2190Sstevel@tonic-gate	@ cd ext; pwd; $(MAKE) $(TARGET)
2200Sstevel@tonic-gate
2210Sstevel@tonic-gate#
2220Sstevel@tonic-gate# Build utilities and pod pages.
2230Sstevel@tonic-gate#
2240Sstevel@tonic-gate
2250Sstevel@tonic-gateutilities: perl FRC
2260Sstevel@tonic-gate	@ cd x2p; pwd; $(MAKE) $(TARGET)
2270Sstevel@tonic-gate	@ cd pod; pwd; $(MAKE) $(TARGET)
2280Sstevel@tonic-gate	@ cd utils; pwd; $(MAKE) $(TARGET)
2290Sstevel@tonic-gate
2300Sstevel@tonic-gate#
2310Sstevel@tonic-gate# Install targets.  The bin, lib and pod symlinks are created here.  The man
2320Sstevel@tonic-gate# link is created by the SUNWpl5m package.  In order to prevent a symlink cycle
2330Sstevel@tonic-gate# we need to remove libperl.so before we start, so it will always be reinstalled
2340Sstevel@tonic-gate# on each 'make install'.  We also overwrite the Config.pm we used to build our
2350Sstevel@tonic-gate# modules with one sanitized of the /ws/on*-tools dependency.  As a result,
2360Sstevel@tonic-gate# Config.pm will also be overwritten on each 'make install'.  Note also that
2370Sstevel@tonic-gate# perl, pstruct and psed are all hard links, so they too are reinstalled on each
2380Sstevel@tonic-gate# 'make install'.
2390Sstevel@tonic-gate#
2400Sstevel@tonic-gateinstall_files:
2410Sstevel@tonic-gate	$(RM) $(PERL_CORE_DIR)/libperl.so
2420Sstevel@tonic-gate	@ $(PERL_LD_ENV); $(PERL_LIB_ENV); \
2430Sstevel@tonic-gate	    $(PERL_DISTRIB)/perl ./installperl -destdir=$(ROOT)
2440Sstevel@tonic-gate	@ $(MAKE) -f Makefile.lib install_lib
2450Sstevel@tonic-gate
2460Sstevel@tonic-gate	umask 022; $(MKDIR) -p $(PERL_VENDOR_DIR)
2470Sstevel@tonic-gate
2480Sstevel@tonic-gate	$(RM) $(PERL_ROOT_STEM)/bin
2490Sstevel@tonic-gate	$(LN) -s ./$(PERL_VERSION)/bin $(PERL_ROOT_STEM)/bin
2500Sstevel@tonic-gate	$(RM) $(PERL_ROOT_STEM)/pod
2510Sstevel@tonic-gate	$(LN) -s ./$(PERL_VERSION)/lib/pod $(PERL_ROOT_STEM)/pod
2520Sstevel@tonic-gate
2530Sstevel@tonic-gate	$(RM) $(ROOTPROG)
2540Sstevel@tonic-gate	$(LN) -s ../perl5/$(PERL_VERSION)/bin/perl $(ROOTPROG)
2550Sstevel@tonic-gate
2560Sstevel@tonic-gate	$(RM) $(PERL_ARCHLIB_DIR)/Config.pm
257580Swesolows	$(SED) $(SED_UN_CC) $(SED_UN_CC_E) $(PERL_CONFIG_PM) \
2580Sstevel@tonic-gate	    > $(PERL_ARCHLIB_DIR)/Config.pm
2590Sstevel@tonic-gate	$(CHMOD) 444 $(PERL_ARCHLIB_DIR)/Config.pm
2600Sstevel@tonic-gate
261580Swesolowsinstall: all .WAIT install_files
2620Sstevel@tonic-gate
2630Sstevel@tonic-gate#
2640Sstevel@tonic-gate# Perl test suite target.
2650Sstevel@tonic-gate# Note: the perl test suite breaks under parallel make.  Bah.
2660Sstevel@tonic-gate#
2670Sstevel@tonic-gate
2680Sstevel@tonic-gate# @ (PERL_MM_ENV); $(PERL_LD_ENV);
2690Sstevel@tonic-gatetest: all
2700Sstevel@tonic-gate	$(PERL_LD_ENV); \
2710Sstevel@tonic-gate	PATH=/usr/ccs/bin:$$PATH; export PATH; \
2720Sstevel@tonic-gate	MAKE=/usr/ccs/bin/make; export MAKE; \
2730Sstevel@tonic-gate	PERL_CORE=1; export PERL_CORE; \
2740Sstevel@tonic-gate	cd t; pwd; \
2750Sstevel@tonic-gate	$(CP) ../perl .; \
2760Sstevel@tonic-gate	$(CHMOD) 755 TEST; \
2770Sstevel@tonic-gate	if tty -s; then \
2780Sstevel@tonic-gate		./TEST < /dev/tty; \
2790Sstevel@tonic-gate	else \
2800Sstevel@tonic-gate		./TEST < /dev/null; \
2810Sstevel@tonic-gate	fi
2820Sstevel@tonic-gate
2830Sstevel@tonic-gate#
2840Sstevel@tonic-gate# Cleaning targets.
2850Sstevel@tonic-gate#
2860Sstevel@tonic-gate
2870Sstevel@tonic-gateclean_pod:
2880Sstevel@tonic-gate	@ cd pod; pwd; $(MAKE) clean
2890Sstevel@tonic-gate
2900Sstevel@tonic-gateclean_utilities:
2910Sstevel@tonic-gate	@ cd utils; pwd; $(MAKE) clean
2920Sstevel@tonic-gate
2930Sstevel@tonic-gateclean_x2p:
2940Sstevel@tonic-gate	@ cd x2p; pwd; $(MAKE) clean
2950Sstevel@tonic-gate
2960Sstevel@tonic-gateclean_extensions:
2970Sstevel@tonic-gate	-@ unset VERSION; \
2980Sstevel@tonic-gate	cd ext; pwd; \
2990Sstevel@tonic-gate	( \
3000Sstevel@tonic-gate	cd DynaLoader; \
3010Sstevel@tonic-gate	[ -f Makefile.old ] && mf=Makefile.old; \
3020Sstevel@tonic-gate	[ -f Makefile ] && mf=Makefile; \
3030Sstevel@tonic-gate	[ ! -z "$$mf" ] && $(MAKE) -f $$mf clean; \
3040Sstevel@tonic-gate	); \
3050Sstevel@tonic-gate	$(MAKE) clean
3060Sstevel@tonic-gate
3070Sstevel@tonic-gateclean_lib:
3080Sstevel@tonic-gate	$(MAKE) -f Makefile.lib clean
3090Sstevel@tonic-gate
3100Sstevel@tonic-gateclean: clean_pod clean_utilities clean_x2p clean_extensions clean_lib
3110Sstevel@tonic-gate	$(RM) $(CLEANFILES)
3120Sstevel@tonic-gate
3130Sstevel@tonic-gate#
3140Sstevel@tonic-gate# Clobber targets
3150Sstevel@tonic-gate#
3160Sstevel@tonic-gate
3170Sstevel@tonic-gateclobber_extensions:
3180Sstevel@tonic-gate	-@ unset VERSION; \
3190Sstevel@tonic-gate	cd ext; pwd; \
320*8601SVladimir.Marek@Sun.COM	$(RM) -r Sys/Syslog/lib; \
3210Sstevel@tonic-gate	( \
3220Sstevel@tonic-gate	cd DynaLoader; \
3230Sstevel@tonic-gate	[ -f Makefile.old ] && mf=Makefile.old; \
3240Sstevel@tonic-gate	[ -f Makefile ] && mf=Makefile; \
3250Sstevel@tonic-gate	[ ! -z "$$mf" ] && $(MAKE) -f $$mf realclean; \
3260Sstevel@tonic-gate	); \
3270Sstevel@tonic-gate	$(MAKE) clobber
3280Sstevel@tonic-gate
3290Sstevel@tonic-gateclobber_lib:
3300Sstevel@tonic-gate	$(MAKE) -f Makefile.lib $(TARGET)
3310Sstevel@tonic-gate	$(RM) -r lib/auto lib/Config.pod
3320Sstevel@tonic-gate	$(RM) `find ./lib -name .exists`
3330Sstevel@tonic-gate
3340Sstevel@tonic-gateclobber_pod:
3350Sstevel@tonic-gate	@ cd pod; pwd; $(MAKE) $(TARGET)
3360Sstevel@tonic-gate
3370Sstevel@tonic-gateclobber_utilities:
3380Sstevel@tonic-gate	@ cd utils; pwd; $(MAKE) $(TARGET)
3390Sstevel@tonic-gate
3400Sstevel@tonic-gateclobber_x2p:
3410Sstevel@tonic-gate	@ cd x2p; pwd; $(MAKE) $(TARGET)
3420Sstevel@tonic-gate
3430Sstevel@tonic-gateclobber_contrib_bin:
3440Sstevel@tonic-gate	@ $(RM) -r contrib_bin
3450Sstevel@tonic-gate
3460Sstevel@tonic-gateclobber: clobber_extensions clobber_lib clobber_pod clobber_utilities \
3470Sstevel@tonic-gate    clobber_x2p clobber_contrib_bin
3480Sstevel@tonic-gate
3490Sstevel@tonic-gateinclude ../../../Makefile.targ
3500Sstevel@tonic-gate
3510Sstevel@tonic-gateFRC:
352