[FFmpeg-cvslog] build: fix creation of tools dir with make 3.81

Mans Rullgard git at videolan.org
Thu Jun 30 04:44:01 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Wed Jun 29 11:46:08 2011 +0100| [f68069868bd17a46f2dd80f87b712845f2fcfa56] | committer: Mans Rullgard

build: fix creation of tools dir with make 3.81

GNU make 3.81 apparently does not support order-only prerequisites
with pattern rules, and thus fails to create the tools directory
if it is missing.  Naming the objects explicitly in the rule makes
it work properly.

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f68069868bd17a46f2dd80f87b712845f2fcfa56
---

 Makefile |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 59a1692..da12fba 100644
--- a/Makefile
+++ b/Makefile
@@ -56,7 +56,6 @@ PROGS-$(CONFIG_FFSERVER) += ffserver
 
 PROGS      := $(PROGS-yes:%=%$(EXESUF))
 OBJS        = $(PROGS-yes:%=%.o) cmdutils.o
-TOOLS       = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws graph2dot lavfi-showfiltfmts pktdumper probetest qt-faststart trasher))
 TESTTOOLS   = audiogen videogen rotozoom tiny_psnr base64
 HOSTPROGS  := $(TESTTOOLS:%=tests/%)
 
@@ -117,12 +116,16 @@ 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)
 
-tools/%.o: tools/%.c | tools
+$(TOOLOBJS): %.o: %.c | tools
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $(CC_O) $<
 
 OBJDIRS += tools



More information about the ffmpeg-cvslog mailing list