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]
22 # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
25 LIBRARY = c_synonyms.a
30 include ../../Makefile.lib
31 include ../../Makefile.rootfs
36 # The use of sed is a gross hack needed because the current build system
37 # assumed that the compiler accepted linker flags (-Bfoo -zfoo and -Mfoo)
38 # directly. Here, since we're calling the linker directly, we have to
39 # discard the prefixes. Ideally, we would be using the LD_Z* and LD_B*
40 # variables instead, but that would require a lot of mucking with makefiles.
41 # So for now, we do this.
42 REMOVE_GCC_PREFIX=echo $(DYNFLAGS) | $(SED) -e 's/-Wl,//g'
43 BUILD.SO = $(LD) -o $@ -G $(REMOVE_GCC_PREFIX:sh) $(PICS) $(LDLIBS)
45 CLEANFILES += synonym_list mapfile-vers
51 pics/synonyms.o: pics .WAIT synonym_list
53 synonym_list: ../syn_common ../syn2_common syn_isa
54 $(CAT) ../syn_common syn_isa | \
55 $(SED) -e '/^#/d' -e '/^$$/d' -e 's/.*/ SYN(&)/' >synonym_list
56 $(CAT) ../syn2_common | \
57 $(SED) -e '/^#/d' -e '/^$$/d' -e 's/.*/ SYN2(&)/' >>synonym_list
59 $(DYNLIB): mapfile-vers $(PICS)
61 mapfile-vers: ../syn_common ../syn2_common syn_isa
62 echo "\$$mapfile_version 2\n\nSYMBOL_VERSION SUNWprivate_1.1 {\n" \
64 echo " global:" >>mapfile-vers
65 $(CAT) ../syn_common syn_isa | \
66 $(SED) -e '/^#/d' -e '/^$$/d' -e 's/.*/ _&;/' >>mapfile-vers
67 $(CAT) ../syn2_common | \
68 $(SED) -e '/^#/d' -e '/^$$/d' -e 's/.*/ __&;/' >>mapfile-vers
69 echo " local:\n *;\n};" >>mapfile-vers
71 BUILD.s= $(AS) $(ASFLAGS) $< -o $@
73 # include library targets
74 include ../../Makefile.targ
76 MAPFILES = mapfile-vers