xref: /illumos-gate/usr/src/cmd/Makefile.cmd (revision 7c478bd9)
1*7c478bd9Sstevel@tonic-gate#
2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate#
4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate# with the License.
8*7c478bd9Sstevel@tonic-gate#
9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate# and limitations under the License.
13*7c478bd9Sstevel@tonic-gate#
14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate#
20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate#
22*7c478bd9Sstevel@tonic-gate#
23*7c478bd9Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate# Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate#
26*7c478bd9Sstevel@tonic-gate# ident	"%Z%%M%	%I%	%E% SMI"
27*7c478bd9Sstevel@tonic-gate#
28*7c478bd9Sstevel@tonic-gate# Definitions common to command source.
29*7c478bd9Sstevel@tonic-gate#
30*7c478bd9Sstevel@tonic-gate# include global definitions; SRC should be defined in the shell.
31*7c478bd9Sstevel@tonic-gate# SRC is needed until RFE 1026993 is implemented.
32*7c478bd9Sstevel@tonic-gate
33*7c478bd9Sstevel@tonic-gateinclude $(SRC)/Makefile.master
34*7c478bd9Sstevel@tonic-gate
35*7c478bd9Sstevel@tonic-gateLN=		ln
36*7c478bd9Sstevel@tonic-gateCP=		cp
37*7c478bd9Sstevel@tonic-gateSH=		sh
38*7c478bd9Sstevel@tonic-gateECHO=		echo
39*7c478bd9Sstevel@tonic-gateMKDIR=		mkdir
40*7c478bd9Sstevel@tonic-gateTOUCH=		touch
41*7c478bd9Sstevel@tonic-gate
42*7c478bd9Sstevel@tonic-gateFILEMODE=	0555
43*7c478bd9Sstevel@tonic-gateLIBFILEMODE=	0444
44*7c478bd9Sstevel@tonic-gateXPG4=		$(XPG4PROG:%=%.xpg4)
45*7c478bd9Sstevel@tonic-gateXPG6=		$(XPG6PROG:%=%.xpg6)
46*7c478bd9Sstevel@tonic-gate
47*7c478bd9Sstevel@tonic-gateKRB5DIR=	$(ROOT)/usr
48*7c478bd9Sstevel@tonic-gateKRB5BIN=	$(KRB5DIR)/bin
49*7c478bd9Sstevel@tonic-gateKRB5SBIN=	$(KRB5DIR)/sbin
50*7c478bd9Sstevel@tonic-gateKRB5LIB=	$(KRB5DIR)/lib/krb5
51*7c478bd9Sstevel@tonic-gateKRB5RUNPATH=	/usr/lib/krb5
52*7c478bd9Sstevel@tonic-gateGSSRUNPATH=	/usr/lib/gss
53*7c478bd9Sstevel@tonic-gate
54*7c478bd9Sstevel@tonic-gate
55*7c478bd9Sstevel@tonic-gateROOTBIN=		$(ROOT)/usr/bin
56*7c478bd9Sstevel@tonic-gateROOTLIB=		$(ROOT)/usr/lib
57*7c478bd9Sstevel@tonic-gateROOTLIBSVCBIN=		$(ROOT)/lib/svc/bin
58*7c478bd9Sstevel@tonic-gateROOTLIBSVCMETHOD=	$(ROOT)/lib/svc/method
59*7c478bd9Sstevel@tonic-gate
60*7c478bd9Sstevel@tonic-gateROOTSHLIB=	$(ROOT)/usr/share/lib
61*7c478bd9Sstevel@tonic-gateROOTSBIN=	$(ROOT)/sbin
62*7c478bd9Sstevel@tonic-gateROOTUSRSBIN=	$(ROOT)/usr/sbin
63*7c478bd9Sstevel@tonic-gateROOTETC=	$(ROOT)/etc
64*7c478bd9Sstevel@tonic-gateROOTCCSBIN=	$(ROOT)/usr/ccs/bin
65*7c478bd9Sstevel@tonic-gateROOTUSRKVM=	$(ROOT)/usr/kvm
66*7c478bd9Sstevel@tonic-gateROOTXPG4=	$(ROOT)/usr/xpg4
67*7c478bd9Sstevel@tonic-gateROOTXPG4BIN=	$(ROOT)/usr/xpg4/bin
68*7c478bd9Sstevel@tonic-gateROOTXPG4BIN32=	$(ROOTXPG4BIN)/$(MACH32)
69*7c478bd9Sstevel@tonic-gateROOTXPG4BIN64=	$(ROOTXPG4BIN)/$(MACH64)
70*7c478bd9Sstevel@tonic-gateROOTXPG6=	$(ROOT)/usr/xpg6
71*7c478bd9Sstevel@tonic-gateROOTXPG6BIN=	$(ROOT)/usr/xpg6/bin
72*7c478bd9Sstevel@tonic-gateROOTLOCALEDEF=	$(ROOT)/usr/lib/localedef
73*7c478bd9Sstevel@tonic-gateROOTCHARMAP=	$(ROOTLOCALEDEF)/charmap
74*7c478bd9Sstevel@tonic-gateROOTI18NEXT=	$(ROOTLOCALEDEF)/extensions
75*7c478bd9Sstevel@tonic-gateROOTI18NEXT64=	$(ROOTLOCALEDEF)/extensions/$(MACH64)
76*7c478bd9Sstevel@tonic-gateROOTBIN32=	$(ROOTBIN)/$(MACH32)
77*7c478bd9Sstevel@tonic-gateROOTBIN64=	$(ROOTBIN)/$(MACH64)
78*7c478bd9Sstevel@tonic-gateROOTCMDDIR64=	$(ROOTCMDDIR)/$(MACH64)
79*7c478bd9Sstevel@tonic-gateROOTLIB64=	$(ROOTLIB)/$(MACH64)
80*7c478bd9Sstevel@tonic-gateROOTUSRSBIN32=	$(ROOTUSRSBIN)/$(MACH32)
81*7c478bd9Sstevel@tonic-gateROOTUSRSBIN64=	$(ROOTUSRSBIN)/$(MACH64)
82*7c478bd9Sstevel@tonic-gateROOTMAN1=	$(ROOT)/usr/share/man/man1
83*7c478bd9Sstevel@tonic-gateROOTMAN1M=	$(ROOT)/usr/share/man/man1m
84*7c478bd9Sstevel@tonic-gateROOTMAN3=	$(ROOT)/usr/share/man/man3
85*7c478bd9Sstevel@tonic-gate
86*7c478bd9Sstevel@tonic-gate#
87*7c478bd9Sstevel@tonic-gate
88*7c478bd9Sstevel@tonic-gate# Like ROOTLIBDIR in $(SRC)/Makefile.lib, any lower-level Makefiles that
89*7c478bd9Sstevel@tonic-gate# put their binaries in a non-standard location should reset this and use
90*7c478bd9Sstevel@tonic-gate# $(ROOTCMD) in their `install' target. By default we set this to a bogus
91*7c478bd9Sstevel@tonic-gate# value so that it will not conflict with any of the other values already
92*7c478bd9Sstevel@tonic-gate# defined in this Makefile.
93*7c478bd9Sstevel@tonic-gate#
94*7c478bd9Sstevel@tonic-gateROOTCMDDIR=	$(ROOT)/__nonexistent_directory__
95*7c478bd9Sstevel@tonic-gate
96*7c478bd9Sstevel@tonic-gateROOTSHAUDIO=	$(ROOT)/usr/share/audio
97*7c478bd9Sstevel@tonic-gateROOTAUDIOSAMP=	$(ROOTSHAUDIO)/samples
98*7c478bd9Sstevel@tonic-gateROOTAUDIOSAMPAU=$(ROOTAUDIOSAMP)/au
99*7c478bd9Sstevel@tonic-gate
100*7c478bd9Sstevel@tonic-gate#
101*7c478bd9Sstevel@tonic-gate# Begin /usr/sfw freeware rules for freeware that has "External"
102*7c478bd9Sstevel@tonic-gate# taxonomy stability level.
103*7c478bd9Sstevel@tonic-gate#
104*7c478bd9Sstevel@tonic-gateROOTSFW=	$(ROOT)/usr/sfw
105*7c478bd9Sstevel@tonic-gateROOTSFWBIN=	$(ROOT)/usr/sfw/bin
106*7c478bd9Sstevel@tonic-gateROOTSFWSBIN=	$(ROOT)/usr/sfw/sbin
107*7c478bd9Sstevel@tonic-gateROOTSFWSHARE=	$(ROOT)/usr/sfw/share
108*7c478bd9Sstevel@tonic-gateROOTSFWSHSRC=	$(ROOT)/usr/sfw/share/src
109*7c478bd9Sstevel@tonic-gateROOTSFWINFO=	$(ROOT)/usr/sfw/share/info
110*7c478bd9Sstevel@tonic-gateROOTSFWINCLUDE=	$(ROOT)/usr/sfw/include
111*7c478bd9Sstevel@tonic-gateROOTSFWLIB=	$(ROOT)/usr/sfw/lib
112*7c478bd9Sstevel@tonic-gateROOTLIBEXEC=	$(ROOT)/usr/sfw/libexec
113*7c478bd9Sstevel@tonic-gateROOTSFWMAN=	$(ROOT)/usr/sfw/share/man
114*7c478bd9Sstevel@tonic-gateROOTSFWMANN=	$(ROOT)/usr/sfw/share/mann
115*7c478bd9Sstevel@tonic-gateROOTSFWMAN1=	$(ROOT)/usr/sfw/share/man/man1
116*7c478bd9Sstevel@tonic-gateROOTSFWMAN1M=	$(ROOT)/usr/sfw/share/man/man1m
117*7c478bd9Sstevel@tonic-gateROOTSFWMAN3=	$(ROOT)/usr/sfw/share/man/man3
118*7c478bd9Sstevel@tonic-gateROOTSFWMAN5=	$(ROOT)/usr/sfw/share/man/man5
119*7c478bd9Sstevel@tonic-gateROOTSFWMAN7=	$(ROOT)/usr/sfw/share/man/man7
120*7c478bd9Sstevel@tonic-gate#
121*7c478bd9Sstevel@tonic-gate# End /usr/sfw freeware rules
122*7c478bd9Sstevel@tonic-gate#
123*7c478bd9Sstevel@tonic-gate
124*7c478bd9Sstevel@tonic-gateISAEXEC=	$(ROOT)/usr/lib/isaexec
125*7c478bd9Sstevel@tonic-gatePLATEXEC=	$(ROOT)/usr/lib/platexec
126*7c478bd9Sstevel@tonic-gate
127*7c478bd9Sstevel@tonic-gateNX_MAP_i386=	$(SRC)/cmd/mapfile_noexdata
128*7c478bd9Sstevel@tonic-gateNX_MAP_sparc=
129*7c478bd9Sstevel@tonic-gateNX_MAP=		$(NX_MAP_$(MACH))
130*7c478bd9Sstevel@tonic-gateNES_MAPFILE=	$(SRC)/cmd/mapfile_noexstk $(NX_MAP)
131*7c478bd9Sstevel@tonic-gate
132*7c478bd9Sstevel@tonic-gateLDLIBS =	$(LDLIBS.cmd)
133*7c478bd9Sstevel@tonic-gate
134*7c478bd9Sstevel@tonic-gateLDFLAGS.cmd = \
135*7c478bd9Sstevel@tonic-gate	$(STRIPFLAG) $(ENVLDFLAGS1) $(ENVLDFLAGS2) $(ENVLDFLAGS3) \
136*7c478bd9Sstevel@tonic-gate	$(NES_MAPFILE:%=-M%) $(PGA_MAPFILE:%=-M%)
137*7c478bd9Sstevel@tonic-gate
138*7c478bd9Sstevel@tonic-gateLDFLAGS =	$(LDFLAGS.cmd)
139*7c478bd9Sstevel@tonic-gate
140*7c478bd9Sstevel@tonic-gateLINTFLAGS=	-axsm
141*7c478bd9Sstevel@tonic-gateLINTFLAGS64=	-axsm -Xarch=$(MACH64:sparcv9=v9)
142*7c478bd9Sstevel@tonic-gateLINTOUT=	lint.out
143*7c478bd9Sstevel@tonic-gate
144*7c478bd9Sstevel@tonic-gateKRB5PROG=	$(PROG:%=$(KRB5BIN)/%)
145*7c478bd9Sstevel@tonic-gateKRB5SBINPROG=	$(PROG:%=$(KRB5SBIN)/%)
146*7c478bd9Sstevel@tonic-gateKRB5LIBPROG=	$(PROG:%=$(KRB5LIB)/%)
147*7c478bd9Sstevel@tonic-gate
148*7c478bd9Sstevel@tonic-gateROOTPROG=	$(PROG:%=$(ROOTBIN)/%)
149*7c478bd9Sstevel@tonic-gateROOTCMD=	$(PROG:%=$(ROOTCMDDIR)/%)
150*7c478bd9Sstevel@tonic-gateROOTSHFILES=	$(SHFILES:%=$(ROOTBIN)/%)
151*7c478bd9Sstevel@tonic-gateROOTLIBPROG=	$(PROG:%=$(ROOTLIB)/%)
152*7c478bd9Sstevel@tonic-gateROOTLIBSHFILES= $(SHFILES:%=$(ROOTLIB)/%)
153*7c478bd9Sstevel@tonic-gateROOTSHLIBPROG=	$(PROG:%=$(ROOTSHLIB)/%)
154*7c478bd9Sstevel@tonic-gateROOTSBINPROG=	$(PROG:%=$(ROOTSBIN)/%)
155*7c478bd9Sstevel@tonic-gateROOTUSRSBINPROG=$(PROG:%=$(ROOTUSRSBIN)/%)
156*7c478bd9Sstevel@tonic-gateROOTETCPROG=	$(PROG:%=$(ROOTETC)/%)
157*7c478bd9Sstevel@tonic-gateROOTCCSBINPROG=	$(PROG:%=$(ROOTCCSBIN)/%)
158*7c478bd9Sstevel@tonic-gateROOTUSRKVMPROG=	$(PROG:%=$(ROOTUSRKVM)/%)
159*7c478bd9Sstevel@tonic-gateROOTXPG4PROG=	$(XPG4PROG:%=$(ROOTXPG4BIN)/%)
160*7c478bd9Sstevel@tonic-gateROOTXPG4PROG32=	$(XPG4PROG:%=$(ROOTXPG4BIN32)/%)
161*7c478bd9Sstevel@tonic-gateROOTXPG4PROG64=	$(XPG4PROG:%=$(ROOTXPG4BIN64)/%)
162*7c478bd9Sstevel@tonic-gateROOTXPG6PROG=	$(XPG6PROG:%=$(ROOTXPG6BIN)/%)
163*7c478bd9Sstevel@tonic-gateROOTLOCALEPROG=	$(PROG:%=$(ROOTLOCALEDEF)/%)
164*7c478bd9Sstevel@tonic-gateROOTPROG64=	$(PROG:%=$(ROOTBIN64)/%)
165*7c478bd9Sstevel@tonic-gateROOTPROG32=	$(PROG:%=$(ROOTBIN32)/%)
166*7c478bd9Sstevel@tonic-gateROOTCMD64=	$(PROG:%=$(ROOTCMDDIR64)/%)
167*7c478bd9Sstevel@tonic-gateROOTUSRSBINPROG32=	$(PROG:%=$(ROOTUSRSBIN32)/%)
168*7c478bd9Sstevel@tonic-gateROOTUSRSBINPROG64=	$(PROG:%=$(ROOTUSRSBIN64)/%)
169*7c478bd9Sstevel@tonic-gateROOTMAN1FILES=	$(MAN1FILES:%=$(ROOTMAN1)/%)
170*7c478bd9Sstevel@tonic-gate$(ROOTMAN1FILES) := FILEMODE= 444
171*7c478bd9Sstevel@tonic-gate$(ROOTMAN1FILES) := OWNER= root
172*7c478bd9Sstevel@tonic-gate$(ROOTMAN1FILES) := GROUP= bin
173*7c478bd9Sstevel@tonic-gateROOTMAN1MFILES=	$(MAN1MFILES:%=$(ROOTMAN1M)/%)
174*7c478bd9Sstevel@tonic-gate$(ROOTMAN1MFILES) := FILEMODE= 444
175*7c478bd9Sstevel@tonic-gate$(ROOTMAN1MFILES) := OWNER= root
176*7c478bd9Sstevel@tonic-gate$(ROOTMAN1MFILES) := GROUP= bin
177*7c478bd9Sstevel@tonic-gateROOTMAN3FILES=	$(MAN3FILES:%=$(ROOTMAN3)/%)
178*7c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := FILEMODE= 444
179*7c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := OWNER= root
180*7c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := GROUP= bin
181*7c478bd9Sstevel@tonic-gate
182*7c478bd9Sstevel@tonic-gateROOTETCDEFAULT=	$(ROOTETC)/default
183*7c478bd9Sstevel@tonic-gateROOTETCDEFAULTFILES=	$(DEFAULTFILES:%=$(ROOTETCDEFAULT)/%)
184*7c478bd9Sstevel@tonic-gate$(ROOTETCDEFAULTFILES) :=	OWNER = root
185*7c478bd9Sstevel@tonic-gate$(ROOTETCDEFAULTFILES) :=	GROUP = sys
186*7c478bd9Sstevel@tonic-gate$(ROOTETCDEFAULTFILES) :=	FILEMODE = 0444
187*7c478bd9Sstevel@tonic-gate
188*7c478bd9Sstevel@tonic-gate#
189*7c478bd9Sstevel@tonic-gate# Directories for smf(5) service manifests and profiles.
190*7c478bd9Sstevel@tonic-gate#
191*7c478bd9Sstevel@tonic-gateROOTVARSVC=			$(ROOT)/var/svc
192*7c478bd9Sstevel@tonic-gate
193*7c478bd9Sstevel@tonic-gateROOTVARSVCMANIFEST=		$(ROOTVARSVC)/manifest
194*7c478bd9Sstevel@tonic-gateROOTVARSVCPROFILE=		$(ROOTVARSVC)/profile
195*7c478bd9Sstevel@tonic-gate
196*7c478bd9Sstevel@tonic-gateROOTSVCMILESTONE=		$(ROOTVARSVCMANIFEST)/milestone
197*7c478bd9Sstevel@tonic-gateROOTSVCDEVICE=			$(ROOTVARSVCMANIFEST)/device
198*7c478bd9Sstevel@tonic-gateROOTSVCSYSTEM=			$(ROOTVARSVCMANIFEST)/system
199*7c478bd9Sstevel@tonic-gateROOTSVCSYSTEMDEVICE=		$(ROOTSVCSYSTEM)/device
200*7c478bd9Sstevel@tonic-gateROOTSVCSYSTEMFILESYSTEM=	$(ROOTSVCSYSTEM)/filesystem
201*7c478bd9Sstevel@tonic-gateROOTSVCSYSTEMSECURITY=		$(ROOTSVCSYSTEM)/security
202*7c478bd9Sstevel@tonic-gateROOTSVCNETWORK=			$(ROOTVARSVCMANIFEST)/network
203*7c478bd9Sstevel@tonic-gateROOTSVCNETWORKLDAP=		$(ROOTSVCNETWORK)/ldap
204*7c478bd9Sstevel@tonic-gateROOTSVCNETWORKNFS=		$(ROOTSVCNETWORK)/nfs
205*7c478bd9Sstevel@tonic-gateROOTSVCNETWORKNIS=		$(ROOTSVCNETWORK)/nis
206*7c478bd9Sstevel@tonic-gateROOTSVCNETWORKRPC=		$(ROOTSVCNETWORK)/rpc
207*7c478bd9Sstevel@tonic-gateROOTSVCNETWORKSECURITY=		$(ROOTSVCNETWORK)/security
208*7c478bd9Sstevel@tonic-gateROOTSVCPLATFORM=		$(ROOTVARSVCMANIFEST)/platform
209*7c478bd9Sstevel@tonic-gateROOTSVCPLATFORMI86PC=		$(ROOTSVCPLATFORM)/i86pc
210*7c478bd9Sstevel@tonic-gateROOTSVCPLATFORMSUN4U=		$(ROOTSVCPLATFORM)/sun4u
211*7c478bd9Sstevel@tonic-gateROOTSVCAPPLICATION=		$(ROOTVARSVCMANIFEST)/application
212*7c478bd9Sstevel@tonic-gateROOTSVCAPPLICATIONMANAGEMENT=	$(ROOTSVCAPPLICATION)/management
213*7c478bd9Sstevel@tonic-gateROOTSVCAPPLICATIONSECURITY=	$(ROOTSVCAPPLICATION)/security
214*7c478bd9Sstevel@tonic-gateROOTSVCAPPLICATIONPRINT=	$(ROOTSVCAPPLICATION)/print
215*7c478bd9Sstevel@tonic-gate
216*7c478bd9Sstevel@tonic-gate#
217*7c478bd9Sstevel@tonic-gate# Commands Makefiles delivering a manifest are expected to define MANIFEST.
218*7c478bd9Sstevel@tonic-gate#
219*7c478bd9Sstevel@tonic-gate# Like ROOTCMDDIR, any lower-level Makefiles that put their manifests in a
220*7c478bd9Sstevel@tonic-gate# subdirectory of the manifest directories listed above should reset
221*7c478bd9Sstevel@tonic-gate# ROOTMANIFESTDIR and use it in their `install' target. By default we set this
222*7c478bd9Sstevel@tonic-gate# to a bogus value so that it will not conflict with any of the other values
223*7c478bd9Sstevel@tonic-gate# already  defined in this Makefile.
224*7c478bd9Sstevel@tonic-gate#
225*7c478bd9Sstevel@tonic-gate# The manifest validation of the $SRC/cmd check target is also derived from a
226*7c478bd9Sstevel@tonic-gate# valid MANIFEST setting.
227*7c478bd9Sstevel@tonic-gate#
228*7c478bd9Sstevel@tonic-gateROOTMANIFESTDIR=	$(ROOTVARSVCMANIFEST)/__nonexistent_directory__
229*7c478bd9Sstevel@tonic-gateROOTMANIFEST=		$(MANIFEST:%=$(ROOTMANIFESTDIR)/%)
230*7c478bd9Sstevel@tonic-gateCHKMANIFEST=		$(MANIFEST:%.xml=%.xmlchk)
231*7c478bd9Sstevel@tonic-gate
232*7c478bd9Sstevel@tonic-gate#
233*7c478bd9Sstevel@tonic-gate# For installing "starter scripts" of services
234*7c478bd9Sstevel@tonic-gate#
235*7c478bd9Sstevel@tonic-gate
236*7c478bd9Sstevel@tonic-gateROOTSVCBIN=		$(SVCBIN:%=$(ROOTLIBSVCBIN)/%)
237*7c478bd9Sstevel@tonic-gateROOTSVCMETHOD=		$(SVCMETHOD:%=$(ROOTLIBSVCMETHOD)/%)
238*7c478bd9Sstevel@tonic-gate
239*7c478bd9Sstevel@tonic-gateROOTSVCBINDIR=		$(ROOTLIBSVCBIN)/__nonexistent_directory__
240*7c478bd9Sstevel@tonic-gateROOTSVCBIN= 		$(SVCBIN:%=$(ROOTSVCBINDIR)/%)
241*7c478bd9Sstevel@tonic-gate$(ROOTSVCBIN)		:= FILEMODE= 544
242*7c478bd9Sstevel@tonic-gate
243*7c478bd9Sstevel@tonic-gate#
244*7c478bd9Sstevel@tonic-gate
245*7c478bd9Sstevel@tonic-gate# For programs that are installed in the root filesystem,
246*7c478bd9Sstevel@tonic-gate# build $(ROOTFS_PROG) rather than $(PROG)
247*7c478bd9Sstevel@tonic-gate$(ROOTFS_PROG) := LDFLAGS += -Wl,-I/lib/ld.so.1
248*7c478bd9Sstevel@tonic-gate
249*7c478bd9Sstevel@tonic-gate$(KRB5BIN)/%: %
250*7c478bd9Sstevel@tonic-gate	$(INS.file)
251*7c478bd9Sstevel@tonic-gate
252*7c478bd9Sstevel@tonic-gate$(KRB5SBIN)/%: %
253*7c478bd9Sstevel@tonic-gate	$(INS.file)
254*7c478bd9Sstevel@tonic-gate
255*7c478bd9Sstevel@tonic-gate$(KRB5LIB)/%: %
256*7c478bd9Sstevel@tonic-gate	$(INS.file)
257*7c478bd9Sstevel@tonic-gate
258*7c478bd9Sstevel@tonic-gate$(ROOTBIN)/%: %
259*7c478bd9Sstevel@tonic-gate	$(INS.file)
260*7c478bd9Sstevel@tonic-gate
261*7c478bd9Sstevel@tonic-gate$(ROOTLIB)/%: %
262*7c478bd9Sstevel@tonic-gate	$(INS.file)
263*7c478bd9Sstevel@tonic-gate
264*7c478bd9Sstevel@tonic-gate$(ROOTBIN64)/%: %
265*7c478bd9Sstevel@tonic-gate	$(INS.file)
266*7c478bd9Sstevel@tonic-gate
267*7c478bd9Sstevel@tonic-gate$(ROOTLIB64)/%: %
268*7c478bd9Sstevel@tonic-gate	$(INS.file)
269*7c478bd9Sstevel@tonic-gate
270*7c478bd9Sstevel@tonic-gate$(ROOTBIN32)/%: %
271*7c478bd9Sstevel@tonic-gate	$(INS.file)
272*7c478bd9Sstevel@tonic-gate
273*7c478bd9Sstevel@tonic-gate$(ROOTSHLIB)/%: %
274*7c478bd9Sstevel@tonic-gate	$(INS.file)
275*7c478bd9Sstevel@tonic-gate
276*7c478bd9Sstevel@tonic-gate$(ROOTSBIN)/%: %
277*7c478bd9Sstevel@tonic-gate	$(INS.file)
278*7c478bd9Sstevel@tonic-gate
279*7c478bd9Sstevel@tonic-gate$(ROOTUSRSBIN)/%: %
280*7c478bd9Sstevel@tonic-gate	$(INS.file)
281*7c478bd9Sstevel@tonic-gate
282*7c478bd9Sstevel@tonic-gate$(ROOTUSRSBIN32)/%: %
283*7c478bd9Sstevel@tonic-gate	$(INS.file)
284*7c478bd9Sstevel@tonic-gate
285*7c478bd9Sstevel@tonic-gate$(ROOTUSRSBIN64)/%: %
286*7c478bd9Sstevel@tonic-gate	$(INS.file)
287*7c478bd9Sstevel@tonic-gate
288*7c478bd9Sstevel@tonic-gate$(ROOTETC)/%: %
289*7c478bd9Sstevel@tonic-gate	$(INS.file)
290*7c478bd9Sstevel@tonic-gate
291*7c478bd9Sstevel@tonic-gate$(ROOTCCSBIN)/%: %
292*7c478bd9Sstevel@tonic-gate	$(INS.file)
293*7c478bd9Sstevel@tonic-gate
294*7c478bd9Sstevel@tonic-gate$(ROOTUSRKVM)/%: %
295*7c478bd9Sstevel@tonic-gate	$(INS.file)
296*7c478bd9Sstevel@tonic-gate
297*7c478bd9Sstevel@tonic-gate$(ROOTXPG4BIN)/%: %.xpg4
298*7c478bd9Sstevel@tonic-gate	$(INS.rename)
299*7c478bd9Sstevel@tonic-gate
300*7c478bd9Sstevel@tonic-gate$(ROOTXPG4BIN32)/%: %.xpg4
301*7c478bd9Sstevel@tonic-gate	$(INS.rename)
302*7c478bd9Sstevel@tonic-gate
303*7c478bd9Sstevel@tonic-gate$(ROOTXPG4BIN64)/%: %.xpg4
304*7c478bd9Sstevel@tonic-gate	$(INS.rename)
305*7c478bd9Sstevel@tonic-gate
306*7c478bd9Sstevel@tonic-gate$(ROOTXPG6BIN)/%: %.xpg6
307*7c478bd9Sstevel@tonic-gate	$(INS.rename)
308*7c478bd9Sstevel@tonic-gate
309*7c478bd9Sstevel@tonic-gate$(ROOTLOCALEDEF)/%: %
310*7c478bd9Sstevel@tonic-gate	$(INS.file)
311*7c478bd9Sstevel@tonic-gate
312*7c478bd9Sstevel@tonic-gate$(ROOTCHARMAP)/%: %
313*7c478bd9Sstevel@tonic-gate	$(INS.file)
314*7c478bd9Sstevel@tonic-gate
315*7c478bd9Sstevel@tonic-gate$(ROOTI18NEXT)/%: %
316*7c478bd9Sstevel@tonic-gate	$(INS.file)
317*7c478bd9Sstevel@tonic-gate
318*7c478bd9Sstevel@tonic-gate$(ROOTI18NEXT64)/%: %
319*7c478bd9Sstevel@tonic-gate	$(INS.file)
320*7c478bd9Sstevel@tonic-gate
321*7c478bd9Sstevel@tonic-gate$(ROOTLIBSVCMETHOD)/%: %
322*7c478bd9Sstevel@tonic-gate	$(INS.file)
323*7c478bd9Sstevel@tonic-gate
324*7c478bd9Sstevel@tonic-gate$(ROOTLIBSVCBIN)/%: %
325*7c478bd9Sstevel@tonic-gate	$(INS.file)
326*7c478bd9Sstevel@tonic-gate
327*7c478bd9Sstevel@tonic-gate$(ROOTSVCMILESTONE)/%: %
328*7c478bd9Sstevel@tonic-gate	$(INS.file)
329*7c478bd9Sstevel@tonic-gate
330*7c478bd9Sstevel@tonic-gate$(ROOTSVCDEVICE)/%: %
331*7c478bd9Sstevel@tonic-gate	$(INS.file)
332*7c478bd9Sstevel@tonic-gate
333*7c478bd9Sstevel@tonic-gate$(ROOTSVCSYSTEM)/%: %
334*7c478bd9Sstevel@tonic-gate	$(INS.file)
335*7c478bd9Sstevel@tonic-gate
336*7c478bd9Sstevel@tonic-gate$(ROOTSVCSYSTEMDEVICE)/%: %
337*7c478bd9Sstevel@tonic-gate	$(INS.file)
338*7c478bd9Sstevel@tonic-gate
339*7c478bd9Sstevel@tonic-gate$(ROOTSVCSYSTEMFILESYSTEM)/%: %
340*7c478bd9Sstevel@tonic-gate	$(INS.file)
341*7c478bd9Sstevel@tonic-gate
342*7c478bd9Sstevel@tonic-gate$(ROOTSVCSYSTEMSECURITY)/%: %
343*7c478bd9Sstevel@tonic-gate	$(INS.file)
344*7c478bd9Sstevel@tonic-gate
345*7c478bd9Sstevel@tonic-gate$(ROOTSVCNETWORK)/%: %
346*7c478bd9Sstevel@tonic-gate	$(INS.file)
347*7c478bd9Sstevel@tonic-gate
348*7c478bd9Sstevel@tonic-gate$(ROOTSVCNETWORKLDAP)/%: %
349*7c478bd9Sstevel@tonic-gate	$(INS.file)
350*7c478bd9Sstevel@tonic-gate
351*7c478bd9Sstevel@tonic-gate$(ROOTSVCNETWORKNFS)/%: %
352*7c478bd9Sstevel@tonic-gate	$(INS.file)
353*7c478bd9Sstevel@tonic-gate
354*7c478bd9Sstevel@tonic-gate$(ROOTSVCNETWORKNIS)/%: %
355*7c478bd9Sstevel@tonic-gate	$(INS.file)
356*7c478bd9Sstevel@tonic-gate
357*7c478bd9Sstevel@tonic-gate$(ROOTSVCNETWORKRPC)/%: %
358*7c478bd9Sstevel@tonic-gate	$(INS.file)
359*7c478bd9Sstevel@tonic-gate
360*7c478bd9Sstevel@tonic-gate$(ROOTSVCNETWORKSECURITY)/%: %
361*7c478bd9Sstevel@tonic-gate	$(INS.file)
362*7c478bd9Sstevel@tonic-gate
363*7c478bd9Sstevel@tonic-gate$(ROOTSVCAPPLICATION)/%: %
364*7c478bd9Sstevel@tonic-gate	$(INS.file)
365*7c478bd9Sstevel@tonic-gate
366*7c478bd9Sstevel@tonic-gate$(ROOTSVCAPPLICATIONMANAGEMENT)/%: %
367*7c478bd9Sstevel@tonic-gate	$(INS.file)
368*7c478bd9Sstevel@tonic-gate
369*7c478bd9Sstevel@tonic-gate$(ROOTSVCAPPLICATIONSECURITY)/%: %
370*7c478bd9Sstevel@tonic-gate	$(INS.file)
371*7c478bd9Sstevel@tonic-gate
372*7c478bd9Sstevel@tonic-gate$(ROOTSVCAPPLICATIONPRINT)/%: %
373*7c478bd9Sstevel@tonic-gate	$(INS.file)
374*7c478bd9Sstevel@tonic-gate
375*7c478bd9Sstevel@tonic-gate$(ROOTSVCPLATFORM)/%: %
376*7c478bd9Sstevel@tonic-gate	$(INS.file)
377*7c478bd9Sstevel@tonic-gate
378*7c478bd9Sstevel@tonic-gate$(ROOTSVCPLATFORMI86PC)/%: %
379*7c478bd9Sstevel@tonic-gate	$(INS.file)
380*7c478bd9Sstevel@tonic-gate
381*7c478bd9Sstevel@tonic-gate$(ROOTSVCPLATFORMSUN4U)/%: %
382*7c478bd9Sstevel@tonic-gate	$(INS.file)
383*7c478bd9Sstevel@tonic-gate
384*7c478bd9Sstevel@tonic-gate$(ROOTMAN1)/%: %.sunman
385*7c478bd9Sstevel@tonic-gate	$(INS.rename)
386*7c478bd9Sstevel@tonic-gate
387*7c478bd9Sstevel@tonic-gate$(ROOTMAN1M)/%: %.sunman
388*7c478bd9Sstevel@tonic-gate	$(INS.rename)
389*7c478bd9Sstevel@tonic-gate
390*7c478bd9Sstevel@tonic-gate$(ROOTMAN3)/%: %.sunman
391*7c478bd9Sstevel@tonic-gate	$(INS.rename)
392*7c478bd9Sstevel@tonic-gate
393*7c478bd9Sstevel@tonic-gate# build rule for statically linked programs with single source file.
394*7c478bd9Sstevel@tonic-gate%.static: %.c
395*7c478bd9Sstevel@tonic-gate	$(LINK.c) -o $@ $< $(LDLIBS)
396*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
397*7c478bd9Sstevel@tonic-gate
398*7c478bd9Sstevel@tonic-gate%.xpg4: %.c
399*7c478bd9Sstevel@tonic-gate	$(LINK.c) -o $@ $< $(LDLIBS)
400*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
401*7c478bd9Sstevel@tonic-gate
402*7c478bd9Sstevel@tonic-gate%.xpg6: %.c
403*7c478bd9Sstevel@tonic-gate	$(LINK.c) -o $@ $< $(LDLIBS)
404*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
405*7c478bd9Sstevel@tonic-gate
406*7c478bd9Sstevel@tonic-gate# Define the majority text domain in this directory.
407*7c478bd9Sstevel@tonic-gateTEXT_DOMAIN= SUNW_OST_OSCMD
408*7c478bd9Sstevel@tonic-gate
409*7c478bd9Sstevel@tonic-gateCLOBBERFILES += $(XPG4) $(XPG6) $(DCFILE)
410*7c478bd9Sstevel@tonic-gate
411*7c478bd9Sstevel@tonic-gate# This flag is being added only for SCO (x86) compatibility
412*7c478bd9Sstevel@tonic-gatei386_SPFLAG=    -D_iBCS2
413*7c478bd9Sstevel@tonic-gatesparc_SPFLAG=
414*7c478bd9Sstevel@tonic-gate
415*7c478bd9Sstevel@tonic-gateiBCS2FLAG = $($(MACH)_SPFLAG)
416*7c478bd9Sstevel@tonic-gate
417*7c478bd9Sstevel@tonic-gate# This flag is for programs which should not build a 32-bit binary
418*7c478bd9Sstevel@tonic-gatesparc_64ONLY= $(POUND_SIGN)
419*7c478bd9Sstevel@tonic-gate64ONLY=	 $($(MACH)_64ONLY)
420