Merge commit '14abeaa43d021afdce9119d906891abe89c03b88'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 25 Nov 2013 23:05:38 +0000 (00:05 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 26 Nov 2013 00:12:24 +0000 (01:12 +0100)
* commit '14abeaa43d021afdce9119d906891abe89c03b88':
  build: Separate building programs linking against libav* from building av*

Conflicts:
Makefile
doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
Makefile
doc/Makefile

diff --cc Makefile
+++ b/Makefile
@@@ -8,20 -6,73 +8,26 @@@ vpath %.S    $(SRC_PATH
  vpath %.asm  $(SRC_PATH)
  vpath %.v    $(SRC_PATH)
  vpath %.texi $(SRC_PATH)
 +vpath %/fate_config.sh.template $(SRC_PATH)
  
- PROGS-$(CONFIG_FFMPEG)   += ffmpeg
- PROGS-$(CONFIG_FFPLAY)   += ffplay
- PROGS-$(CONFIG_FFPROBE)  += ffprobe
- PROGS-$(CONFIG_FFSERVER) += ffserver
 -ifndef V
 -Q      = @
 -ECHO   = printf "$(1)\t%s\n" $(2)
 -BRIEF  = CC HOSTCC HOSTLD AS YASM AR LD
 -SILENT = DEPCC DEPHOSTCC DEPAS DEPYASM RANLIB RM STRIP
 -MSG    = $@
 -M      = @$(call ECHO,$(TAG),$@);
 -$(foreach VAR,$(BRIEF), \
 -    $(eval override $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
 -$(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
 -$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_PATH)/%=%)); $(INSTALL))
 -endif
 -
 -ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil swscale
 -
 -IFLAGS     := -I. -I$(SRC_PATH)
 -CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
 -CFLAGS     += $(ECFLAGS)
 -CCFLAGS     = $(CPPFLAGS) $(CFLAGS)
 -ASFLAGS    := $(CPPFLAGS) $(ASFLAGS)
 -YASMFLAGS  += $(IFLAGS:%=%/) -Pconfig.asm
 -HOSTCCFLAGS = $(IFLAGS) $(HOSTCPPFLAGS) $(HOSTCFLAGS)
 -LDFLAGS    := $(ALLFFLIBS:%=$(LD_PATH)lib%) $(LDFLAGS)
 -
 -define COMPILE
 -      $(call $(1)DEP,$(1))
 -      $($(1)) $($(1)FLAGS) $($(1)_DEPFLAGS) $($(1)_C) $($(1)_O) $<
 -endef
 -
 -COMPILE_C = $(call COMPILE,CC)
 -COMPILE_S = $(call COMPILE,AS)
 -
 -%.o: %.c
 -      $(COMPILE_C)
 -
 -%.o: %.S
 -      $(COMPILE_S)
++AVPROGS-$(CONFIG_FFMPEG)   += ffmpeg
++AVPROGS-$(CONFIG_FFPLAY)   += ffplay
++AVPROGS-$(CONFIG_FFPROBE)  += ffprobe
++AVPROGS-$(CONFIG_FFSERVER) += ffserver
  
- PROGS      := $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF))
- INSTPROGS   = $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF))
 -%.i: %.c
 -      $(CC) $(CCFLAGS) $(CC_E) $<
++AVPROGS    := $(AVPROGS-yes:%=%$(PROGSSUF)$(EXESUF))
++INSTPROGS   = $(AVPROGS-yes:%=%$(PROGSSUF)$(EXESUF))
++PROGS      += $(AVPROGS-yes)
  
 -%.h.c:
 -      $(Q)echo '#include "$*.h"' >$@
++AVBASENAMES  = ffmpeg ffplay ffprobe ffserver
++ALLAVPROGS   = $(AVBASENAMES:%=%$(PROGSSUF)$(EXESUF))
++ALLAVPROGS_G = $(AVBASENAMES:%=%$(PROGSSUF)_g$(EXESUF))
  
- OBJS-ffmpeg = ffmpeg_opt.o ffmpeg_filter.o
 -%.ver: %.v
 -      $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
