Makefile revision 227983
166458Sdfr#	@(#)Makefile	8.1 (Berkeley) 6/4/93
2137708Smarcel# $FreeBSD: head/lib/Makefile 227983 2011-11-25 20:59:04Z theraven $
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 ibauditd.
12# libcom_err must be built before libpam.
13# libcrypt must be built before libpam.
14# libkvm must be built before libdevstat.
15# msun must be built before libg++ and libstdc++.
16# libmd must be built before libatm, libopie, libradius, and libtacplus.
17# ncurses must be built before libdialog, libedit and libreadline.
18# libnetgraph must be built before libbsnmp/modules/snmp_netgraph.
19# libopie must be built before libpam.
20# libradius must be built before libpam.
21# librpcsvc must be built before libpam.
22# libsbuf must be built before libcam.
23# libtacplus must be built before libpam.
24# libutil must be built before libpam.
25# libypclnt must be built before libpam.
26# libgssapi must be built before librpcsec_gss
27#
28# Otherwise, the SUBDIR list should be in alphabetical order.
29#
30# Except it appears bind needs to be compiled last
31
32SUBDIR_ORDERED=	${_csu} \
33	libc \
34	libbsm \
35	libauditd \
36	libcom_err \
37	libcompiler_rt \
38	libcrypt \
39	libelf \
40	${_libiconv_modules} \
41	libkvm \
42	msun \
43	libmd \
44	ncurses \
45	${_libnetgraph} \
46	libradius \
47	librpcsvc \
48	libsbuf \
49	libtacplus \
50	libutil \
51	${_libypclnt}
52
53.if ${MK_LIBCPLUSPLUS} != "no"
54SUBDIR_ORDERED+=libcxxrt\
55	libc++
56.endif
57
58
59SUBDIR=	${SUBDIR_ORDERED} \
60	libalias \
61	libarchive \
62	${_libatm} \
63	libbegemot \
64	libblocksruntime \
65	${_libbluetooth} \
66	${_libbsnmp} \
67	libbz2 \
68	libcalendar \
69	libcam \
70	libcompat \
71	libdevinfo \
72	libdevstat \
73	libdisk \
74	libdwarf \
75	libedit \
76	${_libefi} \
77	libexpat \
78	libfetch \
79	libgeom \
80	${_libgpib} \
81	${_libgssapi} \
82	${_librpcsec_gss} \
83	libipsec \
84	${_libipx} \
85	libjail \
86	libkiconv \
87	liblzma \
88	libmagic \
89	libmemstat \
90	${_libmilter} \
91	${_libmp} \
92	${_libncp} \
93	${_libngatm} \
94	libopie \
95	libpam \
96	libpcap \
97	${_libpmc} \
98	${_libproc} \
99	libprocstat \
100	librt \
101	${_librtld_db} \
102	${_libsdp} \
103	${_libsm} \
104	${_libsmb} \
105	${_libsmdb} \
106	${_libsmutil} \
107	libstand \
108	${_libtelnet} \
109	${_libthr} \
110	libthread_db \
111	libufs \
112	libugidfw \
113	libulog \
114	${_libusbhid} \
115	${_libusb} \
116	${_libvgl} \
117	libwrap \
118	liby \
119	libz \
120	${_bind} \
121	${_clang}
122
123.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
124_csu=csu/${MACHINE_ARCH}-elf
125.elif exists(${.CURDIR}/csu/${MACHINE_ARCH})
126_csu=csu/${MACHINE_ARCH}
127.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile)
128_csu=csu/${MACHINE_CPUARCH}
129.else
130_csu=csu
131.endif
132
133# NB: keep these sorted by MK_* knobs
134
135.if ${MK_ATM} != "no"
136_libngatm=	libngatm
137.endif
138
139.if ${MK_BIND} != "no"
140_bind=		bind
141.endif
142
143.if ${MK_BLUETOOTH} != "no"
144_libbluetooth=	libbluetooth
145_libsdp=	libsdp
146.endif
147
148.if ${MK_BSNMP} != "no"
149_libbsnmp=	libbsnmp
150.endif
151
152.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
153_clang=		clang
154.endif
155
156.if ${MK_GPIB} != "no"
157_libgpib=	libgpib
158.endif
159
160.if ${MK_GSSAPI} != "no"
161_libgssapi=	libgssapi
162_librpcsec_gss=	librpcsec_gss
163.endif
164
165.if ${MK_ICONV} != "no"
166_libiconv_modules=	libiconv_modules
167.endif
168
169.if ${MK_IPX} != "no"
170_libipx=	libipx
171.endif
172
173.if ${MK_LIBTHR} != "no"
174_libthr=	libthr
175.endif
176
177.if ${MK_NETGRAPH} != "no"
178_libnetgraph=	libnetgraph
179.endif
180
181.if ${MK_NIS} != "no"
182_libypclnt=	libypclnt
183.endif
184
185.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
186.if ${MK_NCP} != "no"
187_libncp=	libncp
188.endif
189_libsmb=	libsmb
190_libvgl=	libvgl
191_libproc=	libproc
192_librtld_db=	librtld_db
193.endif
194
195.if ${MACHINE_CPUARCH} == "ia64"
196_libefi=	libefi
197_libsmb=	libsmb
198.endif
199
200.if ${MACHINE_CPUARCH} == "powerpc"
201_libsmb=	libsmb
202.endif
203
204.if ${MACHINE_CPUARCH} == "sparc64"
205_libsmb=	libsmb
206.endif
207
208.if ${MK_OPENSSL} != "no"
209_libmp=		libmp
210.endif
211
212.if ${MK_PMC} != "no"
213_libpmc=	libpmc
214.endif
215
216.if ${MK_SENDMAIL} != "no"
217_libmilter=	libmilter
218_libsm=		libsm
219_libsmdb=	libsmdb
220_libsmutil=	libsmutil
221.endif
222
223.if ${MK_TELNET} != "no"
224_libtelnet=	libtelnet
225.endif
226
227.if ${MK_USB} != "no"
228_libusbhid=	libusbhid
229_libusb=	libusb
230.endif
231
232.include <bsd.subdir.mk>
233