]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/src.libnames.mk
Convert makefs to LIBADD
[FreeBSD/FreeBSD.git] / share / mk / src.libnames.mk
1 # $FreeBSD$
2 #
3 # The include file <src.libnames.mk> define library names suitable
4 # for INTERNALLIB and PRIVATELIB definition
5
6 .if !target(__<bsd.init.mk>__)
7 .error src.libnames.mk cannot be included directly.
8 .endif
9
10 .include <src.opts.mk>
11
12 ROOTSRCDIR=     ${.MAKE.MAKEFILES:M*/src.libnames.mk:H:H:H}
13 ROOTOBJDIR=     ${.OBJDIR:S/${.CURDIR}//}${ROOTSRCDIR}
14 _PRIVATELIBS=   \
15                 atf_c \
16                 atf_cxx \
17                 bsdstat \
18                 ldns \
19                 sqlite3 \
20                 ssh \
21                 ucl \
22                 unbound
23 _INTERNALIBS=   \
24                 mandoc \
25                 netbsd \
26                 ohash \
27                 readline \
28                 sm
29
30 _LIBRARIES=     \
31                 archive \
32                 atf_c \
33                 atf_cxx \
34                 bsdxml \
35                 bsnmp \
36                 bz2 \
37                 cam \
38                 capsicum \
39                 casper \
40                 cft \
41                 crypt \
42                 crypto \
43                 cuse \
44                 cxxrt \
45                 devstat \
46                 dialog \
47                 dpv \
48                 dwarf \
49                 edit \
50                 elf \
51                 event \
52                 execinfo \
53                 fetch \
54                 figpar \
55                 geom \
56                 gssapi \
57                 ipsec \
58                 jail \
59                 kiconv \
60                 kvm \
61                 l \
62                 ldns \
63                 lzma \
64                 m \
65                 magic \
66                 mandoc \
67                 md \
68                 memstat \
69                 mp \
70                 nandfs \
71                 ncursesw \
72                 netbsd \
73                 nv \
74                 opie \
75                 pam \
76                 pcap \
77                 pjdlog \
78                 proc \
79                 procstat \
80                 pthread \
81                 radius \
82                 readline \
83                 rpcsec_gss \
84                 rt \
85                 sbuf \
86                 sm \
87                 smb \
88                 ssh \
89                 ssl \
90                 stdthreads \
91                 supcplusplus \
92                 tacplus \
93                 termcapw \
94                 ucl \
95                 ufs \
96                 ulog \
97                 usb \
98                 util \
99                 wrap \
100                 y \
101                 z
102
103 _DP_archive=    z bz2 lzma bsdxml
104 .if ${MK_OPENSSL} != "no"
105 _DP_archive+=   crypto
106 .else
107 _DP_archive+=   md
108 .endif
109 _DP_ssl=        crypto
110 _DP_ssh=        crypto crypt
111 _DP_edit=       edit
112 .if ${MK_OPENSSL} != "no"
113 _DP_bsnmp=      crypto
114 .endif
115 _DP_grom=       bsdxml sbuf
116 _DP_cam=        sbuf
117 _DP_casper=     capsicum nv pjdlog
118 _DP_capsicum=   nv
119 _DP_pjdlog=     util
120 _DP_opie=       md
121 _DP_usb=        pthread
122 _DP_unbound=    pthread
123 _DP_rt= pthread
124 .if ${MK_OPENSSL} == "no"
125 _DP_radius=     md
126 .else
127 _DP_radius=     crypto
128 .endif
129 _DP_procstat=   kvm util elf
130 .if ${MK_CXX} == "yes"
131 .if ${MK_LIBCPLUSPLUS} != "no"
132 _DP_proc=       cxxrt
133 .else
134 _DP_proc=       supcplusplus
135 .endif
136 .endif
137 .if ${MK_CDDL} != "no"
138 _DP_proc+=      cft
139 .endif
140 _DP_mp= crypto
141 _DP_memstat=    kvm
142 _DP_magic=      z
143 _DP_ldns=       crypto
144 .if ${MK_OPENSSL} != "no"
145 _DP_fetch=      ssl crypto
146 .else
147 _DP_fetch=      md
148 .endif
149 _DP_execinfo=   elf
150 _DP_dwarf=      elf
151 _DP_dpv=        dialog figpar util
152 _DP_dialog=     ncursesw m
153 _DP_cuse=       pthread
154 _DP_atf_cxx=    atf_c
155 _DP_devstat=    kvm
156
157 # Define spacial cases
158 LDADD_supcplusplus=     -lsupc++
159
160 .for _l in ${_LIBRARIES}
161 .if ${_PRIVATELIBS:M${_l}}
162 LDADD_${_l}_L+=         -L${LIB${_l:tu}DIR}
163 .endif
164 .if ${_INTERNALIBS:M${_l}}
165 LDADD_${_l}_L+=         -L${LIB${_l:tu}DIR}
166 .endif
167 DPADD_${_l}?=   ${LIB${_l:tu}}
168 LDADD_${_l}?=   ${LDADD_${_l}_L} -l${_l}
169 .if defined(${_l}_depend) && defined(NO_SHARED)
170 .for _d in ${_DP_${_l}}
171 DPADD_${_l}+=   ${DPADD_${_d}}
172 LDADD_${_l}+=   ${LDADD_${_d}}
173 .endfor
174 .endif
175 .endfor
176
177 # ucl needs and exposes libm
178 DPADD_ucl+=     ${DPADD_m}
179 LDADD_ucl+=     ${LDADD_m}
180
181 .for _l in ${LIBADD}
182 .if ${_PRIVATELIBS:M${_l}}
183 USEPRIVATELIB+= ${_l}
184 .endif
185 DPADD+=         ${DPADD_${_l}}
186 LDADD+=         ${LDADD_${_l}}
187 .endfor
188
189 LIBATF_CDIR=    ${ROOTOBJDIR}/lib/atf/libatf-c
190 LDATF_C?=       ${LIBATF_CDIR}/libatf-c.so
191 LIBATF_C?=      ${LIBATF_CDIR}/libatf-c.a
192
193 LIBATF_CXXDIR=  ${ROOTOBJDIR}/lib/atf/libatf-c++
194 LDATF_CXX?=     ${LIBATF_CXXDIR}/libatf-c++.so
195 LIBATF_CXX?=    ${LIBATF_CXXDIR}/libatf-c++.a
196
197 LIBBSDSTATDIR=  ${ROOTOBJDIR}/lib/libbsdstat
198 LDBSDSTAT?=     ${LIBBSDSTATDIR}/libbsdstat.so
199 LIBBSDSTAT?=    ${LIBBSDSTATDIR}/libbsdstat.a
200
201 LIBEVENTDIR=    ${ROOTOBJDIR}/lib/libevent
202 LDEVENT?=       ${LIBEVENTDIR}/libevent.a
203 LIBEVENT?=      ${LIBEVENTDIR}/libevent.a
204
205 LIBHEIMIPCCDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcc
206 LDHEIMIPCC?=    ${LIBHEIMIPCCDIR}/libheimipcc.so
207 LIBHEIMIPCC?=   ${LIBHEIMIPCCDIR}/libheimipcc.a
208
209 LIBHEIMIPCSDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcs
210 LDHEIMIPCS?=    ${LIBHEIMIPCSDIR}/libheimipcs.so
211 LIBHEIMIPCS?=   ${LIBHEIMIPCSDIR}/libheimipcs.a
212
213 LIBLDNSDIR=     ${ROOTOBJDIR}/lib/libldns
214 LDLDNS?=        ${LIBLDNSDIR}/libldns.so
215 LIBLDNS?=       ${LIBLDNSDIR}/libldns.a
216
217 LIBSSHDIR=      ${ROOTOBJDIR}/secure/lib/libssh
218 LDSSH?=         ${LIBSSHDIR}/libssh.so
219 LIBSSH?=        ${LIBSSHDIR}/libssh.a
220
221 LIBUNBOUNDDIR=  ${ROOTOBJDIR}/lib/libunbound
222 LDUNBOUND?=     ${LIBUNBOUNDDIR}/libunbound.so
223 LIBUNBOUND?=    ${LIBUNBOUNDDIR}/libunbound.a
224
225 LIBUCLDIR=      ${ROOTOBJDIR}/lib/libucl
226 LDUCL?=         ${LIBUCLDIR}/libucl.so
227 LIBUCL?=        ${LIBUCLDIR}/libucl.a
228
229 LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
230 LDREADLINE?=    ${LIBREADLINEDIR}/libreadline.a
231 LIBREADLINE?=   ${LIBREADLINEDIR}/libreadline.a
232
233 LIBOHASHDIR=    ${ROOTOBJDIR}/lib/libohash
234 LDOHASH?=       ${LIBOHASHDIR}/libohash.a
235 LIBOHASH?=      ${LIBOHASHDIR}/libohash.a
236
237 LIBSQLITE3DIR=  ${ROOTOBJDIR}/lib/libsqlite3
238 LDSQLITE3?=     ${LIBSQLITE3DIR}/libsqlite3.so
239 LIBSQLITE3?=    ${LIBSQLITE3DIR}/libsqlite3.a
240
241 LIBMANDOCDIR=   ${ROOTOBJDIR}/lib/libmandoc
242 LIBMANDOC?=     ${LIBMANDOCDIR}/libmandoc.a
243
244 LIBSMDIR=       ${ROOTOBJDIR}/lib/libsm
245 LDSM?=          ${LIBSMDIR}/libsm.a
246 LIBSM?=         ${LIBSMDIR}/libsm.a
247
248 LIBNETBSDDIR=   ${ROOTOBJDIR}/lib/libnetbsd
249 LIBNETBSD=      ${ROOTOBJDIR}/libnetbsd.a