Implement DEPLIBS (in Makefile.inc for now), which adds all the listed

libraries to LDADD & DPADD for the current library, using -L OBJDIR-of-DEPLIB
so that the current library can link with the DEPLIB library built but
not installed.

Set DEPLIBS appropriately, rather than explictly adding LDADD/DPADD
for various libraries.

Reorder library build order so that libraries that depend upon any
other library are built at the end.


Whilst this change could be done in a more generic manner (and I
intend to work on that), it does remove the need to implement
top-level build targets such as "do-lib-des" (etc).
This commit is contained in:
lukem 2004-07-30 07:02:53 +00:00
parent 92c5582317
commit 124613b27e
6 changed files with 46 additions and 20 deletions

View File

@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.88 2003/12/11 09:46:27 dyoung Exp $
# $NetBSD: Makefile,v 1.89 2004/07/30 07:02:53 lukem Exp $
# from: @(#)Makefile 5.25.1.1 (Berkeley) 5/7/91
.include <bsd.own.mk>
SUBDIR= csu libc .WAIT libarch libbsdmalloc libbz2 libcdk libcompat libcrypt \
SUBDIR= csu libc .WAIT libarch libbsdmalloc libbz2 libcompat libcrypt \
libcurses libedit libevent libform libintl libkvm libl libm libmagic \
libmenu libossaudio libpcap libpci libpmc libposix libpthread \
libpthread_dbg libresolv librmt librpcsvc librt libterm libusbhid \
@ -17,7 +17,7 @@ SUBDIR+= libskey
.if (${MKCRYPTO} != "no")
# OpenSSL libraries.
SUBDIR+= libcrypto libssl libdes
SUBDIR+= libcrypto libdes
.if (${MKCRYPTO_IDEA} != "no")
SUBDIR+= libcrypto_idea
@ -35,13 +35,12 @@ SUBDIR+= libcrypto_rc5
.if (${MKKERBEROS} != "no")
# Heimdal Kerberos 5 libraries
SUBDIR+= libroken libvers libcom_err libsl libss libasn1 libkrb5 libhdb \
SUBDIR+= libroken libvers libcom_err libsl libss libasn1 libhdb \
libkadm5srv libkadm5clnt libgssapi libkafs
.if (${MKKERBEROS4} != "no")
# KTH Kerberos 4 libraries
SUBDIR+= libkrb libkdb libkadm
SUBDIR+= libkstream
SUBDIR+= libkdb libkadm libkstream
.endif # MKKERBEROS4 != no
.endif # MKKERBEROS != no
@ -53,4 +52,20 @@ SUBDIR+= libipsec
# I18N modules
SUBDIR+= i18n_module
#
# Libraries that depend upon any listed previously
#
SUBDIR+= .WAIT
SUBDIR+= libcdk
.if (${MKCRYPTO} != "no")
SUBDIR+= libssl
.endif
.if (${MKKERBEROS} != "no")
SUBDIR+= libkrb5
.endif
.if (${MKKERBEROS4} != "no")
SUBDIR+= libkrb
.endif
.include <bsd.subdir.mk>

View File

@ -1,4 +1,18 @@
# $NetBSD: Makefile.inc,v 1.3 2001/11/05 15:23:49 lukem Exp $
# $NetBSD: Makefile.inc,v 1.4 2004/07/30 07:02:53 lukem Exp $
WARNS?= 2
WFORMAT?= 2
.if ${MKPIC:Uno} != "no"
.if defined(DEPLIBS)
.for _lib in ${DEPLIBS}
.if !defined(DEPLIBOD.${_lib})
DEPLIBOD.${_lib}!= cd ${.CURDIR}/../lib${_lib} && ${PRINTOBJDIR}
.MAKEOVERRIDES+= DEPLIBOD.${_lib}
.endif
LDADD+= -L${DEPLIBOD.${_lib}} -l${_lib}
DPADD+= ${DEPLIBOD.${_lib}}/lib${_lib}.so
.endfor
.endif # defined(DEPLIBS)
.endif # MKPIC != no

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.6 2004/07/30 04:44:54 lukem Exp $
# $NetBSD: Makefile,v 1.7 2004/07/30 07:02:53 lukem Exp $
NOLINT= # defined
@ -9,8 +9,7 @@ DIST= ${NETBSDSRCDIR}/dist
LIB= cdk
LDADD+= -lcurses
DPADD+= ${LIBCURSES}
DEPLIBS= curses
CPPFLAGS+= -I. -I${DIST}/cdk/include -DHAVE_CONFIG_H

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.27 2003/07/24 14:16:54 itojun Exp $
# $NetBSD: Makefile,v 1.28 2004/07/30 07:02:53 lukem Exp $
NOLINT= # defined
@ -24,6 +24,8 @@ WARNS?= 1
LIB= krb
DEPLIBS= des
.if ${USETOOLS} != "yes"
COMPILEETOBJ!= cd ${NETBSDSRCDIR}/lib/libcom_err/compile_et && ${PRINTOBJDIR}
TOOL_COMPILE_ET= ${COMPILEETOBJ}/compile_et
@ -146,8 +148,5 @@ INFOFLAGS= -I${DIST}/krb4/doc
fi
.endif
LDADD+= -ldes
DPADD+= ${LIBDES}
.include <bsd.lib.mk>
.include <bsd.info.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.30 2004/07/30 06:13:00 lukem Exp $
# $NetBSD: Makefile,v 1.31 2004/07/30 07:02:53 lukem Exp $
NOLINT= # defined
@ -11,8 +11,7 @@ WARNS?= 1
LIB= krb5
LDADD+= -lcrypto -lasn1 -lcom_err -lroken
DPADD+= ${LIBCRYPTO} ${LIBASN1} ${LIBCOM_ERR} ${LIBROKEN}
DEPLIBS= crypto asn1 com_err roken
.if ${USETOOLS} != "yes"
COMPILEETOBJ!= cd ${NETBSDSRCDIR}/lib/libcom_err/compile_et && ${PRINTOBJDIR}

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.8 2004/07/30 04:22:33 lukem Exp $
# $NetBSD: Makefile,v 1.9 2004/07/30 07:02:53 lukem Exp $
# RCSid:
# Id: Makefile,v 1.33 1998/11/11 11:53:53 sjg Exp
@ -31,11 +31,11 @@ CRYPTODIST= ${NETBSDSRCDIR}/crypto/dist
.include "srcs.inc"
DEPLIBS= crypto
# XXX
.if ${OBJECT_FMT} == "ELF"
AFLAGS+=-DELF
LDADD+= -lcrypto
DPADD+= ${LIBCRYPTO}
.else
AFLAGS+=-DOUT
.endif