++$(foreach prog,$(AVBASENAMES),$(eval OBJS-$(prog) += cmdutils.o))
 -%.c %.h: TAG = GEN
 -
 -AVPROGS-$(CONFIG_AVCONV)   += avconv
 -AVPROGS-$(CONFIG_AVPLAY)   += avplay
 -AVPROGS-$(CONFIG_AVPROBE)  += avprobe
 -AVPROGS-$(CONFIG_AVSERVER) += avserver
 -
 -AVPROGS    := $(AVPROGS-yes:%=%$(EXESUF))
 -PROGS      += $(AVPROGS)
 -
 -AVBASENAMES = avconv avplay avprobe avserver
 -ALLAVPROGS  = $(AVBASENAMES:%=%$(EXESUF))
 -
 -$(foreach prog,$(ALLAVPROGS),$(eval OBJS-$(prog) += cmdutils.o))
 -
 -OBJS-avconv                   += avconv_opt.o avconv_filter.o
 -OBJS-avconv-$(HAVE_VDPAU_X11) += avconv_vdpau.o
 -
 -TESTTOOLS   = audiogen videogen rotozoom tiny_psnr base64
++OBJS-ffmpeg                   += ffmpeg_opt.o ffmpeg_filter.o
 +OBJS-ffmpeg-$(HAVE_VDPAU_X11) += ffmpeg_vdpau.o
 +TESTTOOLS   = audiogen videogen rotozoom tiny_psnr tiny_ssim base64
  HOSTPROGS  := $(TESTTOOLS:%=tests/%) doc/print_options
  TOOLS       = qt-faststart trasher
  TOOLS-$(CONFIG_ZLIB) += cws2fws
@@@ -51,12 -95,8 +53,12 @@@ include $(SRC_PATH)/common.ma
  FF_EXTRALIBS := $(FFEXTRALIBS)
  FF_DEP_LIBS  := $(DEP_LIBS)
  
- all: $(PROGS)
+ all: $(AVPROGS)
  
