xref: /titanic_54/usr/src/lib/Makefile.lib (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
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 libraries.
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-gateLORDER=		lorder
36*7c478bd9Sstevel@tonic-gateTSORT=		tsort
37*7c478bd9Sstevel@tonic-gateAWK=		awk
38*7c478bd9Sstevel@tonic-gate
39*7c478bd9Sstevel@tonic-gateMAPFILE-FLTR=	$(SRC)/lib/common/mapfile-filter
40*7c478bd9Sstevel@tonic-gate
41*7c478bd9Sstevel@tonic-gateNX_MAP_i386=	$(SRC)/cmd/mapfile_noexdata
42*7c478bd9Sstevel@tonic-gateNX_MAP_sparc=
43*7c478bd9Sstevel@tonic-gate
44*7c478bd9Sstevel@tonic-gateNX_MAP=		$(NX_MAP_$(MACH))
45*7c478bd9Sstevel@tonic-gate
46*7c478bd9Sstevel@tonic-gate#
47*7c478bd9Sstevel@tonic-gate# If HDRDIR is left unset, then it's possible for the $(ROOTHDRDIR)/%
48*7c478bd9Sstevel@tonic-gate# install rule in lib/Makefile.targ to generate false matches if there
49*7c478bd9Sstevel@tonic-gate# are any common directory names between / and /usr/include (`xfn' is
50*7c478bd9Sstevel@tonic-gate# one common example).  To prevent this, we set HDRDIR to a directory
51*7c478bd9Sstevel@tonic-gate# name that will almost surely not exist on the build machine.
52*7c478bd9Sstevel@tonic-gate#
53*7c478bd9Sstevel@tonic-gateHDRDIR=		/__nonexistent_directory__
54*7c478bd9Sstevel@tonic-gateSRCDIR=		.
55*7c478bd9Sstevel@tonic-gate#
56*7c478bd9Sstevel@tonic-gate# We don't build archive (*.a) libraries by default anymore.
57*7c478bd9Sstevel@tonic-gate# If a component of the build needs to build an archive library
58*7c478bd9Sstevel@tonic-gate# for its own internal purposes, it can define LIBS for itself
59*7c478bd9Sstevel@tonic-gate# after including Makefile.lib, like this:
60*7c478bd9Sstevel@tonic-gate# 	LIBS = $(LIBRARY)
61*7c478bd9Sstevel@tonic-gate# or:
62*7c478bd9Sstevel@tonic-gate# 	LIBS = $(LIBRARYCCC)
63*7c478bd9Sstevel@tonic-gate# Archive libraries must not be installed in the proto area.
64*7c478bd9Sstevel@tonic-gate#
65*7c478bd9Sstevel@tonic-gateLIBS=
66*7c478bd9Sstevel@tonic-gateMACHLIBS=	$(LIBS:%=$(MACH)/%)
67*7c478bd9Sstevel@tonic-gateMACHLIBS64=	$(LIBS:%=$(MACH64)/%)
68*7c478bd9Sstevel@tonic-gateDYNLIB=		$(LIBRARY:.a=.so$(VERS))
69*7c478bd9Sstevel@tonic-gateDYNLIBPSR=	$(LIBRARY:.a=_psr.so$(VERS))
70*7c478bd9Sstevel@tonic-gateDYNLIBCCC=	$(LIBRARYCCC:.a=.so$(VERS))
71*7c478bd9Sstevel@tonic-gateLIBLINKS=	$(LIBRARY:.a=.so)
72*7c478bd9Sstevel@tonic-gateLIBLINKSCCC=	$(LIBRARYCCC:.a=.so)
73*7c478bd9Sstevel@tonic-gateLIBNAME=	$(LIBRARY:lib%.a=%)
74*7c478bd9Sstevel@tonic-gateLIBLINKPATH=
75*7c478bd9Sstevel@tonic-gateLIBNULL=	null.a
76*7c478bd9Sstevel@tonic-gateROOTHDRDIR=	$(ROOT)/usr/include
77*7c478bd9Sstevel@tonic-gateROOTLIBDIR=	$(ROOT)/usr/lib
78*7c478bd9Sstevel@tonic-gateROOTLIBDIR64=	$(ROOT)/usr/lib/$(MACH64)
79*7c478bd9Sstevel@tonic-gateROOTFS_LIBDIR=	$(ROOT)/lib
80*7c478bd9Sstevel@tonic-gateROOTFS_LIBDIR64=	$(ROOT)/lib/$(MACH64)
81*7c478bd9Sstevel@tonic-gateROOTLINTDIR=	$(ROOTLIBDIR)
82*7c478bd9Sstevel@tonic-gateROOTFS_LINTDIR=	$(ROOTFS_LIBDIR)
83*7c478bd9Sstevel@tonic-gateROOTFS_LINTDIR64=	$(ROOTFS_LIBDIR64)
84*7c478bd9Sstevel@tonic-gateROOTHDRS=	$(HDRS:%=$(ROOTHDRDIR)/%)
85*7c478bd9Sstevel@tonic-gateHDRSRCS=	$(HDRS:%=$(HDRDIR)/%)
86*7c478bd9Sstevel@tonic-gateCHECKHDRS=	$(HDRSRCS:%.h=%.check)
87*7c478bd9Sstevel@tonic-gateROOTLIBS=	$(LIBS:%=$(ROOTLIBDIR)/%)
88*7c478bd9Sstevel@tonic-gateROOTLIBS64=	$(LIBS:%=$(ROOTLIBDIR64)/%)
89*7c478bd9Sstevel@tonic-gateROOTFS_LIBS=	$(DYNLIB:%=$(ROOTFS_LIBDIR)/%)
90*7c478bd9Sstevel@tonic-gateROOTFS_LIBS64=	$(DYNLIB:%=$(ROOTFS_LIBDIR64)/%)
91*7c478bd9Sstevel@tonic-gateROOTLINKS=	$(ROOTLIBDIR)/$(LIBLINKS)
92*7c478bd9Sstevel@tonic-gateROOTLINKS64=	$(ROOTLIBDIR64)/$(LIBLINKS)
93*7c478bd9Sstevel@tonic-gateROOTFS_LINKS=	$(ROOTFS_LIBDIR)/$(LIBLINKS)
94*7c478bd9Sstevel@tonic-gateROOTFS_LINKS64=	$(ROOTFS_LIBDIR64)/$(LIBLINKS)
95*7c478bd9Sstevel@tonic-gateROOTLINKSCCC=	$(ROOTLIBDIR)/$(LIBLINKSCCC)
96*7c478bd9Sstevel@tonic-gateROOTLINKSCCC64=	$(ROOTLIBDIR64)/$(LIBLINKSCCC)
97*7c478bd9Sstevel@tonic-gateROOTFS_LINKSCCC=	$(ROOTFS_LIBDIR)/$(LIBLINKSCCC)
98*7c478bd9Sstevel@tonic-gateROOTFS_LINKSCCC64=	$(ROOTFS_LIBDIR64)/$(LIBLINKSCCC)
99*7c478bd9Sstevel@tonic-gateROOTLINT=	$(LINTSRC:%=$(ROOTLINTDIR)/%)
100*7c478bd9Sstevel@tonic-gateROOTFS_LINT=	$(LINTSRC:%=$(ROOTFS_LINTDIR)/%)
101*7c478bd9Sstevel@tonic-gateROOTFS_LINT64=	$(LINTSRC:%=$(ROOTFS_LINTDIR64)/%)
102*7c478bd9Sstevel@tonic-gateROOTMAN3=     $(ROOT)/usr/share/man/man3
103*7c478bd9Sstevel@tonic-gateROOTMAN3FILES=        $(MAN3FILES:%=$(ROOTMAN3)/%)
104*7c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := FILEMODE= 444
105*7c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := OWNER= root
106*7c478bd9Sstevel@tonic-gate$(ROOTMAN3FILES) := GROUP= bin
107*7c478bd9Sstevel@tonic-gate
108*7c478bd9Sstevel@tonic-gate#
109*7c478bd9Sstevel@tonic-gate# Begin /usr/sfw freeware rules for freeware that has "External"
110*7c478bd9Sstevel@tonic-gate# taxonomy stability level.
111*7c478bd9Sstevel@tonic-gate#
112*7c478bd9Sstevel@tonic-gateROOTSFW=	$(ROOT)/usr/sfw
113*7c478bd9Sstevel@tonic-gateROOTSFWBIN=	$(ROOT)/usr/sfw/bin
114*7c478bd9Sstevel@tonic-gateROOTSFWSBIN=	$(ROOT)/usr/sfw/sbin
115*7c478bd9Sstevel@tonic-gateROOTSFWETC=	$(ROOT)/etc/sfw
116*7c478bd9Sstevel@tonic-gateROOTSFWVAR=	$(ROOT)/var/sfw
117*7c478bd9Sstevel@tonic-gateROOTSFWSHARE=	$(ROOT)/usr/sfw/share
118*7c478bd9Sstevel@tonic-gateROOTSFWSHSRC=	$(ROOT)/usr/sfw/share/src
119*7c478bd9Sstevel@tonic-gateROOTSFWINCLUDE=	$(ROOT)/usr/sfw/include
120*7c478bd9Sstevel@tonic-gateROOTSFWLIB=	$(ROOT)/usr/sfw/lib
121*7c478bd9Sstevel@tonic-gateROOTSFWLIB64=	$(ROOT)/usr/sfw/lib/$(MACH64)
122*7c478bd9Sstevel@tonic-gateROOTSFWMAN=	$(ROOT)/usr/sfw/share/man
123*7c478bd9Sstevel@tonic-gateROOTSFWMANN=	$(ROOT)/usr/sfw/share/mann
124*7c478bd9Sstevel@tonic-gateROOTSFWMAN1=	$(ROOT)/usr/sfw/share/man/man1
125*7c478bd9Sstevel@tonic-gateROOTSFWMAN1M=	$(ROOT)/usr/sfw/share/man/man1m
126*7c478bd9Sstevel@tonic-gateROOTSFWMAN3=	$(ROOT)/usr/sfw/share/man/man3
127*7c478bd9Sstevel@tonic-gateROOTSFWMAN5=	$(ROOT)/usr/sfw/share/man/man5
128*7c478bd9Sstevel@tonic-gateROOTSFWMAN7=	$(ROOT)/usr/sfw/share/man/man7
129*7c478bd9Sstevel@tonic-gate#
130*7c478bd9Sstevel@tonic-gate# End /usr/sfw freeware rules
131*7c478bd9Sstevel@tonic-gate#
132*7c478bd9Sstevel@tonic-gate
133*7c478bd9Sstevel@tonic-gateLINTLIB=	llib-l$(LIBNAME).ln
134*7c478bd9Sstevel@tonic-gateLINTFLAGS=	-uaxm
135*7c478bd9Sstevel@tonic-gateLINTFLAGS64=	-uaxm -Xarch=$(MACH64:sparcv9=v9)
136*7c478bd9Sstevel@tonic-gateLINTSRC=	$(LINTLIB:%.ln=%)
137*7c478bd9Sstevel@tonic-gateLINTOUT=	lint.out
138*7c478bd9Sstevel@tonic-gateARFLAGS=	r
139*7c478bd9Sstevel@tonic-gateSONAME=		$(DYNLIB)
140*7c478bd9Sstevel@tonic-gate# For most libraries, we should be able to resolve all symbols at link time,
141*7c478bd9Sstevel@tonic-gate# either within the library or as dependencies, all text should be pure, and
142*7c478bd9Sstevel@tonic-gate# combining relocations into one relocation table reduces startup costs.
143*7c478bd9Sstevel@tonic-gate# All options are tunable to allow overload/omission from lower makefiles.
144*7c478bd9Sstevel@tonic-gate
145*7c478bd9Sstevel@tonic-gate
146*7c478bd9Sstevel@tonic-gateHSONAME=	-h$(SONAME)
147*7c478bd9Sstevel@tonic-gateDYNFLAGS=	$(HSONAME) $(ZTEXT) $(ZDEFS) $(ZCOMBRELOC) \
148*7c478bd9Sstevel@tonic-gate		$(SPECMAPFILE:%=-M%) $(PGA_MAPFILE:%=-M%) $(NX_MAP:%=-M%)
149*7c478bd9Sstevel@tonic-gate
150*7c478bd9Sstevel@tonic-gateLDLIBS=		$(LDLIBS.lib)
151*7c478bd9Sstevel@tonic-gate
152*7c478bd9Sstevel@tonic-gateOBJS=		$(OBJECTS:%=objs/%)
153*7c478bd9Sstevel@tonic-gatePICS=		$(OBJECTS:%=pics/%)
154*7c478bd9Sstevel@tonic-gate
155*7c478bd9Sstevel@tonic-gate# Declare that all library .o's can all be made in parallel.
156*7c478bd9Sstevel@tonic-gate# The DUMMY target is for those instances where OBJS and PICS
157*7c478bd9Sstevel@tonic-gate# are empty (to avoid an unconditional .PARALLEL declaration).
158*7c478bd9Sstevel@tonic-gate.PARALLEL:	$(OBJS) $(PICS) DUMMY
159*7c478bd9Sstevel@tonic-gate
160*7c478bd9Sstevel@tonic-gate# default value for "portable" source
161*7c478bd9Sstevel@tonic-gateSRCS=		$(OBJECTS:%.o=$(SRCDIR)/%.c)
162*7c478bd9Sstevel@tonic-gate
163*7c478bd9Sstevel@tonic-gate# default build of an archive and a shared object,
164*7c478bd9Sstevel@tonic-gate# overridden locally when extra processing is needed
165*7c478bd9Sstevel@tonic-gateBUILD.AR=	$(AR) $(ARFLAGS) $@ $(AROBJS)
166*7c478bd9Sstevel@tonic-gateBUILD.SO=	$(CC) -o $@ $(GSHARED) $(DYNFLAGS) $(PICS) $(LDLIBS)
167*7c478bd9Sstevel@tonic-gateBUILDCCC.SO=	$(CCC) -o $@ $(GSHARED) $(DYNFLAGS) $(PICS) $(LDLIBS)
168*7c478bd9Sstevel@tonic-gate
169*7c478bd9Sstevel@tonic-gate# default dynamic library symlink
170*7c478bd9Sstevel@tonic-gateINS.liblink=	-$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
171*7c478bd9Sstevel@tonic-gateINS.liblinkccc=	-$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKSCCC)$(VERS) $@
172*7c478bd9Sstevel@tonic-gate
173*7c478bd9Sstevel@tonic-gate# default 64-bit dynamic library symlink
174*7c478bd9Sstevel@tonic-gateINS.liblink64=	-$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
175*7c478bd9Sstevel@tonic-gateINS.liblinkccc64= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKSCCC)$(VERS) $@
176*7c478bd9Sstevel@tonic-gate
177*7c478bd9Sstevel@tonic-gate#
178*7c478bd9Sstevel@tonic-gate# If appropriate, augment POST_PROCESS_O and POST_PROCESS_SO to do CTF
179*7c478bd9Sstevel@tonic-gate# processing.  We'd like to just conditionally append to POST_PROCESS_O and
180*7c478bd9Sstevel@tonic-gate# POST_PROCESS_SO, but ParallelMake has a bug which causes the same value to
181*7c478bd9Sstevel@tonic-gate# sometimes get appended more than once, which will cause ctfconvert to fail.
182*7c478bd9Sstevel@tonic-gate# So, instead we introduce CTFCONVERT_POST and CTFMERGE_POST, which are always
183*7c478bd9Sstevel@tonic-gate# appended to POST_PROCESS_O and POST_PROCESS_SO but are no-ops unless CTF
184*7c478bd9Sstevel@tonic-gate# processing should be done.
185*7c478bd9Sstevel@tonic-gate#
186*7c478bd9Sstevel@tonic-gateCTFCONVERT_POST = :
187*7c478bd9Sstevel@tonic-gateCTFMERGE_POST	= :
188*7c478bd9Sstevel@tonic-gatePOST_PROCESS_O += ; $(CTFCONVERT_POST)
189*7c478bd9Sstevel@tonic-gatePOST_PROCESS_SO += ; $(CTFMERGE_POST)
190*7c478bd9Sstevel@tonic-gate
191*7c478bd9Sstevel@tonic-gateCTFMERGE_LIB	= $(CTFMERGE) -t -f -L VERSION -o $@ $(PICS)
192*7c478bd9Sstevel@tonic-gate
193*7c478bd9Sstevel@tonic-gate# conditional assignments
194*7c478bd9Sstevel@tonic-gate
195*7c478bd9Sstevel@tonic-gate$(OBJS)  :=	sparc_CFLAGS += -xregs=no%appl
196*7c478bd9Sstevel@tonic-gate
197*7c478bd9Sstevel@tonic-gate$(PICS)  :=	sparc_CFLAGS += -xregs=no%appl $(sparc_C_PICFLAGS)
198*7c478bd9Sstevel@tonic-gate$(PICS)  :=	sparcv9_CFLAGS += -xregs=no%appl $(sparcv9_C_PICFLAGS)
199*7c478bd9Sstevel@tonic-gate$(PICS)  :=	i386_CFLAGS += $(i386_C_PICFLAGS)
200*7c478bd9Sstevel@tonic-gate$(PICS)  :=	amd64_CFLAGS += $(amd64_C_PICFLAGS)
201*7c478bd9Sstevel@tonic-gate$(PICS)  :=	CCFLAGS += $(CC_PICFLAGS)
202*7c478bd9Sstevel@tonic-gate$(PICS)  :=	CPPFLAGS += -DPIC -D_REENTRANT
203*7c478bd9Sstevel@tonic-gate$(PICS)  :=	sparcv9_CCFLAGS += -xregs=no%appl $(sparcv9_CC_PICFLAGS)
204*7c478bd9Sstevel@tonic-gate$(PICS)  :=	amd64_CCFLAGS += $(amd64_CC_PICFLAGS)
205*7c478bd9Sstevel@tonic-gate$(PICS)  :=	CFLAGS += $(CTF_FLAGS)
206*7c478bd9Sstevel@tonic-gate$(PICS)	 :=	CFLAGS64 += $(CTF_FLAGS)
207*7c478bd9Sstevel@tonic-gate$(PICS)  :=	CTFCONVERT_POST = $(CTFCONVERT_O)
208*7c478bd9Sstevel@tonic-gate$(DYNLIB) :=	CTFMERGE_POST = $(CTFMERGE_LIB)
209*7c478bd9Sstevel@tonic-gate
210*7c478bd9Sstevel@tonic-gate$(LINTLIB):=	LOG = -DLOGGING
211*7c478bd9Sstevel@tonic-gate$(LIBRARY):=	AROBJS = $(OBJS)
212*7c478bd9Sstevel@tonic-gate$(LIBRARY):=	DIR = objs
213*7c478bd9Sstevel@tonic-gate$(DYNLIB):=	DIR = pics
214*7c478bd9Sstevel@tonic-gate$(DYNLIBCCC):=	DIR = pics
215*7c478bd9Sstevel@tonic-gate
216*7c478bd9Sstevel@tonic-gateSONAMECCC=	$(DYNLIBCCC)
217*7c478bd9Sstevel@tonic-gateHSONAMECCC=	-h $(SONAMECCC)
218*7c478bd9Sstevel@tonic-gate#
219*7c478bd9Sstevel@tonic-gate# Keep in sync with the standard DYNFLAGS
220*7c478bd9Sstevel@tonic-gate#
221*7c478bd9Sstevel@tonic-gate$(DYNLIBCCC):=	DYNFLAGS = $(HSONAMECCC) $(ZTEXT) $(ZDEFS) $(ZCOMBRELOC) \
222*7c478bd9Sstevel@tonic-gate		$(SPECMAPFILE:%=-M%) $(PGA_MAPFILE:%=-M%) $(NX_MAP:%=-M%) \
223*7c478bd9Sstevel@tonic-gate		$(NORUNPATH)
224*7c478bd9Sstevel@tonic-gate
225*7c478bd9Sstevel@tonic-gate
226*7c478bd9Sstevel@tonic-gate# build rule for "portable" source
227*7c478bd9Sstevel@tonic-gateobjs/%.o pics/%.o: %.c
228*7c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
229*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
230*7c478bd9Sstevel@tonic-gate
231*7c478bd9Sstevel@tonic-gateobjs/%.o pics/%.o: %.cc
232*7c478bd9Sstevel@tonic-gate	$(COMPILE.cc) -o $@ $<
233*7c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
234*7c478bd9Sstevel@tonic-gate
235*7c478bd9Sstevel@tonic-gate.PRECIOUS: $(LIBS)
236*7c478bd9Sstevel@tonic-gate
237*7c478bd9Sstevel@tonic-gate# Define the majority text domain in this directory.
238*7c478bd9Sstevel@tonic-gateTEXT_DOMAIN= SUNW_OST_OSLIB
239*7c478bd9Sstevel@tonic-gate
240*7c478bd9Sstevel@tonic-gate$(ROOTMAN3)/%: %.sunman
241*7c478bd9Sstevel@tonic-gate	$(INS.rename)
242*7c478bd9Sstevel@tonic-gate
243*7c478bd9Sstevel@tonic-gate#
244*7c478bd9Sstevel@tonic-gate# For library source code, we expect that some symbols may not be used or
245*7c478bd9Sstevel@tonic-gate# may *appear* to be able to rescoped to static; shut lint up.  Never add
246*7c478bd9Sstevel@tonic-gate# a flag here unless you're *sure* that all libraries need to be linted
247*7c478bd9Sstevel@tonic-gate# with it.
248*7c478bd9Sstevel@tonic-gate#
249*7c478bd9Sstevel@tonic-gateLINTCHECKFLAGS = -m -erroff=E_NAME_DEF_NOT_USED2
250*7c478bd9Sstevel@tonic-gateLINTCHECKFLAGS += -erroff=E_NAME_DECL_NOT_USED_DEF2
251*7c478bd9Sstevel@tonic-gate
252*7c478bd9Sstevel@tonic-gate#
253*7c478bd9Sstevel@tonic-gate# Spec/ABI stuff
254*7c478bd9Sstevel@tonic-gate#
255*7c478bd9Sstevel@tonic-gate# Spectranslator Target Architecture
256*7c478bd9Sstevel@tonic-gateTRANSMACH=	$(MACH)
257*7c478bd9Sstevel@tonic-gateSPECMAPFILES=	$(SPECMAPFILE:%/$(MACH64)/mapfile=%/$(MACH)/mapfile)
258*7c478bd9Sstevel@tonic-gate$(BUILD64)SPECMAPFILES += $(SPECMAPFILE:%/$(MACH)/mapfile=%/$(MACH64)/mapfile)
259*7c478bd9Sstevel@tonic-gate
260*7c478bd9Sstevel@tonic-gate#
261*7c478bd9Sstevel@tonic-gate# Allow people to define their own clobber rules.  Normal makefiles
262*7c478bd9Sstevel@tonic-gate# shouldn't override this - they should override $(CLOBBERFILES) instead.
263*7c478bd9Sstevel@tonic-gate#
264*7c478bd9Sstevel@tonic-gateCLOBBERTARGFILES= $(LIBS) $(DYNLIB) $(SPECMAPFILE) $(CLOBBERFILES)
265