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