xref: /onnv-gate/usr/src/cmd/Makefile.cmd (revision 12836:0d0733997434)
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
51991Sheppo# Common Development and Distribution License (the "License").
61991Sheppo# 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#
210Sstevel@tonic-gate#
22*12836Srich.burridge@oracle.com# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
230Sstevel@tonic-gate#
240Sstevel@tonic-gate# Definitions common to command source.
250Sstevel@tonic-gate#
260Sstevel@tonic-gate# include global definitions; SRC should be defined in the shell.
270Sstevel@tonic-gate# SRC is needed until RFE 1026993 is implemented.
280Sstevel@tonic-gate
290Sstevel@tonic-gateinclude $(SRC)/Makefile.master
300Sstevel@tonic-gate
310Sstevel@tonic-gateLN=		ln
320Sstevel@tonic-gateSH=		sh
330Sstevel@tonic-gateECHO=		echo
340Sstevel@tonic-gateMKDIR=		mkdir
350Sstevel@tonic-gateTOUCH=		touch
360Sstevel@tonic-gate
370Sstevel@tonic-gateFILEMODE=	0555
380Sstevel@tonic-gateLIBFILEMODE=	0444
390Sstevel@tonic-gateXPG4=		$(XPG4PROG:%=%.xpg4)
400Sstevel@tonic-gateXPG6=		$(XPG6PROG:%=%.xpg6)
410Sstevel@tonic-gate
420Sstevel@tonic-gateKRB5DIR=	$(ROOT)/usr
430Sstevel@tonic-gateKRB5BIN=	$(KRB5DIR)/bin
440Sstevel@tonic-gateKRB5SBIN=	$(KRB5DIR)/sbin
450Sstevel@tonic-gateKRB5LIB=	$(KRB5DIR)/lib/krb5
460Sstevel@tonic-gateKRB5RUNPATH=	/usr/lib/krb5
470Sstevel@tonic-gateGSSRUNPATH=	/usr/lib/gss
480Sstevel@tonic-gate
490Sstevel@tonic-gate
500Sstevel@tonic-gateROOTBIN=		$(ROOT)/usr/bin
510Sstevel@tonic-gateROOTLIB=		$(ROOT)/usr/lib
520Sstevel@tonic-gateROOTLIBSVCBIN=		$(ROOT)/lib/svc/bin
530Sstevel@tonic-gateROOTLIBSVCMETHOD=	$(ROOT)/lib/svc/method
547423SRussell.Blaine@Sun.COMROOTLIBXEN=		$(ROOT)/usr/lib/xen/bin
554746SricaROOTLIBZONES=		$(ROOT)/lib/zones
560Sstevel@tonic-gate
570Sstevel@tonic-gateROOTSHLIB=	$(ROOT)/usr/share/lib
589781SMoriah.Waterland@Sun.COMROOTPKGBIN=	$(ROOT)/usr/sadm/install/bin
599781SMoriah.Waterland@Sun.COMROOTCLASS_SCR_DIR= $(ROOT)/usr/sadm/install/scripts
609781SMoriah.Waterland@Sun.COMROOTADMIN_SRC_DIR= $(ROOT)/var/sadm/install/admin
619781SMoriah.Waterland@Sun.COM
624538SdamicoROOTSHLIBCCS=	$(ROOTSHLIB)/ccs
630Sstevel@tonic-gateROOTSBIN=	$(ROOT)/sbin
640Sstevel@tonic-gateROOTUSRSBIN=	$(ROOT)/usr/sbin
650Sstevel@tonic-gateROOTETC=	$(ROOT)/etc
664746Srica
674746SricaROOTETCSECURITY=	$(ROOTETC)/security
684746SricaROOTETCTSOL=	$(ROOTETCSECURITY)/tsol
694746SricaROOTETCSECLIB=	$(ROOTETCSECURITY)/lib
704746SricaROOTETCZONES=	$(ROOTETC)/zones
714746Srica
728275SEric ChengROOTETCINET=	$(ROOT)/etc/inet
730Sstevel@tonic-gateROOTCCSBIN=	$(ROOT)/usr/ccs/bin
744538SdamicoROOTCCSBIN64=	$(ROOTCCSBIN)/$(MACH64)
754538SdamicoROOTCCSBINLINKDIR=	$(ROOT)/../../bin
764538SdamicoROOTCCSBINLINKDIR64=	$(ROOT)../../../bin/$(MACH)
770Sstevel@tonic-gateROOTUSRKVM=	$(ROOT)/usr/kvm
7811838SLiane.Praza@Sun.COMROOTHAS=	$(ROOT)/usr/has
7911838SLiane.Praza@Sun.COMROOTHASBIN=	$(ROOT)/usr/has/bin
8011838SLiane.Praza@Sun.COMROOTHASLIB=	$(ROOT)/usr/has/lib
810Sstevel@tonic-gateROOTXPG4=	$(ROOT)/usr/xpg4
820Sstevel@tonic-gateROOTXPG4BIN=	$(ROOT)/usr/xpg4/bin
830Sstevel@tonic-gateROOTXPG4BIN32=	$(ROOTXPG4BIN)/$(MACH32)
840Sstevel@tonic-gateROOTXPG4BIN64=	$(ROOTXPG4BIN)/$(MACH64)
850Sstevel@tonic-gateROOTXPG6=	$(ROOT)/usr/xpg6
860Sstevel@tonic-gateROOTXPG6BIN=	$(ROOT)/usr/xpg6/bin
870Sstevel@tonic-gateROOTLOCALEDEF=	$(ROOT)/usr/lib/localedef
880Sstevel@tonic-gateROOTCHARMAP=	$(ROOTLOCALEDEF)/charmap
890Sstevel@tonic-gateROOTI18NEXT=	$(ROOTLOCALEDEF)/extensions
900Sstevel@tonic-gateROOTI18NEXT64=	$(ROOTLOCALEDEF)/extensions/$(MACH64)
910Sstevel@tonic-gateROOTBIN32=	$(ROOTBIN)/$(MACH32)
920Sstevel@tonic-gateROOTBIN64=	$(ROOTBIN)/$(MACH64)
930Sstevel@tonic-gateROOTCMDDIR64=	$(ROOTCMDDIR)/$(MACH64)
940Sstevel@tonic-gateROOTLIB64=	$(ROOTLIB)/$(MACH64)
950Sstevel@tonic-gateROOTUSRSBIN32=	$(ROOTUSRSBIN)/$(MACH32)
960Sstevel@tonic-gateROOTUSRSBIN64=	$(ROOTUSRSBIN)/$(MACH64)
978192SJohn.Zolnowsky@Sun.COMROOTMAN=	$(ROOT)/usr/share/man
988192SJohn.Zolnowsky@Sun.COMROOTMAN1=	$(ROOTMAN)/man1
998192SJohn.Zolnowsky@Sun.COMROOTMAN1M=	$(ROOTMAN)/man1m
1008192SJohn.Zolnowsky@Sun.COMROOTMAN3=	$(ROOTMAN)/man3
1015331SamwROOTVARSMB=	$(ROOT)/var/smb
1020Sstevel@tonic-gate
1039781SMoriah.Waterland@Sun.COM
1040Sstevel@tonic-gate#
1050Sstevel@tonic-gate# Like ROOTLIBDIR in $(SRC)/Makefile.lib, any lower-level Makefiles that
1060Sstevel@tonic-gate# put their binaries in a non-standard location should reset this and use
1070Sstevel@tonic-gate# $(ROOTCMD) in their `install' target. By default we set this to a bogus
1080Sstevel@tonic-gate# value so that it will not conflict with any of the other values already
1090Sstevel@tonic-gate# defined in this Makefile.
1100Sstevel@tonic-gate#
1110Sstevel@tonic-gateROOTCMDDIR=	$(ROOT)/__nonexistent_directory__
1120Sstevel@tonic-gate
1130Sstevel@tonic-gateROOTSHAUDIO=	$(ROOT)/usr/share/audio
1140Sstevel@tonic-gateROOTAUDIOSAMP=	$(ROOTSHAUDIO)/samples
1150Sstevel@tonic-gateROOTAUDIOSAMPAU=$(ROOTAUDIOSAMP)/au
1160Sstevel@tonic-gate
1170Sstevel@tonic-gateISAEXEC=	$(ROOT)/usr/lib/isaexec
1180Sstevel@tonic-gatePLATEXEC=	$(ROOT)/usr/lib/platexec
1190Sstevel@tonic-gate
1200Sstevel@tonic-gateLDLIBS =	$(LDLIBS.cmd)
1210Sstevel@tonic-gate
1220Sstevel@tonic-gateLDFLAGS.cmd = \
1235905Srie	$(BDIRECT) $(ENVLDFLAGS1) $(ENVLDFLAGS2) $(ENVLDFLAGS3) \
1244271Srie	$(MAPFILE.NES:%=-M%) $(MAPFILE.PGA:%=-M%) $(MAPFILE.NED:%=-M%)
1250Sstevel@tonic-gate
1260Sstevel@tonic-gateLDFLAGS =	$(LDFLAGS.cmd)
1270Sstevel@tonic-gate
1280Sstevel@tonic-gateLINTFLAGS=	-axsm
1297684SNick.Todd@Sun.COMLINTFLAGS64=	-axsm -m64
1300Sstevel@tonic-gateLINTOUT=	lint.out
1310Sstevel@tonic-gate
1320Sstevel@tonic-gateKRB5PROG=	$(PROG:%=$(KRB5BIN)/%)
1330Sstevel@tonic-gateKRB5SBINPROG=	$(PROG:%=$(KRB5SBIN)/%)
1340Sstevel@tonic-gateKRB5LIBPROG=	$(PROG:%=$(KRB5LIB)/%)
1350Sstevel@tonic-gate
1360Sstevel@tonic-gateROOTPROG=	$(PROG:%=$(ROOTBIN)/%)
1370Sstevel@tonic-gateROOTCMD=	$(PROG:%=$(ROOTCMDDIR)/%)
1380Sstevel@tonic-gateROOTSHFILES=	$(SHFILES:%=$(ROOTBIN)/%)
1390Sstevel@tonic-gateROOTLIBPROG=	$(PROG:%=$(ROOTLIB)/%)
1400Sstevel@tonic-gateROOTLIBSHFILES= $(SHFILES:%=$(ROOTLIB)/%)
1410Sstevel@tonic-gateROOTSHLIBPROG=	$(PROG:%=$(ROOTSHLIB)/%)
1420Sstevel@tonic-gateROOTSBINPROG=	$(PROG:%=$(ROOTSBIN)/%)
1439781SMoriah.Waterland@Sun.COMROOTPKGBINPROG= $(PROG:%=$(ROOTPKGBIN)/%)
1449781SMoriah.Waterland@Sun.COMROOTCLASS_SCR_FILES= $(SCRIPTS:%=$(ROOTCLASS_SCR_DIR)/%)
1450Sstevel@tonic-gateROOTUSRSBINPROG=$(PROG:%=$(ROOTUSRSBIN)/%)
1464746SricaROOTUSRSBINSCRIPT=$(SCRIPT:%=$(ROOTUSRSBIN)/%)
1470Sstevel@tonic-gateROOTETCPROG=	$(PROG:%=$(ROOTETC)/%)
14811838SLiane.Praza@Sun.COMROOTHASBINPROG= $(PROG:%=$(ROOTHASBIN)/%)
14911838SLiane.Praza@Sun.COMROOTHASLIBPROG= $(PROG:%=$(ROOTHASLIB)/%)
1500Sstevel@tonic-gateROOTCCSBINPROG=	$(PROG:%=$(ROOTCCSBIN)/%)
1514538SdamicoROOTCCSBINPROG64=	  $(PROG:%=$(ROOTCCSBIN64)/%)
1524538SdamicoROOTCCSBINLINK=$(PROG:%=  $(ROOTCCSBINLINKDIR)/%)
1534538SdamicoROOTCCSBINLINK64=$(PROG:%=$(ROOTCCSBINLINKDIR64)/%)
1540Sstevel@tonic-gateROOTUSRKVMPROG=	$(PROG:%=$(ROOTUSRKVM)/%)
1550Sstevel@tonic-gateROOTXPG4PROG=	$(XPG4PROG:%=$(ROOTXPG4BIN)/%)
1560Sstevel@tonic-gateROOTXPG4PROG32=	$(XPG4PROG:%=$(ROOTXPG4BIN32)/%)
1570Sstevel@tonic-gateROOTXPG4PROG64=	$(XPG4PROG:%=$(ROOTXPG4BIN64)/%)
1580Sstevel@tonic-gateROOTXPG6PROG=	$(XPG6PROG:%=$(ROOTXPG6BIN)/%)
1590Sstevel@tonic-gateROOTLOCALEPROG=	$(PROG:%=$(ROOTLOCALEDEF)/%)
1600Sstevel@tonic-gateROOTPROG64=	$(PROG:%=$(ROOTBIN64)/%)
1610Sstevel@tonic-gateROOTPROG32=	$(PROG:%=$(ROOTBIN32)/%)
1620Sstevel@tonic-gateROOTCMD64=	$(PROG:%=$(ROOTCMDDIR64)/%)
1630Sstevel@tonic-gateROOTUSRSBINPROG32=	$(PROG:%=$(ROOTUSRSBIN32)/%)
1640Sstevel@tonic-gateROOTUSRSBINPROG64=	$(PROG:%=$(ROOTUSRSBIN64)/%)
1650Sstevel@tonic-gateROOTMAN1FILES=	$(MAN1FILES:%=$(ROOTMAN1)/%)
1660Sstevel@tonic-gate$(ROOTMAN1FILES) := FILEMODE= 444
1670Sstevel@tonic-gateROOTMAN1MFILES=	$(MAN1MFILES:%=$(ROOTMAN1M)/%)
1680Sstevel@tonic-gate$(ROOTMAN1MFILES) := FILEMODE= 444
1690Sstevel@tonic-gateROOTMAN3FILES=	$(MAN3FILES:%=$(ROOTMAN3)/%)
1700Sstevel@tonic-gate$(ROOTMAN3FILES) := FILEMODE= 444
1710Sstevel@tonic-gate
1724538Sdamico# Symlink rules for /usr/ccs/bin commands. Note, those commands under
1734538Sdamico# the rule of the linker area, are controlled by a different set of
1744538Sdamico# rules defined in $(SRC)/cmd/sgs/Makefile.var.
1754538Sdamico
1764538SdamicoINS.ccsbinlink= \
1774538Sdamico	$(RM) $(ROOTCCSBINPROG); \
1784538Sdamico	$(SYMLINK) ../../bin/$(PROG) $(ROOTCCSBINPROG)
1794538Sdamico
1804538SdamicoINS.ccsbinlink64= \
1814538Sdamico	$(RM) $(ROOTCCSBINPROG64); \
1824538Sdamico	$(SYMLINK) ../../../bin/$(MACH64)/$(PROG) $(ROOTCCSBINPROG64)
1834538Sdamico
1840Sstevel@tonic-gateROOTETCDEFAULT=	$(ROOTETC)/default
18589SmeemROOTETCDEFAULTFILES=	$(DEFAULTFILES:%.dfl=$(ROOTETCDEFAULT)/%)
18689Smeem$(ROOTETCDEFAULTFILES) :=	FILEMODE = 0644
1870Sstevel@tonic-gate
1884746SricaROOTETCSECFILES=	$(ETCSECFILES:%=$(ROOTETCSECURITY)/%)
1894746Srica$(ROOTETCSECFILES) :=	FILEMODE = 0644
1904746Srica
1914746SricaROOTETCTSOLFILES=	$(ETCTSOLFILES:%=$(ROOTETCTSOL)/%)
1924746Srica$(ROOTETCTSOLFILES) :=	FILEMODE = 0644
1934746Srica
1944746SricaROOTETCSECLIBFILES=	$(ETCSECLIBFILES:%=$(ROOTETCSECLIB)/%)
1954746Srica
1964746SricaROOTETCZONESFILES=	$(ETCZONESFILES:%=$(ROOTETCZONES)/%)
1974746Srica$(ROOTETCZONESFILES) :=	FILEMODE = 0444
1984746Srica
1994746SricaROOTLIBZONESFILES=	$(LIBZONESFILES:%=$(ROOTLIBZONES)/%)
2004746Srica$(ROOTLIBZONESFILES) :=	FILEMODE = 0555
2014746Srica
2029781SMoriah.Waterland@Sun.COMROOTADMIN_SRC_FILE= $(ADMINFILE:%=$(ROOTADMIN_SRC_DIR)/%)
2039781SMoriah.Waterland@Sun.COM$(ROOTADMIN_SRC_FILE) := FILEMODE = 0444
2044746Srica
2050Sstevel@tonic-gate#
2060Sstevel@tonic-gate# Directories for smf(5) service manifests and profiles.
2070Sstevel@tonic-gate#
20811996SThomas.Whitten@Sun.COMROOTSVC=			$(ROOT)/lib/svc
20911996SThomas.Whitten@Sun.COMROOTETCSVC=			$(ROOT)/etc/svc
2100Sstevel@tonic-gate
21111996SThomas.Whitten@Sun.COMROOTSVCMANIFEST=		$(ROOTSVC)/manifest
21211996SThomas.Whitten@Sun.COMROOTSVCPROFILE=			$(ROOTETCSVC)/profile
2130Sstevel@tonic-gate
21411996SThomas.Whitten@Sun.COMROOTSVCMILESTONE=		$(ROOTSVCMANIFEST)/milestone
21511996SThomas.Whitten@Sun.COMROOTSVCDEVICE=			$(ROOTSVCMANIFEST)/device
21611996SThomas.Whitten@Sun.COMROOTSVCSYSTEM=			$(ROOTSVCMANIFEST)/system
2170Sstevel@tonic-gateROOTSVCSYSTEMDEVICE=		$(ROOTSVCSYSTEM)/device
2180Sstevel@tonic-gateROOTSVCSYSTEMFILESYSTEM=	$(ROOTSVCSYSTEM)/filesystem
2190Sstevel@tonic-gateROOTSVCSYSTEMSECURITY=		$(ROOTSVCSYSTEM)/security
22011996SThomas.Whitten@Sun.COMROOTSVCNETWORK=			$(ROOTSVCMANIFEST)/network
2214904Srs200217ROOTSVCNETWORKDNS=		$(ROOTSVCNETWORK)/dns
2227978SPeter.Dunlap@Sun.COMROOTSVCNETWORKISCSI=		$(ROOTSVCNETWORK)/iscsi
2230Sstevel@tonic-gateROOTSVCNETWORKLDAP=		$(ROOTSVCNETWORK)/ldap
2240Sstevel@tonic-gateROOTSVCNETWORKNFS=		$(ROOTSVCNETWORK)/nfs
2250Sstevel@tonic-gateROOTSVCNETWORKNIS=		$(ROOTSVCNETWORK)/nis
2263048SamaguireROOTSVCNETWORKROUTING=		$(ROOTSVCNETWORK)/routing
2270Sstevel@tonic-gateROOTSVCNETWORKRPC=		$(ROOTSVCNETWORK)/rpc
2286007SthurlowROOTSVCNETWORKSMB=		$(ROOTSVCNETWORK)/smb
2290Sstevel@tonic-gateROOTSVCNETWORKSECURITY=		$(ROOTSVCNETWORK)/security
230919SkaisROOTSVCNETWORKSSL=		$(ROOTSVCNETWORK)/ssl
2314235SmarkfenROOTSVCNETWORKIPSEC=		$(ROOTSVCNETWORK)/ipsec
2323034SdougmROOTSVCNETWORKSHARES=		$(ROOTSVCNETWORK)/shares
2335331SamwROOTSVCSMB=			$(ROOTSVCNETWORK)/smb
23411996SThomas.Whitten@Sun.COMROOTSVCPLATFORM=		$(ROOTSVCMANIFEST)/platform
2350Sstevel@tonic-gateROOTSVCPLATFORMSUN4U=		$(ROOTSVCPLATFORM)/sun4u
2361991SheppoROOTSVCPLATFORMSUN4V=		$(ROOTSVCPLATFORM)/sun4v
23711996SThomas.Whitten@Sun.COMROOTSVCAPPLICATION=		$(ROOTSVCMANIFEST)/application
2380Sstevel@tonic-gateROOTSVCAPPLICATIONMANAGEMENT=	$(ROOTSVCAPPLICATION)/management
2390Sstevel@tonic-gateROOTSVCAPPLICATIONSECURITY=	$(ROOTSVCAPPLICATION)/security
2400Sstevel@tonic-gateROOTSVCAPPLICATIONPRINT=	$(ROOTSVCAPPLICATION)/print
2410Sstevel@tonic-gate
2420Sstevel@tonic-gate#
2430Sstevel@tonic-gate# Commands Makefiles delivering a manifest are expected to define MANIFEST.
2440Sstevel@tonic-gate#
2450Sstevel@tonic-gate# Like ROOTCMDDIR, any lower-level Makefiles that put their manifests in a
2460Sstevel@tonic-gate# subdirectory of the manifest directories listed above should reset
2470Sstevel@tonic-gate# ROOTMANIFESTDIR and use it in their `install' target. By default we set this
2480Sstevel@tonic-gate# to a bogus value so that it will not conflict with any of the other values
2490Sstevel@tonic-gate# already  defined in this Makefile.
2500Sstevel@tonic-gate#
2510Sstevel@tonic-gate# The manifest validation of the $SRC/cmd check target is also derived from a
2520Sstevel@tonic-gate# valid MANIFEST setting.
2530Sstevel@tonic-gate#
25411996SThomas.Whitten@Sun.COMROOTMANIFESTDIR=	$(ROOTSVCMANIFEST)/__nonexistent_directory__
2550Sstevel@tonic-gateROOTMANIFEST=		$(MANIFEST:%=$(ROOTMANIFESTDIR)/%)
2560Sstevel@tonic-gateCHKMANIFEST=		$(MANIFEST:%.xml=%.xmlchk)
2570Sstevel@tonic-gate
2587887SLiane.Praza@Sun.COM# Manifests cannot be checked in parallel, because we are using the global
2597887SLiane.Praza@Sun.COM# repository that is in $(SRC)/cmd/svc/seed/global.db.  This is a
2607887SLiane.Praza@Sun.COM# repository that is built from the manifests in this workspace, whereas
2617887SLiane.Praza@Sun.COM# the build machine's repository may be out of sync with these manifests.
2627887SLiane.Praza@Sun.COM# Because we are using a private repository, svccfg-native must start up a
2637887SLiane.Praza@Sun.COM# private copy of configd-native.  We cannot have multiple copies of
2647887SLiane.Praza@Sun.COM# configd-native trying to access global.db simultaneously.
2657887SLiane.Praza@Sun.COM
2667887SLiane.Praza@Sun.COM.NO_PARALLEL:	$(CHKMANIFEST)
2677887SLiane.Praza@Sun.COM
2680Sstevel@tonic-gate#
2690Sstevel@tonic-gate# For installing "starter scripts" of services
2700Sstevel@tonic-gate#
2710Sstevel@tonic-gate
2720Sstevel@tonic-gateROOTSVCMETHOD=		$(SVCMETHOD:%=$(ROOTLIBSVCMETHOD)/%)
2730Sstevel@tonic-gate
2740Sstevel@tonic-gateROOTSVCBINDIR=		$(ROOTLIBSVCBIN)/__nonexistent_directory__
2750Sstevel@tonic-gateROOTSVCBIN= 		$(SVCBIN:%=$(ROOTSVCBINDIR)/%)
2760Sstevel@tonic-gate
2770Sstevel@tonic-gate#
2780Sstevel@tonic-gate
2790Sstevel@tonic-gate# For programs that are installed in the root filesystem,
2800Sstevel@tonic-gate# build $(ROOTFS_PROG) rather than $(PROG)
2810Sstevel@tonic-gate$(ROOTFS_PROG) := LDFLAGS += -Wl,-I/lib/ld.so.1
2820Sstevel@tonic-gate
2830Sstevel@tonic-gate$(KRB5BIN)/%: %
2840Sstevel@tonic-gate	$(INS.file)
2850Sstevel@tonic-gate
2860Sstevel@tonic-gate$(KRB5SBIN)/%: %
2870Sstevel@tonic-gate	$(INS.file)
2880Sstevel@tonic-gate
2890Sstevel@tonic-gate$(KRB5LIB)/%: %
2900Sstevel@tonic-gate	$(INS.file)
2910Sstevel@tonic-gate
2920Sstevel@tonic-gate$(ROOTBIN)/%: %
2930Sstevel@tonic-gate	$(INS.file)
2940Sstevel@tonic-gate
2950Sstevel@tonic-gate$(ROOTLIB)/%: %
2960Sstevel@tonic-gate	$(INS.file)
2970Sstevel@tonic-gate
2980Sstevel@tonic-gate$(ROOTBIN64)/%: %
2990Sstevel@tonic-gate	$(INS.file)
3000Sstevel@tonic-gate
3010Sstevel@tonic-gate$(ROOTLIB64)/%: %
3020Sstevel@tonic-gate	$(INS.file)
3030Sstevel@tonic-gate
3040Sstevel@tonic-gate$(ROOTBIN32)/%: %
3050Sstevel@tonic-gate	$(INS.file)
3060Sstevel@tonic-gate
3070Sstevel@tonic-gate$(ROOTSHLIB)/%: %
3080Sstevel@tonic-gate	$(INS.file)
3090Sstevel@tonic-gate
3109781SMoriah.Waterland@Sun.COM$(ROOTPKGBIN)/%: %
3119781SMoriah.Waterland@Sun.COM	$(INS.file)
3129781SMoriah.Waterland@Sun.COM
3139781SMoriah.Waterland@Sun.COM$(ROOTCLASS_SCR_DIR)/%: %
3149781SMoriah.Waterland@Sun.COM	$(INS.file)
3159781SMoriah.Waterland@Sun.COM
3169781SMoriah.Waterland@Sun.COM$(ROOTADMIN_SRC_DIR)/%: %
3179781SMoriah.Waterland@Sun.COM	$(INS.file)
3189781SMoriah.Waterland@Sun.COM
3190Sstevel@tonic-gate$(ROOTSBIN)/%: %
3200Sstevel@tonic-gate	$(INS.file)
3210Sstevel@tonic-gate
3220Sstevel@tonic-gate$(ROOTUSRSBIN)/%: %
3230Sstevel@tonic-gate	$(INS.file)
3240Sstevel@tonic-gate
3250Sstevel@tonic-gate$(ROOTUSRSBIN32)/%: %
3260Sstevel@tonic-gate	$(INS.file)
3270Sstevel@tonic-gate
3280Sstevel@tonic-gate$(ROOTUSRSBIN64)/%: %
3290Sstevel@tonic-gate	$(INS.file)
3300Sstevel@tonic-gate
3310Sstevel@tonic-gate$(ROOTETC)/%: %
3320Sstevel@tonic-gate	$(INS.file)
3330Sstevel@tonic-gate
3348275SEric Cheng$(ROOTETCINET)/%: %
3358275SEric Cheng	$(INS.file)
3368275SEric Cheng
33789Smeem$(ROOTETCDEFAULT)/%:	%.dfl
33889Smeem	$(INS.rename)
33989Smeem
3404746Srica$(ROOTETCTSOL)/%: %
3414746Srica	$(INS.file)
3424746Srica
3434746Srica$(ROOTETCSECLIB)/%: %
3444746Srica	$(INS.file)
3454746Srica
3464746Srica$(ROOTETCZONES)/%: %
3474746Srica	$(INS.file)
3484746Srica
3494746Srica$(ROOTLIBZONES)/%: %
3504746Srica	$(INS.file)
3514746Srica
3527423SRussell.Blaine@Sun.COM$(ROOTLIBXEN)/%: %
3537423SRussell.Blaine@Sun.COM	$(INS.file)
3547423SRussell.Blaine@Sun.COM
35511838SLiane.Praza@Sun.COM$(ROOTHASBIN)/%: %
35611838SLiane.Praza@Sun.COM	$(INS.file)
35711838SLiane.Praza@Sun.COM
35811838SLiane.Praza@Sun.COM$(ROOTHASLIB)/%: %
35911838SLiane.Praza@Sun.COM	$(INS.file)
36011838SLiane.Praza@Sun.COM
3610Sstevel@tonic-gate$(ROOTUSRKVM)/%: %
3620Sstevel@tonic-gate	$(INS.file)
3630Sstevel@tonic-gate
3640Sstevel@tonic-gate$(ROOTXPG4BIN)/%: %.xpg4
3650Sstevel@tonic-gate	$(INS.rename)
3660Sstevel@tonic-gate
3670Sstevel@tonic-gate$(ROOTXPG4BIN32)/%: %.xpg4
3680Sstevel@tonic-gate	$(INS.rename)
3690Sstevel@tonic-gate
3700Sstevel@tonic-gate$(ROOTXPG4BIN64)/%: %.xpg4
3710Sstevel@tonic-gate	$(INS.rename)
3720Sstevel@tonic-gate
3730Sstevel@tonic-gate$(ROOTXPG6BIN)/%: %.xpg6
3740Sstevel@tonic-gate	$(INS.rename)
3750Sstevel@tonic-gate
3760Sstevel@tonic-gate$(ROOTLOCALEDEF)/%: %
3770Sstevel@tonic-gate	$(INS.file)
3780Sstevel@tonic-gate
3790Sstevel@tonic-gate$(ROOTCHARMAP)/%: %
3800Sstevel@tonic-gate	$(INS.file)
3810Sstevel@tonic-gate
3820Sstevel@tonic-gate$(ROOTI18NEXT)/%: %
3830Sstevel@tonic-gate	$(INS.file)
3840Sstevel@tonic-gate
3850Sstevel@tonic-gate$(ROOTI18NEXT64)/%: %
3860Sstevel@tonic-gate	$(INS.file)
3870Sstevel@tonic-gate
3880Sstevel@tonic-gate$(ROOTLIBSVCMETHOD)/%: %
3890Sstevel@tonic-gate	$(INS.file)
3900Sstevel@tonic-gate
3910Sstevel@tonic-gate$(ROOTLIBSVCBIN)/%: %
3920Sstevel@tonic-gate	$(INS.file)
3930Sstevel@tonic-gate
3940Sstevel@tonic-gate$(ROOTSVCMILESTONE)/%: %
3950Sstevel@tonic-gate	$(INS.file)
3960Sstevel@tonic-gate
3970Sstevel@tonic-gate$(ROOTSVCDEVICE)/%: %
3980Sstevel@tonic-gate	$(INS.file)
3990Sstevel@tonic-gate
4000Sstevel@tonic-gate$(ROOTSVCSYSTEM)/%: %
4010Sstevel@tonic-gate	$(INS.file)
4020Sstevel@tonic-gate
4030Sstevel@tonic-gate$(ROOTSVCSYSTEMDEVICE)/%: %
4040Sstevel@tonic-gate	$(INS.file)
4050Sstevel@tonic-gate
4060Sstevel@tonic-gate$(ROOTSVCSYSTEMFILESYSTEM)/%: %
4070Sstevel@tonic-gate	$(INS.file)
4080Sstevel@tonic-gate
4090Sstevel@tonic-gate$(ROOTSVCSYSTEMSECURITY)/%: %
4100Sstevel@tonic-gate	$(INS.file)
4110Sstevel@tonic-gate
4120Sstevel@tonic-gate$(ROOTSVCNETWORK)/%: %
4130Sstevel@tonic-gate	$(INS.file)
4140Sstevel@tonic-gate
4150Sstevel@tonic-gate$(ROOTSVCNETWORKLDAP)/%: %
4160Sstevel@tonic-gate	$(INS.file)
4170Sstevel@tonic-gate
4180Sstevel@tonic-gate$(ROOTSVCNETWORKNFS)/%: %
4190Sstevel@tonic-gate	$(INS.file)
4200Sstevel@tonic-gate
4210Sstevel@tonic-gate$(ROOTSVCNETWORKNIS)/%: %
4220Sstevel@tonic-gate	$(INS.file)
4230Sstevel@tonic-gate
4240Sstevel@tonic-gate$(ROOTSVCNETWORKRPC)/%: %
4250Sstevel@tonic-gate	$(INS.file)
4260Sstevel@tonic-gate
4270Sstevel@tonic-gate$(ROOTSVCNETWORKSECURITY)/%: %
4280Sstevel@tonic-gate	$(INS.file)
4290Sstevel@tonic-gate
430919Skais$(ROOTSVCNETWORKSSL)/%: %
431919Skais	$(INS.file)
432919Skais
4334235Smarkfen$(ROOTSVCNETWORKIPSEC)/%: %
4344235Smarkfen	$(INS.file)
4354235Smarkfen
4363034Sdougm$(ROOTSVCNETWORKSHARES)/%: %
4373034Sdougm	$(INS.file)
4383034Sdougm
4396007Sthurlow$(ROOTSVCNETWORKSMB)/%: %
4406007Sthurlow	$(INS.file)
4416007Sthurlow
4420Sstevel@tonic-gate$(ROOTSVCAPPLICATION)/%: %
4430Sstevel@tonic-gate	$(INS.file)
4440Sstevel@tonic-gate
4450Sstevel@tonic-gate$(ROOTSVCAPPLICATIONMANAGEMENT)/%: %
4460Sstevel@tonic-gate	$(INS.file)
4470Sstevel@tonic-gate
4480Sstevel@tonic-gate$(ROOTSVCAPPLICATIONSECURITY)/%: %
4490Sstevel@tonic-gate	$(INS.file)
4500Sstevel@tonic-gate
4510Sstevel@tonic-gate$(ROOTSVCAPPLICATIONPRINT)/%: %
4520Sstevel@tonic-gate	$(INS.file)
4530Sstevel@tonic-gate
4540Sstevel@tonic-gate$(ROOTSVCPLATFORM)/%: %
4550Sstevel@tonic-gate	$(INS.file)
4560Sstevel@tonic-gate
4570Sstevel@tonic-gate$(ROOTSVCPLATFORMSUN4U)/%: %
4580Sstevel@tonic-gate	$(INS.file)
4590Sstevel@tonic-gate
4601991Sheppo$(ROOTSVCPLATFORMSUN4V)/%: %
4611991Sheppo	$(INS.file)
4621991Sheppo
4634538Sdamico# Install rule for gprof, yacc, and lex dependency files
4644538Sdamico$(ROOTSHLIBCCS)/%: ../common/%
4654538Sdamico	$(INS.file)
4664538Sdamico
4674538Sdamico$(ROOTCCSBINLINKDIR)/%: %
4684538Sdamico	$(INS.ccsbinlink)
4694538Sdamico
4704538Sdamico$(ROOTCCSBINLINKDIR64)/%: %
4714538Sdamico	$(INS.ccsbinlink64)
4724538Sdamico
4730Sstevel@tonic-gate$(ROOTMAN1)/%: %.sunman
4740Sstevel@tonic-gate	$(INS.rename)
4750Sstevel@tonic-gate
4760Sstevel@tonic-gate$(ROOTMAN1M)/%: %.sunman
4770Sstevel@tonic-gate	$(INS.rename)
4780Sstevel@tonic-gate
4790Sstevel@tonic-gate$(ROOTMAN3)/%: %.sunman
4800Sstevel@tonic-gate	$(INS.rename)
4810Sstevel@tonic-gate
4825331Samw$(ROOTVARSMB)/%: %
4835331Samw	$(INS.file)
4845331Samw
4850Sstevel@tonic-gate# build rule for statically linked programs with single source file.
4860Sstevel@tonic-gate%.static: %.c
4870Sstevel@tonic-gate	$(LINK.c) -o $@ $< $(LDLIBS)
4880Sstevel@tonic-gate	$(POST_PROCESS)
4890Sstevel@tonic-gate
4900Sstevel@tonic-gate%.xpg4: %.c
4910Sstevel@tonic-gate	$(LINK.c) -o $@ $< $(LDLIBS)
4920Sstevel@tonic-gate	$(POST_PROCESS)
4930Sstevel@tonic-gate
4940Sstevel@tonic-gate%.xpg6: %.c
4950Sstevel@tonic-gate	$(LINK.c) -o $@ $< $(LDLIBS)
4960Sstevel@tonic-gate	$(POST_PROCESS)
4970Sstevel@tonic-gate
4980Sstevel@tonic-gate# Define the majority text domain in this directory.
4990Sstevel@tonic-gateTEXT_DOMAIN= SUNW_OST_OSCMD
5000Sstevel@tonic-gate
5010Sstevel@tonic-gateCLOBBERFILES += $(XPG4) $(XPG6) $(DCFILE)
5020Sstevel@tonic-gate
5030Sstevel@tonic-gate# This flag is for programs which should not build a 32-bit binary
5040Sstevel@tonic-gatesparc_64ONLY= $(POUND_SIGN)
5050Sstevel@tonic-gate64ONLY=	 $($(MACH)_64ONLY)
506