6069 libdisasm: instrlen arch op should have a sane default
[illumos-gate.git] / usr / src / lib / Makefile.filter.com
blobea1c708955593c3f91161613d86d9b041805c5b8
2 # CDDL HEADER START
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
19 # CDDL HEADER END
22 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23 # Use is subject to license terms.
25 # Makefile.filter.com and Makefile.filter.targ provide centralized Makefiles
26 # for driving the creation of standard shared object filters.  This class of
27 # filter contains absolutely no implementation (code), instead associating all
28 # symbol definitions to an alternative shared object (filtee).
30 # Standard filters are commonly used to preserve previously documented system
31 # interfaces when moving symbol definitions from one library to another.  They
32 # are analogous to the way symbolic links are used in the system to preserve
33 # well known file names.  For example, the Unified Process Model folded threads
34 # processing into libc.so.1, and left standard filters /lib/lib[p]thread.so.1
35 # in place.  These filters are built under usr/src/lib/lib[p]thread, and serve
36 # as typical examples.
38 # A typical Makefile.com for building a standard filter library contains:
40 #   % cat Makefile.com
41 #   ...
42 #   LIBRARY =      libxxxx.a
43 #   VERS =         .1
45 #   include        $(SRC)/lib/Makefile.rootfs           (1)
47 #   LIBS +=        $(LINTLIB)                           (2)
48 #   DYNFLAGS +=    -F filtee                            (3)
49 #   MAPFILEDIR =   .                                    (4)
51 # 1.  Use Makefile.rootfs when destination is /lib (rather than /usr/lib).
52 # 2.  Add LINTLIB when a lint library is produced.
53 # 3.  Customize DYNFLAGS to indicate filtee name.
54 # 4.  Change MAPFILEDIR if mapfiles are not under ../common.
56 # The typical use of Makefile.filter.com and Makefile.filter.targ is through
57 # inclusion from a standard filters machine specific Makefiles:
59 #   % cat $(MACH)/Makefile
60 #   ...
61 #   include        $(SRC)/lib/Makefile.filter.com
62 #   include        ../Makefile.com
63 #   include        (SRC)/lib/Makefile.lib.64            (1)
65 #   DYNFLAGS +=    -h libyyyyy.so.1                     (2)
67 #   install        all $(ROOT......
69 #   include        $(SRC)/lib/Makefile.filter.targ
71 # 1.  Use Makefile.lib.64 for 64-bit builds.
72 # 2.  Customize DYNFLAGS for $MACH if necessary.  
75 include         $(SRC)/lib/Makefile.lib
77 # Define common flags, that override or append to Makefile.lib rules.
79 DYNFLAGS +=     $(ZNODUMP) $(ZNOLDYNSYM)
80 LIBS =          $(DYNLIB)
81 SRCDIR =        ../common
82 MAPFILES +=     $(MAPFILE.FLT)