xref: /freebsd/lib/Makefile (revision 675be9115aae86ad6b3d877155d4fd7822892105)
1#	@(#)Makefile	8.1 (Berkeley) 6/4/93
2# $FreeBSD$
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	${_libcxxrt} \
53	${_libcplusplus}
54
55SUBDIR=	${SUBDIR_ORDERED} \
56	libalias \
57	libarchive \
58	${_libatm} \
59	libbegemot \
60	libblocksruntime \
61	${_libbluetooth} \
62	${_libbsnmp} \
63	libbz2 \
64	libcalendar \
65	libcam \
66	libcompat \
67	libdevinfo \
68	libdevstat \
69	libdisk \
70	libdwarf \
71	libedit \
72	${_libefi} \
73	libexpat \
74	libfetch \
75	libgeom \
76	${_libgpib} \
77	${_libgssapi} \
78	${_librpcsec_gss} \
79	libipsec \
80	${_libipx} \
81	libjail \
82	libkiconv \
83	liblzma \
84	libmagic \
85	libmemstat \
86	${_libmilter} \
87	${_libmp} \
88	${_libncp} \
89	${_libngatm} \
90	libopie \
91	libpam \
92	libpcap \
93	${_libpmc} \
94	${_libproc} \
95	libprocstat \
96	librt \
97	${_librtld_db} \
98	${_libsdp} \
99	${_libsm} \
100	${_libsmb} \
101	${_libsmdb} \
102	${_libsmutil} \
103	libstand \
104	${_libtelnet} \
105	${_libthr} \
106	libthread_db \
107	libufs \
108	libugidfw \
109	libulog \
110	${_libusbhid} \
111	${_libusb} \
112	${_libvgl} \
113	libwrap \
114	liby \
115	libz \
116	${_bind} \
117	${_clang}
118
119.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
120_csu=csu/${MACHINE_ARCH}-elf
121.elif exists(${.CURDIR}/csu/${MACHINE_ARCH})
122_csu=csu/${MACHINE_ARCH}
123.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile)
124_csu=csu/${MACHINE_CPUARCH}
125.else
126_csu=csu
127.endif
128
129# NB: keep these sorted by MK_* knobs
130
131.if ${MK_ATM} != "no"
132_libngatm=	libngatm
133.endif
134
135.if ${MK_BIND} != "no"
136_bind=		bind
137.endif
138
139.if ${MK_BLUETOOTH} != "no"
140_libbluetooth=	libbluetooth
141_libsdp=	libsdp
142.endif
143
144.if ${MK_BSNMP} != "no"
145_libbsnmp=	libbsnmp
146.endif
147
148.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
149_clang=		clang
150.endif
151
152.if ${MK_GPIB} != "no"
153_libgpib=	libgpib
154.endif
155
156.if ${MK_GSSAPI} != "no"
157_libgssapi=	libgssapi
158_librpcsec_gss=	librpcsec_gss
159.endif
160
161.if ${MK_ICONV} != "no"
162_libiconv_modules=	libiconv_modules
163.endif
164
165.if ${MK_IPX} != "no"
166_libipx=	libipx
167.endif
168
169.if ${MK_LIBTHR} != "no"
170_libthr=	libthr
171.endif
172
173.if ${MK_NETGRAPH} != "no"
174_libnetgraph=	libnetgraph
175.endif
176
177.if ${MK_NIS} != "no"
178_libypclnt=	libypclnt
179.endif
180
181.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
182.if ${MK_NCP} != "no"
183_libncp=	libncp
184.endif
185_libsmb=	libsmb
186_libvgl=	libvgl
187_libproc=	libproc
188_librtld_db=	librtld_db
189.endif
190
191.if ${MACHINE_CPUARCH} == "ia64"
192_libefi=	libefi
193_libsmb=	libsmb
194.endif
195
196.if ${MACHINE_CPUARCH} == "powerpc"
197_libsmb=	libsmb
198.endif
199
200.if ${MACHINE_CPUARCH} == "sparc64"
201_libsmb=	libsmb
202.endif
203
204.if ${MK_OPENSSL} != "no"
205_libmp=		libmp
206.endif
207
208.if ${MK_LIBCPLUSPLUS} != "no"
209_libcxxrt=	libcxxrt
210_libcplusplus=	libc++
211.endif
212
213.if ${MK_PMC} != "no"
214_libpmc=	libpmc
215.endif
216
217.if ${MK_SENDMAIL} != "no"
218_libmilter=	libmilter
219_libsm=		libsm
220_libsmdb=	libsmdb
221_libsmutil=	libsmutil
222.endif
223
224.if ${MK_TELNET} != "no"
225_libtelnet=	libtelnet
226.endif
227
228.if ${MK_USB} != "no"
229_libusbhid=	libusbhid
230_libusb=	libusb
231.endif
232
233.include <bsd.subdir.mk>
234