On Mon, 15 Oct 2012, Mans Rullgard wrote:

This allows targets to include special objects when linking
executables without including them in (shared) libraries.

Signed-off-by: Mans Rullgard <[email protected]>
---
Makefile    | 8 ++++----
configure   | 1 +
library.mak | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 4c2553f..2cce848 100644
--- a/Makefile
+++ b/Makefile
@@ -62,7 +62,7 @@ PROGS-$(CONFIG_AVPROBE)  += avprobe
PROGS-$(CONFIG_AVSERVER) += avserver

PROGS      := $(PROGS-yes:%=%$(EXESUF))
-OBJS        = cmdutils.o
+OBJS        = cmdutils.o $(EXEOBJS)
OBJS-avconv = avconv_opt.o avconv_filter.o
TESTTOOLS   = audiogen videogen rotozoom tiny_psnr base64
HOSTPROGS  := $(TESTTOOLS:%=tests/%) doc/print_options
@@ -93,8 +93,8 @@ FF_DEP_LIBS  := $(DEP_LIBS)

all: $(PROGS)

-$(TOOLS): %$(EXESUF): %.o
-       $(LD) $(LDFLAGS) $(LD_O) $< $(ELIBS)
+$(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
+       $(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS)

tools/cws2fws$(EXESUF): ELIBS = $(ZLIB)

@@ -127,7 +127,7 @@ endef
$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))

define DOPROG
-OBJS-$(1) += $(1).o cmdutils.o
+OBJS-$(1) += $(1).o cmdutils.o $(EXEOBJS)
$(1)$(EXESUF): $$(OBJS-$(1))
$$(OBJS-$(1)): CFLAGS  += $(CFLAGS-$(1))
$(1)$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
diff --git a/configure b/configure
index 90df2c2..0acaf3e 100755
--- a/configure
+++ b/configure
@@ -3779,6 +3779,7 @@ ZLIB=$($ldflags_filter -lz)
LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD
EXTRALIBS=$extralibs
COMPAT_OBJS=$compat_objs
+EXEOBJS=$exeobjs
INSTALL=install
LIBTARGET=${LIBTARGET}
SLIBNAME=${SLIBNAME}
diff --git a/library.mak b/library.mak
index d4308c8..19e683f 100644
--- a/library.mak
+++ b/library.mak
@@ -40,7 +40,7 @@ define RULES
$(EXAMPLES) $(TOOLS): THISLIB = $(FULLNAME:%=$(LD_LIB))
$(TESTPROGS):         THISLIB = $(SUBDIR)$(LIBNAME)

-$(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o
+$(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
        $$(LD) $(LDFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) 
$(FFEXTRALIBS) $$(ELIBS)

$(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
--
1.7.12.3

Looks sensible, ok with me.

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to