summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-10-15 04:05:03 +0100
committerMans Rullgard <mans@mansr.com>2012-10-23 12:00:22 +0100
commit80521c1997a23e148edf89e11b939ab8646297ca (patch)
treebdaee0989d84e85268fb158868e8874589ca8e23
parenta805cefd8b81e551ab7dfb6a7ae8b5a1512e7893 (diff)
build: allow targets to specify extra objects to link with executables
This allows targets to include special objects when linking executables without including them in (shared) libraries. Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--Makefile8
-rwxr-xr-xconfigure1
-rw-r--r--library.mak2
3 files changed, 6 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 3202f5d71a..07df53871a 100644
--- a/Makefile
+++ b/Makefile
@@ -59,7 +59,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
@@ -90,8 +90,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)
@@ -124,7 +124,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 35cf34f776..f597cafe99 100755
--- a/configure
+++ b/configure
@@ -3737,6 +3737,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 b36593504c..cbfa0d48e1 100644
--- a/library.mak
+++ b/library.mak
@@ -36,7 +36,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)