- $(PROGS): %$(EXESUF): %_g$(EXESUF)
++$(AVPROGS): %$(EXESUF): %_g$(EXESUF)
 +      $(CP) $< $@
 +      $(STRIP) $@
 +
  $(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
        $(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS)
  
@@@ -92,17 -131,17 +94,17 @@@ ende
  $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
  
  define DOPROG
- OBJS-$(1) += $(1).o cmdutils.o $(EXEOBJS) $(OBJS-$(1)-yes)
+ OBJS-$(1) += $(1).o $(EXEOBJS) $(OBJS-$(1)-yes)
 -$(1)$(EXESUF): $$(OBJS-$(1))
 +$(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1))
  $$(OBJS-$(1)): CFLAGS  += $(CFLAGS-$(1))
 -$(1)$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
 -$(1)$(EXESUF): FF_EXTRALIBS += $(LIBS-$(1))
 +$(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
 +$(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(LIBS-$(1))
  -include $$(OBJS-$(1):.o=.d)
  endef
  
- $(foreach P,$(PROGS-yes),$(eval $(call DOPROG,$(P))))
+ $(foreach P,$(PROGS),$(eval $(call DOPROG,$(P))))
  
 -$(PROGS): %$(EXESUF): %.o $(FF_DEP_LIBS)
 +%$(PROGSSUF)_g$(EXESUF): %.o $(FF_DEP_LIBS)
        $(LD) $(LDFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
  
  OBJDIRS += tools
@@@ -133,14 -172,13 +135,14 @@@ install-libs: install-libs-ye
  install-progs-yes:
  install-progs-$(CONFIG_SHARED): install-libs
  
- install-progs: install-progs-yes $(PROGS)
+ install-progs: install-progs-yes $(AVPROGS)
        $(Q)mkdir -p "$(BINDIR)"
 -      $(INSTALL) -c -m 755 $(AVPROGS) "$(BINDIR)"
 +      $(INSTALL) -c -m 755 $(INSTPROGS) "$(BINDIR)"
  
 -install-data: $(DATA_FILES)
 -      $(Q)mkdir -p "$(DATADIR)"
 +install-data: $(DATA_FILES) $(EXAMPLES_FILES)
 +      $(Q)mkdir -p "$(DATADIR)/examples"
        $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)"
 +      $(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples"
  
  uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data
  
@@@ -151,10 -189,9 +153,10 @@@ uninstall-data
        $(RM) -r "$(DATADIR)"
  
  clean::
-       $(RM) $(ALLPROGS) $(ALLPROGS_G)
 -      $(RM) $(ALLAVPROGS)
++      $(RM) $(ALLAVPROGS) $(ALLAVPROGS_G)
        $(RM) $(CLEANSUFFIXES)
        $(RM) $(CLEANSUFFIXES:%=tools/%)
 +      $(RM) -r coverage-html
        $(RM) -rf coverage.info lcov
  
  distclean::
diff --cc doc/Makefile
@@@ -1,24 -1,7 +1,24 @@@
 -ALLMANPAGES = $(AVBASENAMES:%=%.1)
 -MANPAGES    = $(AVPROGS-yes:%=doc/%.1)
 -PODPAGES    = $(AVPROGS-yes:%=doc/%.pod)
 -HTMLPAGES   = $(AVPROGS-yes:%=doc/%.html)                               \
 +LIBRARIES-$(CONFIG_AVUTIL)     += libavutil
 +LIBRARIES-$(CONFIG_SWSCALE)    += libswscale
 +LIBRARIES-$(CONFIG_SWRESAMPLE) += libswresample
 +LIBRARIES-$(CONFIG_AVCODEC)    += libavcodec
 +LIBRARIES-$(CONFIG_AVFORMAT)   += libavformat
 +LIBRARIES-$(CONFIG_AVDEVICE)   += libavdevice
 +LIBRARIES-$(CONFIG_AVFILTER)   += libavfilter
 +
 +COMPONENTS-$(CONFIG_AVUTIL)     += ffmpeg-utils
 +COMPONENTS-$(CONFIG_SWSCALE)    += ffmpeg-scaler
 +COMPONENTS-$(CONFIG_SWRESAMPLE) += ffmpeg-resampler
 +COMPONENTS-$(CONFIG_AVCODEC)    += ffmpeg-codecs ffmpeg-bitstream-filters
 +COMPONENTS-$(CONFIG_AVFORMAT)   += ffmpeg-formats ffmpeg-protocols
 +COMPONENTS-$(CONFIG_AVDEVICE)   += ffmpeg-devices
 +COMPONENTS-$(CONFIG_AVFILTER)   += ffmpeg-filters
 +
- MANPAGES1   = $(PROGS-yes:%=doc/%.1)    $(PROGS-yes:%=doc/%-all.1)    $(COMPONENTS-yes:%=doc/%.1)
++MANPAGES1   = $(AVPROGS-yes:%=doc/%.1)    $(AVPROGS-yes:%=doc/%-all.1)    $(COMPONENTS-yes:%=doc/%.1)
 +MANPAGES3   = $(LIBRARIES-yes:%=doc/%.3)
 +MANPAGES    = $(MANPAGES1) $(MANPAGES3)
- PODPAGES    = $(PROGS-yes:%=doc/%.pod)  $(PROGS-yes:%=doc/%-all.pod)  $(COMPONENTS-yes:%=doc/%.pod)  $(LIBRARIES-yes:%=doc/%.pod)
- HTMLPAGES   = $(PROGS-yes:%=doc/%.html) $(PROGS-yes:%=doc/%-all.html) $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
++PODPAGES    = $(AVPROGS-yes:%=doc/%.pod)  $(AVPROGS-yes:%=doc/%-all.pod)  $(COMPONENTS-yes:%=doc/%.pod)  $(LIBRARIES-yes:%=doc/%.pod)
++HTMLPAGES   = $(AVPROGS-yes:%=doc/%.html) $(AVPROGS-yes:%=doc/%-all.html) $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
                doc/developer.html                                        \
                doc/faq.html                                              \
                doc/fate.html                                             \
@@@ -120,16 -65,10 +120,16 @@@ uninstall-html
        $(RM) -r "$(DOCDIR)"
  
  uninstall-man:
-       $(RM) $(addprefix "$(MANDIR)/man1/",$(PROGS-yes:%=%.1) $(PROGS-yes:%=%-all.1) $(COMPONENTS-yes:%=%.1))
 -      $(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
++      $(RM) $(addprefix "$(MANDIR)/man1/",$(AVPROGS-yes:%=%.1) $(AVPROGS-yes:%=%-all.1) $(COMPONENTS-yes:%=%.1))
 +      $(RM) $(addprefix "$(MANDIR)/man3/",$(LIBRARIES-yes:%=%.3))
 +
 +clean:: docclean
 +
 +distclean:: docclean
 +      $(RM) doc/config.texi
  
 -clean::
 -      $(RM) doc/*.html doc/*.pod doc/*.1 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
 +docclean:
 +      $(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
        $(RM) -r doc/doxy/html
  
  -include $(wildcard $(DOCS:%=%.d))