xref: /titanic_52/usr/src/lib/Makefile.lib (revision f6acbf7c6543dc0aab58cae1df419f0147c46d77)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5f808c858Sraf# Common Development and Distribution License (the "License").
6f808c858Sraf# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
217c478bd9Sstevel@tonic-gate#
22*f6acbf7cSrie# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate# Use is subject to license terms.
247c478bd9Sstevel@tonic-gate#
257c478bd9Sstevel@tonic-gate# ident	"%Z%%M%	%I%	%E% SMI"
267c478bd9Sstevel@tonic-gate#
27f808c858Sraf
28f808c858Sraf#
297c478bd9Sstevel@tonic-gate# Definitions common to libraries.
307c478bd9Sstevel@tonic-gate#
317c478bd9Sstevel@tonic-gate# include global definitions; SRC should be defined in the shell.
327c478bd9Sstevel@tonic-gate# SRC is needed until RFE 1026993 is implemented.
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gateinclude		$(SRC)/Makefile.master
357c478bd9Sstevel@tonic-gate
367c478bd9Sstevel@tonic-gateLORDER=		lorder
377c478bd9Sstevel@tonic-gateTSORT=		tsort
387c478bd9Sstevel@tonic-gateAWK=		awk
397c478bd9Sstevel@tonic-gate
40f808c858Sraf#
41f808c858Sraf# By default, we define the source directory for libraries to be
42f808c858Sraf# one level up from the ISA-specific directory, where the code is
43f808c858Sraf# actually built.  Many libraries define a 'common' directory to
44f808c858Sraf# contain the source.  These libraries must redefine SRCDIR as:
45f808c858Sraf#	SRCDIR = ../common
46f808c858Sraf# Other variations are possible (../port, ../src, etc).
47f808c858Sraf#
48f808c858SrafSRCDIR =	..
49f808c858Sraf
50f808c858Sraf#
51f808c858Sraf# We define MAPFILES here for the benefit of most libraries,
52f808c858Sraf# those that follow the convention of having source files and other
53f808c858Sraf# common files in the $(SRCDIR) directory.  Libraries that do not
54f808c858Sraf# follow this convention must define MAPFILES for themselves.
55f808c858Sraf# Libraries that do follow this convention but that need supplemental
56f808c858Sraf# ISA-specific mapfiles can augment MAPFILES like this:
57f808c858Sraf#	MAPFILES += mapfile-vers
58f808c858Sraf#
59f808c858SrafMAPFILES =	$(SRCDIR)/mapfile-vers
60f808c858Sraf
61e8031f0aSrafC_SYNONYMS_H=	$(SRC)/lib/common/inc/c_synonyms.h
62e8031f0aSraf
637c478bd9Sstevel@tonic-gate#
647c478bd9Sstevel@tonic-gate# If HDRDIR is left unset, then it's possible for the $(ROOTHDRDIR)/%
657c478bd9Sstevel@tonic-gate# install rule in lib/Makefile.targ to generate false matches if there
667c478bd9Sstevel@tonic-gate# are any common directory names between / and /usr/include (`xfn' is
677c478bd9Sstevel@tonic-gate# one common example).  To prevent this, we set HDRDIR to a directory
687c478bd9Sstevel@tonic-gate# name that will almost surely not exist on the build machine.
697c478bd9Sstevel@tonic-gate#
707c478bd9Sstevel@tonic-gateHDRDIR=		/__nonexistent_directory__
71f808c858Sraf
727c478bd9Sstevel@tonic-gate#
737c478bd9Sstevel@tonic-gate# We don't build archive (*.a) libraries by default anymore.
747c478bd9Sstevel@tonic-gate# If a component of the build needs to build an archive library
757c478bd9Sstevel@tonic-gate# for its own internal purposes, it can define LIBS for itself
767c478bd9Sstevel@tonic-gate# after including Makefile.lib, like this:
777c478bd9Sstevel@tonic-gate# 	LIBS = $(LIBRARY)
787c478bd9Sstevel@tonic-gate# or:
797c478bd9Sstevel@tonic-gate# 	LIBS = $(LIBRARYCCC)
807c478bd9Sstevel@tonic-gate# Archive libraries must not be installed in the proto area.
817c478bd9Sstevel@tonic-gate#
827c478bd9Sstevel@tonic-gateLIBS=
837c478bd9Sstevel@tonic-gateMACHLIBS=	$(LIBS:%=$(MACH)/%)
847c478bd9Sstevel@tonic-gateMACHLIBS64=	$(LIBS:%=$(MACH64)/%)
857c478bd9Sstevel@tonic-gateDYNLIB=		$(LIBRARY:.a=.so$(VERS))
867c478bd9Sstevel@tonic-gateDYNLIBPSR=	$(LIBRARY:.a=_psr.so$(VERS))
877c478bd9Sstevel@tonic-gateDYNLIBCCC=	$(LIBRARYCCC:.a=.so$(VERS))
887c478bd9Sstevel@tonic-gateLIBLINKS=	$(LIBRARY:.a=.so)
897c478bd9Sstevel@tonic-gateLIBLINKSCCC=	$(LIBRARYCCC:.a=.so)
907c478bd9Sstevel@tonic-gateLIBNAME=	$(LIBRARY:lib%.a=%)
917c478bd9Sstevel@tonic-gateLIBLINKPATH=
927c478bd9Sstevel@tonic-gateLIBNULL=	null.a
937c478bd9Sstevel@tonic-gateROOTHDRDIR=	$(ROOT)/usr/include
947c478bd9Sstevel@tonic-gateROOTLIBDIR=	$(ROOT)/usr/lib
957c478bd9Sstevel@tonic-gateROOTLIBDIR64=	$(ROOT)/usr/lib/$(MACH64)
967c478bd9Sstevel@tonic-gateROOTFS_LIBDIR=	$(ROOT)/lib
977c478bd9Sstevel@tonic-gateROOTFS_LIBDIR64=	$(ROOT)/lib/$(MACH64)
987c478bd9Sstevel@tonic-gateROOTLINTDIR=	$(ROOTLIBDIR)
997c478bd9Sstevel@tonic-gateROOTFS_LINTDIR=	$(ROOTFS_LIBDIR)
1007c478bd9Sstevel@tonic-gateROOTFS_LINTDIR64=	$(ROOTFS_LIBDIR64)
1017c478bd9Sstevel@tonic-gateROOTHDRS=	$(HDRS:%=$(ROOTHDRDIR)/%)
1027c478bd9Sstevel@tonic-gateHDRSRCS=	$(HDRS:%=$(HDRDIR)/%)
1037c478bd9Sstevel@tonic-gateCHECKHDRS=	$(HDRSRCS:%.h=%.check)
1047c478bd9Sstevel@tonic-gateROOTLIBS=	$(LIBS:%=$(ROOTLIBDIR)/%)
1057c478bd9Sstevel@tonic-gateROOTLIBS64=	$(LIBS:%=$(ROOTLIBDIR64)/%)
1067c478bd9Sstevel@tonic-gateROOTFS_LIBS=	$(DYNLIB:%=$(ROOTFS_LIBDIR)/%)
1077c478bd9Sstevel@tonic-gateROOTFS_LIBS64=	$(DYNLIB:%=$(ROOTFS_LIBDIR64)/%)
1087c478bd9Sstevel@tonic-gateROOTLINKS=	$(ROOTLIBDIR)/$(LIBLINKS)
1097c478bd9Sstevel@tonic-gateROOTLINKS64=	$(ROOTLIBDIR64)/$(LIBLINKS)
1107c478bd9Sstevel@tonic-gateROOTFS_LINKS=	$(ROOTFS_LIBDIR)/$(LIBLINKS)
1117c478bd9Sstevel@tonic-gateROOTFS_LINKS64=	$(ROOTFS_LIBDIR64)/$(LIBLINKS)
1127c478bd9Sstevel@tonic-gateROOTLINKSCCC=	$(ROOTLIBDIR)/$(LIBLINKSCCC)
1137c478bd9Sstevel@tonic-gateROOTLINKSCCC64=	$(ROOTLIBDIR64)/$(LIBLINKSCCC)
1147c478bd9Sstevel@tonic-gateROOTFS_LINKSCCC=	$(ROOTFS_LIBDIR)/$(LIBLINKSCCC)
1157c478bd9Sstevel@tonic-gateROOTFS_LINKSCCC64=	$(ROOTFS_LIBDIR64)/$(LIBLINKSCCC)
1167c478bd9Sstevel@tonic-gateROOTLINT=	$(LINTSRC:%=$(ROOTLINTDIR)/%)
1177c478bd9Sstevel@tonic-gateROOTFS_LINT=	$(LINTSRC:%=$(ROOTFS_LINTDIR)/%)
1187c478bd9Sstevel@tonic-gateROOTFS_LINT64=	$(LINTSRC:%=$(ROOTFS_LINTDIR64)/%)
1197c478bd9Sstevel@tonic-gateROOTMAN3=     $(ROOT)/usr/share/man/man3
1207c478bd9Sstevel@tonic-gateROOTMAN3FILES=        $(MAN3FILES:%=$(ROOTMAN3)/%)
1217c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := FILEMODE= 444
1227c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := OWNER= root
1237c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := GROUP= bin
1247c478bd9Sstevel@tonic-gate
125da2e3ebdSchin# Demo rules
126da2e3ebdSchinDEMOFILES=
127da2e3ebdSchinDEMOFILESRCDIR=		common
128da2e3ebdSchinROOTDEMODIRBASE=	__nonexistent_directory__
129da2e3ebdSchinROOTDEMODIRS=
130da2e3ebdSchinROOTDEMOFILES=	$(DEMOFILES:%=$(ROOTDEMODIRBASE)/%)
131da2e3ebdSchin$(ROOTDEMODIRS) :=	OWNER =		root
132da2e3ebdSchin$(ROOTDEMODIRS) :=	GROUP =		bin
133da2e3ebdSchin$(ROOTDEMODIRS) :=	DIRMODE =	755
134da2e3ebdSchin
1357c478bd9Sstevel@tonic-gate#
1367c478bd9Sstevel@tonic-gate# Begin /usr/sfw freeware rules for freeware that has "External"
1377c478bd9Sstevel@tonic-gate# taxonomy stability level.
1387c478bd9Sstevel@tonic-gate#
1397c478bd9Sstevel@tonic-gateROOTSFW=	$(ROOT)/usr/sfw
1407c478bd9Sstevel@tonic-gateROOTSFWBIN=	$(ROOT)/usr/sfw/bin
1417c478bd9Sstevel@tonic-gateROOTSFWSBIN=	$(ROOT)/usr/sfw/sbin
1427c478bd9Sstevel@tonic-gateROOTSFWETC=	$(ROOT)/etc/sfw
1437c478bd9Sstevel@tonic-gateROOTSFWVAR=	$(ROOT)/var/sfw
1447c478bd9Sstevel@tonic-gateROOTSFWSHARE=	$(ROOT)/usr/sfw/share
1457c478bd9Sstevel@tonic-gateROOTSFWSHSRC=	$(ROOT)/usr/sfw/share/src
1467c478bd9Sstevel@tonic-gateROOTSFWINCLUDE=	$(ROOT)/usr/sfw/include
1477c478bd9Sstevel@tonic-gateROOTSFWLIB=	$(ROOT)/usr/sfw/lib
1487c478bd9Sstevel@tonic-gateROOTSFWLIB64=	$(ROOT)/usr/sfw/lib/$(MACH64)
1497c478bd9Sstevel@tonic-gateROOTSFWMAN=	$(ROOT)/usr/sfw/share/man
1507c478bd9Sstevel@tonic-gateROOTSFWMANN=	$(ROOT)/usr/sfw/share/mann
1517c478bd9Sstevel@tonic-gateROOTSFWMAN1=	$(ROOT)/usr/sfw/share/man/man1
1527c478bd9Sstevel@tonic-gateROOTSFWMAN1M=	$(ROOT)/usr/sfw/share/man/man1m
1537c478bd9Sstevel@tonic-gateROOTSFWMAN3=	$(ROOT)/usr/sfw/share/man/man3
1547c478bd9Sstevel@tonic-gateROOTSFWMAN5=	$(ROOT)/usr/sfw/share/man/man5
1557c478bd9Sstevel@tonic-gateROOTSFWMAN7=	$(ROOT)/usr/sfw/share/man/man7
1567c478bd9Sstevel@tonic-gate#
1577c478bd9Sstevel@tonic-gate# End /usr/sfw freeware rules
1587c478bd9Sstevel@tonic-gate#
1597c478bd9Sstevel@tonic-gate
1607c478bd9Sstevel@tonic-gateLINTLIB=	llib-l$(LIBNAME).ln
1617c478bd9Sstevel@tonic-gateLINTFLAGS=	-uaxm
1627c478bd9Sstevel@tonic-gateLINTFLAGS64=	-uaxm -Xarch=$(MACH64:sparcv9=v9)
1637c478bd9Sstevel@tonic-gateLINTSRC=	$(LINTLIB:%.ln=%)
1647c478bd9Sstevel@tonic-gateLINTOUT=	lint.out
1657c478bd9Sstevel@tonic-gateARFLAGS=	r
1667c478bd9Sstevel@tonic-gateSONAME=		$(DYNLIB)
1677c478bd9Sstevel@tonic-gate# For most libraries, we should be able to resolve all symbols at link time,
1687c478bd9Sstevel@tonic-gate# either within the library or as dependencies, all text should be pure, and
1697c478bd9Sstevel@tonic-gate# combining relocations into one relocation table reduces startup costs.
1707c478bd9Sstevel@tonic-gate# All options are tunable to allow overload/omission from lower makefiles.
1717c478bd9Sstevel@tonic-gate
1727c478bd9Sstevel@tonic-gate
1737c478bd9Sstevel@tonic-gateHSONAME=	-h$(SONAME)
174*f6acbf7cSrieDYNFLAGS=	$(HSONAME) $(ZTEXT) $(ZDEFS) $(ZCOMBRELOC) $(BDIRECT) \
17524da5b34Srie		$(MAPFILES:%=-M%) $(MAPFILE.PGA:%=-M%) $(MAPFILE.NED:%=-M%)
1767c478bd9Sstevel@tonic-gate
1777c478bd9Sstevel@tonic-gateLDLIBS=		$(LDLIBS.lib)
1787c478bd9Sstevel@tonic-gate
1797c478bd9Sstevel@tonic-gateOBJS=		$(OBJECTS:%=objs/%)
1807c478bd9Sstevel@tonic-gatePICS=		$(OBJECTS:%=pics/%)
1817c478bd9Sstevel@tonic-gate
1827c478bd9Sstevel@tonic-gate# Declare that all library .o's can all be made in parallel.
1837c478bd9Sstevel@tonic-gate# The DUMMY target is for those instances where OBJS and PICS
1847c478bd9Sstevel@tonic-gate# are empty (to avoid an unconditional .PARALLEL declaration).
1857c478bd9Sstevel@tonic-gate.PARALLEL:	$(OBJS) $(PICS) DUMMY
1867c478bd9Sstevel@tonic-gate
1877c478bd9Sstevel@tonic-gate# default value for "portable" source
1887c478bd9Sstevel@tonic-gateSRCS=		$(OBJECTS:%.o=$(SRCDIR)/%.c)
1897c478bd9Sstevel@tonic-gate
1907c478bd9Sstevel@tonic-gate# default build of an archive and a shared object,
1917c478bd9Sstevel@tonic-gate# overridden locally when extra processing is needed
1927c478bd9Sstevel@tonic-gateBUILD.AR=	$(AR) $(ARFLAGS) $@ $(AROBJS)
1937c478bd9Sstevel@tonic-gateBUILD.SO=	$(CC) -o $@ $(GSHARED) $(DYNFLAGS) $(PICS) $(LDLIBS)
1947c478bd9Sstevel@tonic-gateBUILDCCC.SO=	$(CCC) -o $@ $(GSHARED) $(DYNFLAGS) $(PICS) $(LDLIBS)
1957c478bd9Sstevel@tonic-gate
1967c478bd9Sstevel@tonic-gate# default dynamic library symlink
1977c478bd9Sstevel@tonic-gateINS.liblink=	-$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
1987c478bd9Sstevel@tonic-gateINS.liblinkccc=	-$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKSCCC)$(VERS) $@
1997c478bd9Sstevel@tonic-gate
2007c478bd9Sstevel@tonic-gate# default 64-bit dynamic library symlink
2017c478bd9Sstevel@tonic-gateINS.liblink64=	-$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
2027c478bd9Sstevel@tonic-gateINS.liblinkccc64= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKSCCC)$(VERS) $@
2037c478bd9Sstevel@tonic-gate
2047c478bd9Sstevel@tonic-gate#
2057c478bd9Sstevel@tonic-gate# If appropriate, augment POST_PROCESS_O and POST_PROCESS_SO to do CTF
2067c478bd9Sstevel@tonic-gate# processing.  We'd like to just conditionally append to POST_PROCESS_O and
2077c478bd9Sstevel@tonic-gate# POST_PROCESS_SO, but ParallelMake has a bug which causes the same value to
2087c478bd9Sstevel@tonic-gate# sometimes get appended more than once, which will cause ctfconvert to fail.
2097c478bd9Sstevel@tonic-gate# So, instead we introduce CTFCONVERT_POST and CTFMERGE_POST, which are always
2107c478bd9Sstevel@tonic-gate# appended to POST_PROCESS_O and POST_PROCESS_SO but are no-ops unless CTF
2117c478bd9Sstevel@tonic-gate# processing should be done.
2127c478bd9Sstevel@tonic-gate#
2137c478bd9Sstevel@tonic-gateCTFCONVERT_POST = :
2147c478bd9Sstevel@tonic-gateCTFMERGE_POST	= :
2157c478bd9Sstevel@tonic-gatePOST_PROCESS_O += ; $(CTFCONVERT_POST)
2167c478bd9Sstevel@tonic-gatePOST_PROCESS_SO += ; $(CTFMERGE_POST)
2177c478bd9Sstevel@tonic-gate
2187c478bd9Sstevel@tonic-gateCTFMERGE_LIB	= $(CTFMERGE) -t -f -L VERSION -o $@ $(PICS)
2197c478bd9Sstevel@tonic-gate
2207c478bd9Sstevel@tonic-gate# conditional assignments
2217c478bd9Sstevel@tonic-gate
2227c478bd9Sstevel@tonic-gate$(OBJS)  :=	sparc_CFLAGS += -xregs=no%appl
2237c478bd9Sstevel@tonic-gate
2247c478bd9Sstevel@tonic-gate$(PICS)  :=	sparc_CFLAGS += -xregs=no%appl $(sparc_C_PICFLAGS)
2257c478bd9Sstevel@tonic-gate$(PICS)  :=	sparcv9_CFLAGS += -xregs=no%appl $(sparcv9_C_PICFLAGS)
2267c478bd9Sstevel@tonic-gate$(PICS)  :=	i386_CFLAGS += $(i386_C_PICFLAGS)
2277c478bd9Sstevel@tonic-gate$(PICS)  :=	amd64_CFLAGS += $(amd64_C_PICFLAGS)
2287c478bd9Sstevel@tonic-gate$(PICS)  :=	CCFLAGS += $(CC_PICFLAGS)
2297c478bd9Sstevel@tonic-gate$(PICS)  :=	CPPFLAGS += -DPIC -D_REENTRANT
2307c478bd9Sstevel@tonic-gate$(PICS)  :=	sparcv9_CCFLAGS += -xregs=no%appl $(sparcv9_CC_PICFLAGS)
2317c478bd9Sstevel@tonic-gate$(PICS)  :=	amd64_CCFLAGS += $(amd64_CC_PICFLAGS)
2327c478bd9Sstevel@tonic-gate$(PICS)  :=	CFLAGS += $(CTF_FLAGS)
2337c478bd9Sstevel@tonic-gate$(PICS)	 :=	CFLAGS64 += $(CTF_FLAGS)
2347c478bd9Sstevel@tonic-gate$(PICS)  :=	CTFCONVERT_POST = $(CTFCONVERT_O)
2357c478bd9Sstevel@tonic-gate$(DYNLIB) :=	CTFMERGE_POST = $(CTFMERGE_LIB)
2367c478bd9Sstevel@tonic-gate
2377c478bd9Sstevel@tonic-gate$(LINTLIB):=	LOG = -DLOGGING
2387c478bd9Sstevel@tonic-gate$(LIBRARY):=	AROBJS = $(OBJS)
2397c478bd9Sstevel@tonic-gate$(LIBRARY):=	DIR = objs
2407c478bd9Sstevel@tonic-gate$(DYNLIB):=	DIR = pics
2417c478bd9Sstevel@tonic-gate$(DYNLIBCCC):=	DIR = pics
2427c478bd9Sstevel@tonic-gate
2437c478bd9Sstevel@tonic-gateSONAMECCC=	$(DYNLIBCCC)
2447c478bd9Sstevel@tonic-gateHSONAMECCC=	-h $(SONAMECCC)
2457c478bd9Sstevel@tonic-gate#
2467c478bd9Sstevel@tonic-gate# Keep in sync with the standard DYNFLAGS
2477c478bd9Sstevel@tonic-gate#
2487c478bd9Sstevel@tonic-gate$(DYNLIBCCC):=	DYNFLAGS = $(HSONAMECCC) $(ZTEXT) $(ZDEFS) $(ZCOMBRELOC) \
24924da5b34Srie		$(MAPFILES:%=-M%) $(MAPFILE.PGA:%=-M%) $(MAPFILE.NED:%=-M%) \
250*f6acbf7cSrie		$(BDIRECT) $(NORUNPATH)
2517c478bd9Sstevel@tonic-gate
2527c478bd9Sstevel@tonic-gate
2537c478bd9Sstevel@tonic-gate# build rule for "portable" source
2547c478bd9Sstevel@tonic-gateobjs/%.o pics/%.o: %.c
2557c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
2567c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
2577c478bd9Sstevel@tonic-gate
2587c478bd9Sstevel@tonic-gateobjs/%.o pics/%.o: %.cc
2597c478bd9Sstevel@tonic-gate	$(COMPILE.cc) -o $@ $<
2607c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
2617c478bd9Sstevel@tonic-gate
2627c478bd9Sstevel@tonic-gate.PRECIOUS: $(LIBS)
2637c478bd9Sstevel@tonic-gate
2647c478bd9Sstevel@tonic-gate# Define the majority text domain in this directory.
2657c478bd9Sstevel@tonic-gateTEXT_DOMAIN= SUNW_OST_OSLIB
2667c478bd9Sstevel@tonic-gate
2677c478bd9Sstevel@tonic-gate$(ROOTMAN3)/%: %.sunman
2687c478bd9Sstevel@tonic-gate	$(INS.rename)
2697c478bd9Sstevel@tonic-gate
2707c478bd9Sstevel@tonic-gate#
2717c478bd9Sstevel@tonic-gate# For library source code, we expect that some symbols may not be used or
2727c478bd9Sstevel@tonic-gate# may *appear* to be able to rescoped to static; shut lint up.  Never add
2737c478bd9Sstevel@tonic-gate# a flag here unless you're *sure* that all libraries need to be linted
2747c478bd9Sstevel@tonic-gate# with it.
2757c478bd9Sstevel@tonic-gate#
2767c478bd9Sstevel@tonic-gateLINTCHECKFLAGS = -m -erroff=E_NAME_DEF_NOT_USED2
2777c478bd9Sstevel@tonic-gateLINTCHECKFLAGS += -erroff=E_NAME_DECL_NOT_USED_DEF2
2787c478bd9Sstevel@tonic-gate
2797c478bd9Sstevel@tonic-gate#
280f808c858Sraf# Target Architecture
2817c478bd9Sstevel@tonic-gate#
282f808c858SrafTARGETMACH=	$(MACH)
2837c478bd9Sstevel@tonic-gate
2847c478bd9Sstevel@tonic-gate#
2857c478bd9Sstevel@tonic-gate# Allow people to define their own clobber rules.  Normal makefiles
2867c478bd9Sstevel@tonic-gate# shouldn't override this - they should override $(CLOBBERFILES) instead.
2877c478bd9Sstevel@tonic-gate#
288f808c858SrafCLOBBERTARGFILES= $(LIBS) $(DYNLIB) $(CLOBBERFILES)
289