summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-07-10 20:26:25 +0100
committerMans Rullgard <mans@mansr.com>2011-07-10 21:13:38 +0100
commit28e1c97916b026c8785f54ec591718379b251bbb (patch)
tree6470dc3b69d61e32eaabde2b979387c5790dd4a5
parentb695256eddf2b3608e6f8da4663d31dcf96612af (diff)
build: rework rules for things in the tools dir
Declaring tools associated with each library in their respective makefiles allows these tools to easily depend on the correct prerequisites and link against the libs they need. Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--Makefile21
-rw-r--r--common.mak6
-rw-r--r--libavfilter/Makefile2
-rw-r--r--libavformat/Makefile1
-rw-r--r--subdir.mak4
-rw-r--r--tests/Makefile3
6 files changed, 19 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 9f7b4361d4..720936a604 100644
--- a/Makefile
+++ b/Makefile
@@ -58,6 +58,8 @@ PROGS := $(PROGS-yes:%=%$(EXESUF))
OBJS = $(PROGS-yes:%=%.o) cmdutils.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
HOSTPROGS := $(TESTTOOLS:%=tests/%)
+TOOLS = qt-faststart trasher
+TOOLS-$(CONFIG_ZLIB) += cws2fws
BASENAMES = ffmpeg ffplay ffprobe ffserver
ALLPROGS = $(BASENAMES:%=%$(EXESUF))
@@ -86,6 +88,11 @@ FF_DEP_LIBS := $(DEP_LIBS)
all: $(FF_DEP_LIBS) $(PROGS)
+$(TOOLS): %$(EXESUF): %.o
+ $(LD) $(LDFLAGS) -o $@ $< $(ELIBS)
+
+tools/cws2fws$(EXESUF): ELIBS = -lz
+
config.h: .config
.config: $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c))
@-tput bold 2>/dev/null
@@ -94,7 +101,7 @@ config.h: .config
SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \
ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS \
- HOSTPROGS BUILT_HEADERS TESTOBJS ARCH_HEADERS ARMV6-OBJS
+ HOSTPROGS BUILT_HEADERS TESTOBJS ARCH_HEADERS ARMV6-OBJS TOOLS
define RESET
$(1) :=
@@ -116,18 +123,6 @@ ffserver$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
$(PROGS): %$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
-TOOLS = cws2fws graph2dot lavfi-showfiltfmts pktdumper probetest qt-faststart trasher
-TOOLOBJS := $(TOOLS:%=tools/%.o)
-TOOLS := $(TOOLS:%=tools/%$(EXESUF))
-
-alltools: $(TOOLS)
-
-tools/%$(EXESUF): tools/%.o
- $(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
-
-$(TOOLOBJS): %.o: %.c | tools
- $(CC) $(CPPFLAGS) $(CFLAGS) -c $(CC_O) $<
-
OBJDIRS += tools
-include $(wildcard tools/*.d)
diff --git a/common.mak b/common.mak
index bd210462b9..da51495a16 100644
--- a/common.mak
+++ b/common.mak
@@ -20,6 +20,9 @@ TESTOBJS := $(TESTOBJS:%=$(SUBDIR)%) $(TESTPROGS:%=$(SUBDIR)%-test.o)
TESTPROGS := $(TESTPROGS:%=$(SUBDIR)%-test$(EXESUF))
HOSTOBJS := $(HOSTPROGS:%=$(SUBDIR)%.o)
HOSTPROGS := $(HOSTPROGS:%=$(SUBDIR)%$(HOSTEXESUF))
+TOOLS += $(TOOLS-yes)
+TOOLOBJS := $(TOOLS:%=tools/%.o)
+TOOLS := $(TOOLS:%=tools/%$(EXESUF))
DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
@@ -28,6 +31,8 @@ SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-)
SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%)
checkheaders: $(filter-out $(SKIPHEADERS:.h=.ho),$(ALLHEADERS:.h=.ho))
+alltools: $(TOOLS)
+
$(HOSTOBJS): %.o: %.c
$(HOSTCC) $(HOSTCFLAGS) -c -o $@ $<
@@ -37,6 +42,7 @@ $(HOSTPROGS): %$(HOSTEXESUF): %.o
$(OBJS): | $(dir $(OBJS))
$(HOSTOBJS): | $(dir $(HOSTOBJS))
$(TESTOBJS): | $(dir $(TESTOBJS))
+$(TOOLOBJS): | tools
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS))
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index 02016076bf..1a6fd9b68f 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -62,4 +62,6 @@ OBJS-$(CONFIG_NULLSINK_FILTER) += vsink_nullsink.o
DIRS = x86
+TOOLS = graph2dot lavfi-showfiltfmts
+
include $(SRC_PATH)/subdir.mak
diff --git a/libavformat/Makefile b/libavformat/Makefile
index a20db26b03..ca337e0167 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -335,6 +335,7 @@ OBJS-$(CONFIG_JACK_INDEV) += timefilter.o
EXAMPLES = metadata output
TESTPROGS = timefilter
+TOOLS = pktdumper probetest
include $(SRC_PATH)/subdir.mak
diff --git a/subdir.mak b/subdir.mak
index 3a38dafe63..a88955bdfb 100644
--- a/subdir.mak
+++ b/subdir.mak
@@ -34,7 +34,7 @@ install-libs-$(CONFIG_STATIC): install-lib$(NAME)-static
install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared
define RULES
-$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o
+$(TESTPROGS) $(TOOLS): %$(EXESUF): %.o
$$(LD) $(FFLDFLAGS) -o $$@ $$^ -l$(FULLNAME) $(FFEXTRALIBS) $$(ELIBS)
$(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
@@ -91,7 +91,7 @@ endef
$(eval $(RULES))
-$(EXAMPLES) $(TESTPROGS): $(THIS_LIB) $(DEP_LIBS)
+$(EXAMPLES) $(TESTPROGS) $(TOOLS): $(THIS_LIB) $(DEP_LIBS)
examples: $(EXAMPLES)
testprogs: $(TESTPROGS)
diff --git a/tests/Makefile b/tests/Makefile
index 431a404219..501a72f879 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -31,9 +31,6 @@ tests/data/asynth1.sw tests/vsynth%/00.pgm: TAG = GEN
tests/seek_test$(EXESUF): tests/seek_test.o $(FF_DEP_LIBS)
$(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
-tools/lavfi-showfiltfmts$(EXESUF): tools/lavfi-showfiltfmts.o $(FF_DEP_LIBS)
- $(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
-
include $(SRC_PATH)/tests/fate.mak
include $(SRC_PATH)/tests/fate2.mak