From 2577a8acef31ccb449242f8c073d0b996d8a91f2 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sun, 28 Aug 1994 18:49:06 +0000 Subject: [PATCH] Add dependencies on libraries to DPADD. Someday this should be done automagically. -lfoo has to be right to work, but ${LIBFO0} is too easy to forget or misspell; nothing checks it and it should be different for shared libraries. --- bin/sh/Makefile | 1 + gnu/usr.bin/cc/Makefile.inc | 10 ++++++++++ gnu/usr.bin/cc/c++/Makefile | 3 +-- gnu/usr.bin/cc/cc/Makefile | 3 +-- gnu/usr.bin/cc/cc1/Makefile | 3 +-- gnu/usr.bin/cc/cc1plus/Makefile | 3 +-- gnu/usr.bin/cc/cccp/Makefile | 3 +-- gnu/usr.bin/cc/cpp/Makefile | 3 +-- gnu/usr.bin/ld/rtld/Makefile | 5 +++-- lib/libedit/Makefile | 2 +- libexec/rtld-aout/Makefile | 5 +++-- usr.bin/gcore/Makefile | 1 + usr.bin/grep/egrep/Makefile | 1 + usr.bin/lock/Makefile | 1 + usr.sbin/kbdcontrol/Makefile | 1 + usr.sbin/tcpdump/tcpdump/Makefile | 1 + 16 files changed, 29 insertions(+), 17 deletions(-) diff --git a/bin/sh/Makefile b/bin/sh/Makefile index 0c57c946a4f9..4279c9e8f570 100644 --- a/bin/sh/Makefile +++ b/bin/sh/Makefile @@ -6,6 +6,7 @@ SRCS= alias.c builtins.c cd.c echo.c error.c eval.c exec.c expand.c \ mystring.c nodes.c options.c parser.c printf.c redir.c show.c \ signames.c syntax.c trap.c output.c var.c OBJS+= init.o arith.o arith_lex.o +DPADD= ${LIBL} ${LIBEDIT} ${LIBTERMCAP} ${LIBCOMPAT} LDADD= -ll -ledit -ltermcap -lcompat LFLAGS= -8 # 8-bit lex scanner for arithmetic CFLAGS+=-DSHELL -I. -I${.CURDIR} diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc index 39ae7e7638be..d3a8b22744a8 100644 --- a/gnu/usr.bin/cc/Makefile.inc +++ b/gnu/usr.bin/cc/Makefile.inc @@ -10,3 +10,13 @@ CFLAGS+= -DDEFAULT_TARGET_MACHINE=\"i386--freebsd\" CFLAGS+= -DMD_EXEC_PREFIX=\"/usr/libexec/\" CFLAGS+= -DSTANDARD_STARTFILE_PREFIX=\"/usr/lib\" CFLAGS+= -DGCC_NAME=\"cc\" + +.if exists(${.CURDIR}/../cc_int/obj) +LIBDESTDIR= ${.CURDIR}/../cc_int/obj +.else +LIBDESTDIR= ${.CURDIR}/../cc_int +.endif + +# XXX LDDESTDIR isn't a directory and there is no standard name for the dir +LDDESTDIR= -L${LIBDESTDIR} +LIBCC_INT= ${LIBDESTDIR}/libcc_int.a diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile index 71fb59e204f7..6b400b6122fc 100644 --- a/gnu/usr.bin/cc/c++/Makefile +++ b/gnu/usr.bin/cc/c++/Makefile @@ -6,8 +6,7 @@ PROG = c++ SRCS = g++.c BINDIR= /usr/bin NOMAN= 1 -LDDESTDIR+= -L${.CURDIR}/../cc_int/obj -LDDESTDIR+= -L${.CURDIR}/../cc_int +DPADD+= ${LIBCC_INT} LDADD+= -lcc_int .include diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile index dc503abef84b..44fabc5168e3 100644 --- a/gnu/usr.bin/cc/cc/Makefile +++ b/gnu/usr.bin/cc/cc/Makefile @@ -5,8 +5,7 @@ PROG = cc SRCS = gcc.c BINDIR= /usr/bin -LDDESTDIR+= -L${.CURDIR}/../cc_int/obj -LDDESTDIR+= -L${.CURDIR}/../cc_int +DPADD+= ${LIBCC_INT} LDADD+= -lcc_int .include diff --git a/gnu/usr.bin/cc/cc1/Makefile b/gnu/usr.bin/cc/cc1/Makefile index 667e45474e1f..745dc27f0fef 100644 --- a/gnu/usr.bin/cc/cc1/Makefile +++ b/gnu/usr.bin/cc/cc1/Makefile @@ -6,8 +6,7 @@ PROG = cc1 SRCS = c-aux-info.c c-convert.c c-decl.c c-iterate.c c-lang.c c-lex.c c-parse.c c-pragma.c c-typeck.c BINDIR= /usr/libexec NOMAN= 1 -LDDESTDIR+= -L${.CURDIR}/../cc_int/obj -LDDESTDIR+= -L${.CURDIR}/../cc_int +DPADD+= ${LIBCC_INT} LDADD+= -lcc_int .include diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile index a03330dc8211..5e4362654c6e 100644 --- a/gnu/usr.bin/cc/cc1plus/Makefile +++ b/gnu/usr.bin/cc/cc1plus/Makefile @@ -6,8 +6,7 @@ PROG = cc1plus SRCS = call.c class.c cvt.c decl.c decl2.c edsel.c errfn.c error.c except.c expr.c gc.c init.c lex.c method.c parse.c pt.c ptree.c search.c sig.c spew.c tree.c typeck.c typeck2.c xref.c BINDIR= /usr/libexec NOMAN= 1 -LDDESTDIR+= -L${.CURDIR}/../cc_int/obj -LDDESTDIR+= -L${.CURDIR}/../cc_int +DPADD+= ${LIBCC_INT} LDADD+= -lcc_int .include diff --git a/gnu/usr.bin/cc/cccp/Makefile b/gnu/usr.bin/cc/cccp/Makefile index 8467da454cb6..b7e09c216bb0 100644 --- a/gnu/usr.bin/cc/cccp/Makefile +++ b/gnu/usr.bin/cc/cccp/Makefile @@ -5,8 +5,7 @@ PROG = cpp SRCS = cccp.c cexp.c BINDIR= /usr/libexec -LDDESTDIR+= -L${.CURDIR}/../cc_int/obj -LDDESTDIR+= -L${.CURDIR}/../cc_int +DPADD+= ${LIBCC_INT} LDADD+= -lcc_int .include diff --git a/gnu/usr.bin/cc/cpp/Makefile b/gnu/usr.bin/cc/cpp/Makefile index 8467da454cb6..b7e09c216bb0 100644 --- a/gnu/usr.bin/cc/cpp/Makefile +++ b/gnu/usr.bin/cc/cpp/Makefile @@ -5,8 +5,7 @@ PROG = cpp SRCS = cccp.c cexp.c BINDIR= /usr/libexec -LDDESTDIR+= -L${.CURDIR}/../cc_int/obj -LDDESTDIR+= -L${.CURDIR}/../cc_int +DPADD+= ${LIBCC_INT} LDADD+= -lcc_int .include diff --git a/gnu/usr.bin/ld/rtld/Makefile b/gnu/usr.bin/ld/rtld/Makefile index d77c817921b5..ac6c892ec918 100644 --- a/gnu/usr.bin/ld/rtld/Makefile +++ b/gnu/usr.bin/ld/rtld/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.10 1994/03/10 23:19:54 ats Exp $ +# $Id: Makefile,v 1.11 1994/08/26 19:11:14 wollman Exp $ PROG= ld.so SRCS= mdprologue.S rtld.c malloc.c shlib.c etc.c md.c @@ -9,6 +9,7 @@ PICFLAG=-fpic CFLAGS+=-I$(LDDIR) -I$(.CURDIR) -I$(LDDIR)/$(MACHINE) $(PICFLAG) -DRTLD LDFLAGS+=-Bshareable -Bsymbolic -assert nosymbolic ASFLAGS+=-k +DPADD+= ${LIBC:S/c.a/c_pic.a/} ${LIBC:S/c.a/gcc_pic.a/} LDADD+= -lc_pic -lgcc_pic BINDIR= /usr/libexec INSTALLFLAGS+= -fschg @@ -17,7 +18,7 @@ INSTALLFLAGS+= -fschg .PATH: $(LDDIR) $(LDDIR)/$(MACHINE) -$(PROG): +$(PROG): ${OBJS} ${DPADD} $(LD) -o $(PROG) $(LDFLAGS) $(OBJS) $(LDADD) .S.o: diff --git a/lib/libedit/Makefile b/lib/libedit/Makefile index be056e0cdda8..0b6557f7e9bc 100644 --- a/lib/libedit/Makefile +++ b/lib/libedit/Makefile @@ -46,7 +46,7 @@ editline.c: ${OSRCS} .depend: vi.h emacs.h common.h fcns.h help.h help.c -test: libedit.a test.o +test: test.o libedit.a ${DPADD} ${LIBTERM} ${CC} ${CFLAGS} ${.ALLSRC} -o ${.TARGET} libedit.a ${LDADD} -ltermcap .include diff --git a/libexec/rtld-aout/Makefile b/libexec/rtld-aout/Makefile index d77c817921b5..ac6c892ec918 100644 --- a/libexec/rtld-aout/Makefile +++ b/libexec/rtld-aout/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.10 1994/03/10 23:19:54 ats Exp $ +# $Id: Makefile,v 1.11 1994/08/26 19:11:14 wollman Exp $ PROG= ld.so SRCS= mdprologue.S rtld.c malloc.c shlib.c etc.c md.c @@ -9,6 +9,7 @@ PICFLAG=-fpic CFLAGS+=-I$(LDDIR) -I$(.CURDIR) -I$(LDDIR)/$(MACHINE) $(PICFLAG) -DRTLD LDFLAGS+=-Bshareable -Bsymbolic -assert nosymbolic ASFLAGS+=-k +DPADD+= ${LIBC:S/c.a/c_pic.a/} ${LIBC:S/c.a/gcc_pic.a/} LDADD+= -lc_pic -lgcc_pic BINDIR= /usr/libexec INSTALLFLAGS+= -fschg @@ -17,7 +18,7 @@ INSTALLFLAGS+= -fschg .PATH: $(LDDIR) $(LDDIR)/$(MACHINE) -$(PROG): +$(PROG): ${OBJS} ${DPADD} $(LD) -o $(PROG) $(LDFLAGS) $(OBJS) $(LDADD) .S.o: diff --git a/usr.bin/gcore/Makefile b/usr.bin/gcore/Makefile index 175f1fc9c74a..3a1c7cabc8af 100644 --- a/usr.bin/gcore/Makefile +++ b/usr.bin/gcore/Makefile @@ -2,6 +2,7 @@ PROG= gcore SRCS= gcore.c +DPADD= ${LIBKVM} LDADD= -lkvm .if ${MACHINE} != "sparc" diff --git a/usr.bin/grep/egrep/Makefile b/usr.bin/grep/egrep/Makefile index 1e7d05adc2a0..5df3e8fd0718 100644 --- a/usr.bin/grep/egrep/Makefile +++ b/usr.bin/grep/egrep/Makefile @@ -8,6 +8,7 @@ PROG= egrep CFLAGS+=-Dstrrchr=rindex -Dstrchr=index -DNOKANJI +DPADD= ${LIBCOMPAT} LDADD= -lcompat # must search compat to get spencers early regexp package MAN1= grep.1 LINKS= ${BINDIR}/egrep ${BINDIR}/grep ${BINDIR}/egrep ${BINDIR}/fgrep diff --git a/usr.bin/lock/Makefile b/usr.bin/lock/Makefile index e08c50d546ab..1a55d41805c7 100644 --- a/usr.bin/lock/Makefile +++ b/usr.bin/lock/Makefile @@ -3,6 +3,7 @@ PROG= lock BINOWN= root BINMODE=4555 +DPADD= ${LIBCRYPT} LDADD= -lcrypt .include diff --git a/usr.sbin/kbdcontrol/Makefile b/usr.sbin/kbdcontrol/Makefile index a26575dc5e92..ad91cb0ee68b 100644 --- a/usr.sbin/kbdcontrol/Makefile +++ b/usr.sbin/kbdcontrol/Makefile @@ -1,5 +1,6 @@ PROG= kbdcontrol SRCS= kbdcontrol.c lex.l +DPADD+= ${LIBL} LDADD+= -ll .include diff --git a/usr.sbin/tcpdump/tcpdump/Makefile b/usr.sbin/tcpdump/tcpdump/Makefile index 2c93962ca3d5..8432e581820e 100644 --- a/usr.sbin/tcpdump/tcpdump/Makefile +++ b/usr.sbin/tcpdump/tcpdump/Makefile @@ -13,6 +13,7 @@ SRCS= version.c addrtoname.c bpf_dump.c bpf_filter.c bpf_image.c etherent.c \ tcplex.c util.c .PATH: /sys/net CLEANFILES+= tcpgram.c tcplex.c y.tab.h y.tab.c version.c version.h +DPADD+= ${LIBL} LDADD+= -ll version.c version.h: VERSION