Makefile revision 255601
1#	@(#)Makefile	8.1 (Berkeley) 6/4/93
2# $FreeBSD: head/lib/Makefile 255601 2013-09-15 15:55:21Z des $
3
4.include <bsd.own.mk>
5
6# To satisfy shared library or ELF linkage when only the libraries being
7# built are visible:
8#
9# csu must be built before all shared libaries for ELF.
10# libc must be built before all other shared libraries.
11# libbsm must be built before libauditd.
12# libcom_err must be built before libpam.
13# libcrypt must be built before libpam.
14# libkvm must be built before libdevstat.
15# libldns must be built before libunbound.
16# msun must be built before libg++ and libstdc++.
17# libmd must be built before libatm, libopie, libradius, and libtacplus.
18# ncurses must be built before libdialog, libedit and libreadline.
19# libnetgraph must be built before libbsnmp/modules/snmp_netgraph.
20# libopie must be built before libpam.
21# libradius must be built before libpam.
22# librpcsvc must be built before libpam.
23# libsbuf must be built before libcam.
24# libtacplus must be built before libpam.
25# libutil must be built before libpam.
26# libypclnt must be built before libpam.
27# libgssapi must be built before librpcsec_gss
28#
29# Otherwise, the SUBDIR list should be in alphabetical order.
30#
31# Except it appears bind needs to be compiled last
32
33SUBDIR_ORDERED=	${_csu} \
34	libc \
35	libbsm \
36	libauditd \
37	libcompiler_rt \
38	libcrypt \
39	libelf \
40	${_libiconv_modules} \
41	libkvm \
42	${_libldns} \
43	msun \
44	libmd \
45	ncurses \
46	${_libnetgraph} \
47	libradius \
48	librpcsvc \
49	libsbuf \
50	libtacplus \
51	libutil \
52	${_libypclnt} \
53	${_libcxxrt} \
54	${_libcplusplus}
55
56.if ${MK_KERBEROS_SUPPORT} != "no"
57SUBDIR_ORDERED+=	libcom_err
58.endif
59
60SUBDIR=	${SUBDIR_ORDERED} \
61	libalias \
62	libarchive \
63	${_libatm} \
64	libbegemot \
65	libblocksruntime \
66	${_libbluetooth} \
67	${_libbsnmp} \
68	libbz2 \
69	libcalendar \
70	libcam \
71	libcompat \
72	libdevinfo \
73	libdevstat \
74	libdwarf \
75	libedit \
76	${_libefi} \
77	libexecinfo \
78	libexpat \
79	libfetch \
80	libgeom \
81	${_libgpib} \
82	${_libgssapi} \
83	${_librpcsec_gss} \
84	${_libiconv_compat} \
85	libipsec \
86	${_libipx} \
87	libjail \
88	libkiconv \
89	liblzma \
90	libmagic \
91	libmandoc \
92	libmemstat \
93	${_libmilter} \
94	${_libmp} \
95	${_libnandfs} \
96	libnetbsd \
97	${_libngatm} \
98	libopie \
99	libpam \
100	libpcap \
101	${_libpmc} \
102	${_libproc} \
103	libprocstat \
104	librt \
105	${_librtld_db} \
106	${_libsdp} \
107	${_libsm} \
108	${_libsmb} \
109	${_libsmdb} \
110	${_libsmutil} \
111	libstand \
112	libstdbuf \
113	libstdthreads \
114	${_libtelnet} \
115	${_libthr} \
116	libthread_db \
117	libufs \
118	libugidfw \
119	libulog \
120	${_libunbound} \
121	${_libusbhid} \
122	${_libusb} \
123	${_libvgl} \
124	${_libvmmapi} \
125	libwrap \
126	liby \
127	libyaml \
128	libz \
129	${_atf} \
130	${_bind} \
131	${_clang}
132
133.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
134_csu=csu/${MACHINE_ARCH}-elf
135.elif exists(${.CURDIR}/csu/${MACHINE_ARCH})
136_csu=csu/${MACHINE_ARCH}
137.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile)
138_csu=csu/${MACHINE_CPUARCH}
139.else
140_csu=csu
141.endif
142
143# NB: keep these sorted by MK_* knobs
144
145.if ${MK_ATF} != "no"
146_atf=		atf
147.endif
148
149.if ${MK_ATM} != "no"
150_libngatm=	libngatm
151.endif
152
153.if ${MK_BIND} != "no"
154_bind=		bind
155.endif
156
157.if ${MK_BLUETOOTH} != "no"
158_libbluetooth=	libbluetooth
159_libsdp=	libsdp
160.endif
161
162.if ${MK_BSNMP} != "no"
163_libbsnmp=	libbsnmp
164.endif
165
166.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
167_clang=		clang
168.endif
169
170.if ${MK_GPIB} != "no"
171_libgpib=	libgpib
172.endif
173
174.if ${MK_GSSAPI} != "no"
175_libgssapi=	libgssapi
176_librpcsec_gss=	librpcsec_gss
177.endif
178
179.if ${MK_ICONV} != "no"
180_libiconv_modules=	libiconv_modules
181.endif
182
183.if ${MK_IPX} != "no"
184_libipx=	libipx
185.endif
186
187.if ${MK_LDNS} != "no"
188_libldns=	libldns
189.endif
190
191.if ${MK_LIBCPLUSPLUS} != "no"
192_libcxxrt=	libcxxrt
193_libcplusplus=	libc++
194.endif
195
196.if ${MK_LIBICONV_COMPAT} != "no"
197_libiconv_compat=	libiconv_compat
198.endif
199
200.if ${MK_LIBTHR} != "no"
201_libthr=	libthr
202.endif
203
204.if ${MK_NAND} != "no"
205_libnandfs=	libnandfs
206.endif
207
208.if ${MK_NETGRAPH} != "no"
209_libnetgraph=	libnetgraph
210.endif
211
212.if ${MK_NIS} != "no"
213_libypclnt=	libypclnt
214.endif
215
216.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
217_libsmb=	libsmb
218_libvgl=	libvgl
219_libproc=	libproc
220_librtld_db=	librtld_db
221.endif
222
223.if ${MACHINE_CPUARCH} == "amd64"
224_libvmmapi=	libvmmapi
225.endif
226
227.if ${MACHINE_CPUARCH} == "ia64"
228_libefi=	libefi
229_libsmb=	libsmb
230.endif
231
232.if ${MACHINE_CPUARCH} == "mips"
233_libproc=	libproc
234_librtld_db=	librtld_db
235.endif
236
237.if ${MACHINE_CPUARCH} == "powerpc"
238_libproc=	libproc
239_librtld_db=	librtld_db
240_libsmb=	libsmb
241.endif
242
243.if ${MACHINE_CPUARCH} == "sparc64"
244_libsmb=	libsmb
245.endif
246
247.if ${MK_OPENSSL} != "no"
248_libmp=		libmp
249.endif
250
251.if ${MK_PMC} != "no"
252_libpmc=	libpmc
253.endif
254
255.if ${MK_SENDMAIL} != "no"
256_libmilter=	libmilter
257_libsm=		libsm
258_libsmdb=	libsmdb
259_libsmutil=	libsmutil
260.endif
261
262.if ${MK_TELNET} != "no"
263_libtelnet=	libtelnet
264.endif
265
266.if ${MK_UNBOUND} != "no"
267_libunbound=	libunbound
268.endif
269
270.if ${MK_USB} != "no"
271_libusbhid=	libusbhid
272_libusb=	libusb
273.endif
274
275.if !defined(LIBRARIES_ONLY)
276afterinstall:
277	${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include
278.endif
279
280.include <bsd.subdir.mk>
281