1# $NetBSD: Makefile,v 1.188 2012/08/17 16:22:27 joerg Exp $ 2# from: @(#)Makefile 5.25.1.1 (Berkeley) 5/7/91 3 4.include <bsd.own.mk> 5 6SUBDIR= csu .WAIT 7 8.if (${MKGCC} != "no") 9. if ${HAVE_GCC} == 4 10. if (${USE_COMPILERCRTSTUFF} == "yes") 11SUBDIR+= ../gnu/lib/crtstuff4 .WAIT 12. endif 13SUBDIR+= ../gnu/lib/libgcc4 .WAIT 14. else 15. if (${USE_COMPILERCRTSTUFF} == "yes") 16SUBDIR+= ../external/gpl3/gcc/lib/crtstuff .WAIT 17. endif 18SUBDIR+= ../external/gpl3/gcc/lib/libgcc .WAIT 19. endif 20.endif 21 22SUBDIR+= libc 23SUBDIR+= .WAIT 24 25# 26# The SUBDIRs above are included here for completeness but should be built 27# and installed prior to make(dependall) in this file, as libraries listed 28# below will depend on versions from DESTDIR only. 29# 30 31SUBDIR+= i18n_module 32 33SUBDIR+= libarch \ 34 libbluetooth libbsdmalloc libbz2 \ 35 libcompat libcrypt \ 36 libintl libipsec libisns libkvm libm \ 37 libossaudio libpci libpmc libposix libprop libpthread \ 38 libpthread_dbg libpuffs libresolv librmt librpcsvc librt \ 39 libtelnet libterminfo \ 40 libusbhid libutil libwrap liby libz 41 42.if (${MKRUMP} != "no") 43SUBDIR+= librumpclient 44.endif 45.if (${MKSKEY} != "no") 46SUBDIR+= libskey 47.endif 48 49.if (${MKCRYPTO} != "no") 50SUBDIR+= ../crypto/external/bsd/netpgp/libmj 51.endif 52 53.if (${MKMDNS} != "no") 54SUBDIR+= ../external/apache2/mDNSResponder/lib 55.endif 56 57SUBDIR+= ../external/bsd/am-utils/lib 58 59SUBDIR+= ../external/bsd/flex/lib 60SUBDIR+= ../external/bsd/tre/lib 61SUBDIR+= ../external/bsd/libdwarf/lib 62SUBDIR+= ../external/bsd/libelf/lib 63SUBDIR+= ../external/bsd/libevent/lib 64SUBDIR+= ../external/bsd/liblzf/lib 65SUBDIR+= ../external/bsd/libpcap/lib 66 67SUBDIR+= ../external/mit/lua/lib 68SUBDIR+= ../external/mit/expat/lib 69 70SUBDIR+= ../external/public-domain/sqlite/lib 71SUBDIR+= ../external/public-domain/xz/lib 72 73SUBDIR+= ../gnu/lib/libmalloc 74 75.if (${MKGCC} != "no") 76. if ${HAVE_GCC} == 4 77SUBDIR+= ../gnu/lib/libobjc4 78. else 79SUBDIR+= ../external/gpl3/gcc/lib/libobjc 80SUBDIR+= ../external/gpl3/gcc/lib/libgomp 81. endif 82. if ${HAVE_GCC} >= 45 && !defined(MLIBDIR) 83# Should probably move GMP, MPFR and MPC builds into the GCC >= 4.5 84# specific build area, but we get better parallelism this way. 85SUBDIR+= ../external/lgpl3/gmp/lib/libgmp 86SUBDIR+= ../external/lgpl3/mpfr/lib/libmpfr 87SUBDIR+= ../external/lgpl2/mpc/lib/libmpc 88. endif 89.endif 90 91# 92# Libraries that depend upon any listed previously 93# (and those that depend upon these [and ...]) 94# 95#==================== 1st library dependency barrier ==================== 96SUBDIR+= .WAIT 97 98SUBDIR+= libcurses # depends on libterminfo 99SUBDIR+= libdm # depends on libprop 100SUBDIR+= libedit # depends on libterminfo 101SUBDIR+= libexecinfo # depends on libelf 102SUBDIR+= libppath # depends on libprop 103SUBDIR+= libperfuse # depends on libpuffs 104SUBDIR+= libquota # depends on libprop and librpcsvc 105SUBDIR+= librefuse # depends on libpuffs 106.if (${MKRUMP} != "no") 107SUBDIR+= librumpuser # depends on libpthread 108SUBDIR+= librumphijack # depends on librumpclient and libpthread 109.endif 110 111.if (${MKNPF} != "no") 112SUBDIR+= libnpf # depends on libprop 113.endif 114 115.if (${MKCRYPTO} != "no") 116SUBDIR+= ../crypto/external/bsd/openssl/lib # depends on libcrypt 117.endif 118 119SUBDIR+= ../external/bsd/file/lib # depends on libz 120 121.if (${MKISCSI} != "no") 122SUBDIR+= ../external/bsd/iscsi/lib # depends on libpthread 123.endif 124 125SUBDIR+= ../external/bsd/libarchive/lib # depends on libxz 126 127.if (${MKLVM} != "no") 128SUBDIR+= ../external/gpl2/lvm2/lib # depends on libprop 129.endif 130 131.if (${MKBINUTILS} != "no") 132SUBDIR+= ../external/gpl3/binutils/lib # libbfd depends on libz 133.endif 134 135.if (${MKGCC} != "no" && ${MKCXX} != "no") 136. if ${HAVE_GCC} == 4 137SUBDIR+= ../gnu/lib/libstdc++-v3_4 # depends on libm 138SUBDIR+= ../gnu/lib/libsupc++4 139. else 140SUBDIR+= ../external/gpl3/gcc/lib/libstdc++-v3 141SUBDIR+= ../external/gpl3/gcc/lib/libsupc++ 142. endif 143.endif 144 145#==================== 2nd library dependency barrier ==================== 146SUBDIR+= .WAIT 147 148.if (${MKATF} != "no") 149SUBDIR+= ../external/bsd/atf/lib # depends on libstdc++ 150.endif 151 152SUBDIR+= libform # depends on libcurses 153SUBDIR+= libmenu # depends on libcurses 154SUBDIR+= libradius # depends on libcrypto if (${MKCRYPTO} != "no") 155.if (${MKRUMP} != "no") 156SUBDIR+= librump # depends on librumpuser 157.endif 158 159.if (${MKKERBEROS} != "no") 160SUBDIR+= ../crypto/external/bsd/heimdal/lib # depends on libcrypto 161 # libedit, libterminfo, 162.endif 163 164.if (${MKCRYPTO} != "no") 165SUBDIR+= ../crypto/external/bsd/openssh/lib # depends on libcrypto, libz 166SUBDIR+= ../crypto/external/bsd/netpgp/lib # depends on libcrypto, ... 167.endif 168 169SUBDIR+= ../external/bsd/bind/lib # depends on libcrypto 170SUBDIR+= ../external/bsd/fetch/lib # depends on libssl 171 172.if (${MKLDAP} != "no") 173SUBDIR+= ../external/bsd/openldap/lib # depends on libcrypto, ... 174.endif 175 176#==================== 3rd library dependency barrier ==================== 177SUBDIR+= .WAIT 178 179.if (${MKRUMP} != "no") 180SUBDIR+= librumpdev # depends on librump 181SUBDIR+= librumpnet # depends on librump 182SUBDIR+= librumpvfs # depends on librump 183.endif 184 185.if (${MKPAM} != "no") 186SUBDIR+= libpam # depends on heimdal 187.endif 188 189.if (${MKCRYPTO} != "no") 190SUBDIR+= ../crypto/external/bsd/libsaslc # depends on heimdal, openssl 191.endif 192 193SUBDIR+= ../external/bsd/mdocml/lib 194 195.if (${MKRUMP} != "no") 196#==================== 4th library dependency barrier ==================== 197SUBDIR+= .WAIT 198 199SUBDIR+= libukfs # depends on librumpvfs, librump 200 201#==================== 5th library dependency barrier ==================== 202SUBDIR+= .WAIT 203 204SUBDIR+= libp2k # depends on libukfs, librumpvfs, libpuffs 205 206.if !defined(BSD_MK_COMPAT_FILE) 207SUBDIR+= ../sys/rump/dev/lib 208SUBDIR+= ../sys/rump/fs/lib 209SUBDIR+= ../sys/rump/kern/lib 210SUBDIR+= ../sys/rump/net/lib 211.endif 212.endif 213 214# Lua bindings come last, they might depend on anything 215SUBDIR+= lua 216 217# 218# build_install logic for src/Makefile. 219# Compute a list of subdirectories delimited by .WAIT. 220# Run "make dependall && make install" for all subdirectories in a group 221# concurrently, but wait after each group. 222# 223SUBDIR_GROUPS= 1 224CUR_GROUP:= 1 225.for dir in ${SUBDIR} 226. if ${dir} == ".WAIT" 227CUR_GROUP:= ${CUR_GROUP}1 228SUBDIR_GROUPS:= ${SUBDIR_GROUPS} ${CUR_GROUP} 229. else 230SUBDIR_GROUP.${CUR_GROUP}+= ${dir} 231.endif 232 233.endfor 234 235build_install: 236.for group in ${SUBDIR_GROUPS} 237. if !empty(SUBDIR_GROUP.${group}) 238 ${MAKEDIRTARGET} . ${SUBDIR_GROUP.${group}:C/^/dependall-/} 239 ${MAKEDIRTARGET} . ${SUBDIR_GROUP.${group}:C/^/install-/} 240. endif 241.endfor 242 243.include <bsd.subdir.mk> 244