build: link test programs only against static libs

The test programs use internal symbols so cannot be linked against the
shared libs.  Linking against both shared and static is pointless and
might do something strange depending on the linker.  This changes the
dependencies so the test programs are linked only against the static
library for the component they belong to.

Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
Mans Rullgard 2012-10-08 20:35:03 +01:00
parent cbcd497f38
commit 0fb3b24ada

View File

@ -35,7 +35,7 @@ install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared
define RULES define RULES
$(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o
$$(LD) $(LDFLAGS) $$(LD_O) $$^ $(FULLNAME:%=$(LD_LIB)) $(FFEXTRALIBS) $$(ELIBS) $$(LD) $(LDFLAGS) $$(LD_O) $$^ $(FFEXTRALIBS) $$(ELIBS)
$(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
$(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)
@ -89,8 +89,8 @@ endef
$(eval $(RULES)) $(eval $(RULES))
$(EXAMPLES) $(TESTPROGS) $(TOOLS): $(THIS_LIB) $(DEP_LIBS) $(EXAMPLES) $(TOOLS): $(THIS_LIB) $(DEP_LIBS)
$(TESTPROGS): $(SUBDIR)$(LIBNAME) $(TESTPROGS): $(SUBDIR)$(LIBNAME) $(DEP_LIBS)
examples: $(EXAMPLES) examples: $(EXAMPLES)
testprogs: $(TESTPROGS) testprogs: $(TESTPROGS)