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