- ar cruP doesn't replace ('r') but unconditionally _adds_ all objects.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 3 Mar 2006 14:19:15 +0000 (14:19 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 3 Mar 2006 14:19:15 +0000 (14:19 -0000)
landley, that one broke your tar-testing (see below).

To see the issue i was talking about in the comment to rev. 14431, remove the
'P' from ARFLAGS in Rules.mak, then recompile.

You will see undefined references to these symbols:
iplink_main
iproute_main
iptunnel_main
login_main
run_parts_main

These are due to the fact that these applets (named e.g. login.o) clash with
libbb/login.o, for example. So ar sees that we're going to add login.o
(the applet!) and does so. Later on, we add libbb/login.o (just the basename
is used, so login.o). and this libbb/login.o *replaces* the login.o (the
applet!).

I therefor want (you) to rename abovementioned files from libbb to have
a prefix bb_ (e.g. svn mv libbb/login.c libbb/bb_login.c) to avoid these
clashed.

ok?
TIA,

Makefile

index 71525e1f036bb8ea8c1e6f2e80a5c83020d2f621..2e8e3e58cda20dedc2e7a9752397870320657186 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -317,7 +317,9 @@ ifneq ($(bin-obj-y)$(bin-mobj-y),)
 endif
 ifdef applets.a
 applets.a: $(applets.a)
+       $(Q)-rm -f $(@)
        $(do_ar)
+
 bin-obj.a=applets.a
 endif