Print this page
lib: move compat links from targetdirs to proper makefiles
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/lib/libumem/Makefile.com
+++ new/usr/src/lib/libumem/Makefile.com
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 23 # Use is subject to license terms.
24 24 #
25 25 # Copyright (c) 2019, Joyent, Inc.
26 26 #
27 27
28 28 #
29 29 # The build process for libumem is sightly different from that used by other
30 30 # libraries, because libumem must be built in two flavors - as a standalone
31 31 # for use by kmdb and as a normal library. We use $(CURTYPE) to indicate the
32 32 # current flavor being built.
33 33 #
34 34
35 35 LIBRARY = libumem.a
36 36 STANDLIBRARY = libstandumem.so
37 37 VERS = .1
38 38
39 39 # By default, we build the shared library. Construction of the standalone
40 40 # is specifically requested by architecture-specific Makefiles.
41 41 TYPES = library
42 42 CURTYPE = library
43 43
44 44 # This would be much prettier if a) Makefile.lib didn't reqire both $(SRCS) and
45 45 # $(OBJECTS) to be set or b) make gave us a nice way to do basename in pattern
46 46 # replacement definitions.
47 47
48 48 # Files specific to the library version of libumem
49 49 OBJECTS_library = \
50 50 init_lib.o \
51 51 umem_agent_support.o \
52 52 umem_fail.o \
53 53 umem_fork.o \
54 54 umem_genasm.o \
55 55 umem_update_thread.o \
56 56 vmem_mmap.o \
57 57 vmem_sbrk.o
58 58
59 59 SRCS_common_library = \
60 60 $(ISASRCDIR)/umem_genasm.c
61 61
62 62 SRCS_library = $(OBJECTS_library:%.o=../common/%.c) $(SRC_common_library)
63 63
64 64 # Files specific to the standalone version of libumem
65 65 OBJECTS_standalone = \
66 66 init_stand.o \
67 67 stub_stand.o \
68 68 vmem_stand.o
69 69
70 70 SRCS_standalone = $(OBJECTS_standalone:%.o=../common/%.c)
71 71
72 72 # Architecture-dependent files common to both versions of libumem
73 73 OBJECTS_common_isadep = \
74 74 asm_subr.o
75 75
76 76 SRCS_common_isadep = \
77 77 $(ISASRCDIR)/asm_subr.s
78 78
79 79 # Architecture-independent files common to both versions of libumem
80 80 OBJECTS_common_common = \
81 81 envvar.o \
82 82 getpcstack.o \
83 83 malloc.o \
84 84 misc.o \
85 85 vmem_base.o \
86 86 umem.o \
87 87 vmem.o
88 88
89 89 SRCS_common_common = $(OBJECTS_common_common:%.o=../common/%.c)
90 90
91 91 OBJECTS = \
92 92 $(OBJECTS_$(CURTYPE)) \
93 93 $(OBJECTS_common_isadep) \
94 94 $(OBJECTS_common_common)
95 95
96 96 include ../../Makefile.lib
97 97 include ../../Makefile.rootfs
98 98
99 99 SRCS = \
100 100 $(SRCS_$(CURTYPE)) \
101 101 $(SRCS_common_common)
102 102
103 103 SRCDIR = ../common
104 104
105 105 #
106 106 # Used to verify that the standalone doesn't have any unexpected external
107 107 # dependencies.
108 108 #
109 109 LINKTEST_OBJ = objs/linktest_stand.o
110 110
111 111 CLOBBERFILES_standalone = $(LINKTEST_OBJ)
112 112 CLOBBERFILES += $(CLOBBERFILES_$(CURTYPE))
113 113
114 114 LIBS_standalone = $(STANDLIBRARY)
115 115 LIBS_library = $(DYNLIB) $(LINTLIB)
116 116 LIBS = $(LIBS_$(CURTYPE))
117 117
118 118 MAPFILE_SUPPLEMENTAL_standalone = ../common/stand_mapfile
119 119 MAPFILE_SUPPLEMENTAL = $(MAPFILE_SUPPLEMENTAL_$(CURTYPE))
120 120
121 121 LDLIBS += -lc
122 122
123 123 LDFLAGS_standalone = $(ZNOVERSION) $(BREDUCE) -M../common/mapfile-vers \
124 124 -M$(MAPFILE_SUPPLEMENTAL) -dy -r
125 125 LDFLAGS = $(LDFLAGS_$(CURTYPE))
126 126
127 127 ASFLAGS_standalone = -DUMEM_STANDALONE
128 128 ASFLAGS_library =
129 129 ASFLAGS += -P $(ASFLAGS_$(CURTYPE)) -D_ASM
130 130
131 131 $(LINTLIB) := SRCS = ../common/$(LINTSRC)
132 132
133 133 # We want the thread-specific errno in the library, but we don't want it in
134 134 # the standalone. $(DTS_ERRNO) is designed to add -D_TS_ERRNO to $(CPPFLAGS),
135 135 # in order to enable this feature. Conveniently, -D_REENTRANT does the same
136 136 # thing. As such, we null out $(DTS_ERRNO) to ensure that the standalone
137 137 # doesn't get it.
138 138 DTS_ERRNO=
139 139
140 140 # We need to rename some standard functions so we can easily implement them
141 141 # in consumers.
142 142 STAND_RENAMED_FUNCS= \
143 143 atomic_add_64 \
144 144 atomic_add_32_nv \
145 145 atomic_swap_64 \
146 146 snprintf \
147 147 vsnprintf
148 148
149 149 CPPFLAGS_standalone = -DUMEM_STANDALONE $(STAND_RENAMED_FUNCS:%=-D%=umem_%)
↓ open down ↓ |
149 lines elided |
↑ open up ↑ |
150 150 CPPFLAGS_library = -D_REENTRANT
151 151 CPPFLAGS += -I../common -I../../common/inc $(CPPFLAGS_$(CURTYPE))
152 152
153 153 CFLAGS_standalone = $(STAND_FLAGS_32)
154 154 CFLAGS_common =
155 155 CFLAGS += $(CFLAGS_$(CURTYPE)) $(CFLAGS_common)
156 156
157 157 CFLAGS64_standalone = $(STAND_FLAGS_64)
158 158 CFLAGS64 += $(CCVERBOSE) $(CFLAGS64_$(CURTYPE)) $(CFLAGS64_common)
159 159
160 -INSTALL_DEPS_library = $(ROOTLINKS) $(ROOTLINT) $(ROOTLIBS)
160 +INSTALL_DEPS_library = $(ROOTLINKS) $(ROOTLINT) $(ROOTLIBS) $(ROOTCOMPATLINKS)
161 161
162 162 #
163 163 # turn off ptr-cast warnings, since we do them all the time
164 164 #
165 165 LINTFLAGS += -erroff=E_BAD_PTR_CAST_ALIGN
166 166 LINTFLAGS64 += -erroff=E_BAD_PTR_CAST_ALIGN
167 167
168 168 DYNFLAGS += $(ZINTERPOSE)
169 169
170 170 .KEEP_STATE:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX