Merge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b'
authorJames Almer <jamrial@gmail.com>
Sun, 10 Mar 2019 22:31:13 +0000 (19:31 -0300)
committerJames Almer <jamrial@gmail.com>
Sun, 10 Mar 2019 22:31:13 +0000 (19:31 -0300)
* commit '7e5bde93a1e7641e1622814dafac0be3f413d79b':
  build: Rename OBJDIRS variable to OUTDIRS

Merged-by: James Almer <jamrial@gmail.com>
1  2 
Makefile
doc/examples/Makefile
ffbuild/common.mak
fftools/Makefile
tests/Makefile
tests/checkasm/Makefile
tools/Makefile

diff --cc Makefile
Simple merge
@@@ -36,29 -17,15 +36,29 @@@ $(EXAMPLES_G): %$(PROGSSUF)_g$(EXESUF)
  
  examples: $(EXAMPLES)
  
 -$(EXAMPLES:%$(EXESUF)=%.o): | doc/examples
 +$(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.o): | doc/examples
- OBJDIRS += doc/examples
+ OUTDIRS += doc/examples
  
 -DOXY_INPUT += $(addprefix $(SRC_PATH)/, $(EXAMPLES:%$(EXESUF)=%.c))
 +DOXY_INPUT += $(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.c)
 +
 +install: install-examples
  
 -clean::
 -      $(RM) $(ALL_EXAMPLES)
 +install-examples: $(EXAMPLES_FILES)
 +      $(Q)mkdir -p "$(DATADIR)/examples"
 +      $(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples"
 +      $(INSTALL) -m 644 $(EXAMPLE_MAKEFILE:%=%.example) "$(DATADIR)/examples/Makefile"
 +
 +uninstall: uninstall-examples
 +
 +uninstall-examples:
 +      $(RM) -r "$(DATADIR)/examples"
 +
 +examplesclean:
 +      $(RM) $(ALL_EXAMPLES) $(ALL_EXAMPLES_G)
        $(RM) $(CLEANSUFFIXES:%=doc/examples/%)
  
 --include $(wildcard $(EXAMPLES:%$(EXESUF)=%.d))
 +docclean:: examplesclean
 +
 +-include $(wildcard $(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.d))
  
  .PHONY: examples
index eb41b05,0000000..d2b3332
mode 100644,000000..100644
--- /dev/null
@@@ -1,176 -1,0 +1,176 @@@
- OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(SLIBOBJS) $(TESTOBJS))
 +#
 +# common bits used by all libraries
 +#
 +
 +DEFAULT_X86ASMD=.dbg
 +
 +ifeq ($(DBG),1)
 +X86ASMD=$(DEFAULT_X86ASMD)
 +else
 +X86ASMD=
 +endif
 +
 +ifndef SUBDIR
 +
 +ifndef V
 +Q      = @
 +ECHO   = printf "$(1)\t%s\n" $(2)
 +BRIEF  = CC CXX OBJCC HOSTCC HOSTLD AS X86ASM AR LD STRIP CP WINDRES NVCC
 +SILENT = DEPCC DEPHOSTCC DEPAS DEPX86ASM RANLIB RM
 +
 +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_DIR)/%=%)); $(INSTALL))
 +endif
 +
 +ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil postproc swscale swresample
 +
 +# NASM requires -I path terminated with /
 +IFLAGS     := -I. -I$(SRC_LINK)/
 +CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
 +CFLAGS     += $(ECFLAGS)
 +CCFLAGS     = $(CPPFLAGS) $(CFLAGS)
 +OBJCFLAGS  += $(EOBJCFLAGS)
 +OBJCCFLAGS  = $(CPPFLAGS) $(CFLAGS) $(OBJCFLAGS)
 +ASFLAGS    := $(CPPFLAGS) $(ASFLAGS)
 +CXXFLAGS   := $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS)
 +X86ASMFLAGS += $(IFLAGS:%=%/) -I$(<D)/ -Pconfig.asm
 +NVCCFLAGS  += -ptx
 +
 +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) $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
 +endef
 +
 +COMPILE_C = $(call COMPILE,CC)
 +COMPILE_CXX = $(call COMPILE,CXX)
 +COMPILE_S = $(call COMPILE,AS)
 +COMPILE_M = $(call COMPILE,OBJCC)
 +COMPILE_X86ASM = $(call COMPILE,X86ASM)
 +COMPILE_HOSTC = $(call COMPILE,HOSTCC)
 +COMPILE_NVCC = $(call COMPILE,NVCC)
 +
 +%.o: %.c
 +      $(COMPILE_C)
 +
 +%.o: %.cpp
 +      $(COMPILE_CXX)
 +
 +%.o: %.m
 +      $(COMPILE_M)
 +
 +%.s: %.c
 +      $(CC) $(CCFLAGS) -S -o $@ $<
 +
 +%.o: %.S
 +      $(COMPILE_S)
 +
 +%_host.o: %.c
 +      $(COMPILE_HOSTC)
 +
 +%$(DEFAULT_X86ASMD).asm: %.asm
 +      $(DEPX86ASM) $(X86ASMFLAGS) -M -o $@ $< > $(@:.asm=.d)
 +      $(X86ASM) $(X86ASMFLAGS) -e $< | sed '/^%/d;/^$$/d;' > $@
 +
 +%.o: %.asm
 +      $(COMPILE_X86ASM)
 +      -$(if $(ASMSTRIPFLAGS), $(STRIP) $(ASMSTRIPFLAGS) $@)
 +
 +%.o: %.rc
 +      $(WINDRES) $(IFLAGS) --preprocessor "$(DEPWINDRES) -E -xc-header -DRC_INVOKED $(CC_DEPFLAGS)" -o $@ $<
 +
 +%.i: %.c
 +      $(CC) $(CCFLAGS) $(CC_E) $<
 +
 +%.h.c:
 +      $(Q)echo '#include "$*.h"' >$@
 +
 +%.ptx: %.cu
 +      $(COMPILE_NVCC)
 +
 +%.ptx.c: %.ptx
 +      $(Q)sh $(SRC_PATH)/compat/cuda/ptx2c.sh $@ $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
 +
 +%.c %.h %.pc %.ver %.version: TAG = GEN
 +
 +# Dummy rule to stop make trying to rebuild removed or renamed headers
 +%.h:
 +      @:
 +
 +# Disable suffix rules.  Most of the builtin rules are suffix rules,
 +# so this saves some time on slow systems.
 +.SUFFIXES:
 +
 +# Do not delete intermediate files from chains of implicit rules
 +$(OBJS):
 +endif
 +
 +include $(SRC_PATH)/ffbuild/arch.mak
 +
 +OBJS      += $(OBJS-yes)
 +SLIBOBJS  += $(SLIBOBJS-yes)
 +FFLIBS    := $($(NAME)_FFLIBS) $(FFLIBS-yes) $(FFLIBS)
 +TESTPROGS += $(TESTPROGS-yes)
 +
 +LDLIBS       = $(FFLIBS:%=%$(BUILDSUF))
 +FFEXTRALIBS := $(LDLIBS:%=$(LD_LIB)) $(foreach lib,EXTRALIBS-$(NAME) $(FFLIBS:%=EXTRALIBS-%),$($(lib))) $(EXTRALIBS)
 +
 +OBJS      := $(sort $(OBJS:%=$(SUBDIR)%))
 +SLIBOBJS  := $(sort $(SLIBOBJS:%=$(SUBDIR)%))
 +TESTOBJS  := $(TESTOBJS:%=$(SUBDIR)tests/%) $(TESTPROGS:%=$(SUBDIR)tests/%.o)
 +TESTPROGS := $(TESTPROGS:%=$(SUBDIR)tests/%$(EXESUF))
 +HOSTOBJS  := $(HOSTPROGS:%=$(SUBDIR)%.o)
 +HOSTPROGS := $(HOSTPROGS:%=$(SUBDIR)%$(HOSTEXESUF))
 +TOOLS     += $(TOOLS-yes)
 +TOOLOBJS  := $(TOOLS:%=tools/%.o)
 +TOOLS     := $(TOOLS:%=tools/%$(EXESUF))
 +HEADERS   += $(HEADERS-yes)
 +
 +PATH_LIBNAME = $(foreach NAME,$(1),lib$(NAME)/$($(2)LIBNAME))
 +DEP_LIBS := $(foreach lib,$(FFLIBS),$(call PATH_LIBNAME,$(lib),$(CONFIG_SHARED:yes=S)))
 +STATIC_DEP_LIBS := $(foreach lib,$(FFLIBS),$(call PATH_LIBNAME,$(lib)))
 +
 +SRC_DIR    := $(SRC_PATH)/lib$(NAME)
 +ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))
 +SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-)
 +SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%)
 +HOBJS        = $(filter-out $(SKIPHEADERS:.h=.h.o),$(ALLHEADERS:.h=.h.o))
 +PTXOBJS      = $(filter %.ptx.o,$(OBJS))
 +$(HOBJS):     CCFLAGS += $(CFLAGS_HEADERS)
 +checkheaders: $(HOBJS)
 +.SECONDARY:   $(HOBJS:.o=.c) $(PTXOBJS:.o=.c) $(PTXOBJS:.o=)
 +
 +alltools: $(TOOLS)
 +
 +$(HOSTOBJS): %.o: %.c
 +      $(COMPILE_HOSTC)
 +
 +$(HOSTPROGS): %$(HOSTEXESUF): %.o
 +      $(HOSTLD) $(HOSTLDFLAGS) $(HOSTLD_O) $^ $(HOSTEXTRALIBS)
 +
 +$(OBJS):     | $(sort $(dir $(OBJS)))
 +$(HOBJS):    | $(sort $(dir $(HOBJS)))
 +$(HOSTOBJS): | $(sort $(dir $(HOSTOBJS)))
 +$(SLIBOBJS): | $(sort $(dir $(SLIBOBJS)))
 +$(TESTOBJS): | $(sort $(dir $(TESTOBJS)))
 +$(TOOLOBJS): | tools
 +
++OUTDIRS := $(OUTDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(SLIBOBJS) $(TESTOBJS))
 +
 +CLEANSUFFIXES     = *.d *.gcda *.gcno *.h.c *.ho *.map *.o *.pc *.ptx *.ptx.c *.ver *.version *$(DEFAULT_X86ASMD).asm *~
 +LIBSUFFIXES       = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
 +
 +define RULES
 +clean::
 +      $(RM) $(HOSTPROGS) $(TESTPROGS) $(TOOLS)
 +endef
 +
 +$(eval $(RULES))
 +
 +-include $(wildcard $(OBJS:.o=.d) $(HOSTOBJS:.o=.d) $(TESTOBJS:.o=.d) $(HOBJS:.o=.d) $(SLIBOBJS:.o=.d)) $(OBJS:.o=$(DEFAULT_X86ASMD).d)
index c3a0ff3,0000000..6cec666
mode 100644,000000..100644
--- /dev/null
@@@ -1,54 -1,0 +1,54 @@@
- OBJDIRS += fftools
 +AVPROGS-$(CONFIG_FFMPEG)   += ffmpeg
 +AVPROGS-$(CONFIG_FFPLAY)   += ffplay
 +AVPROGS-$(CONFIG_FFPROBE)  += ffprobe
 +
 +AVPROGS     := $(AVPROGS-yes:%=%$(PROGSSUF)$(EXESUF))
 +PROGS       += $(AVPROGS)
 +
 +AVBASENAMES  = ffmpeg ffplay ffprobe
 +ALLAVPROGS   = $(AVBASENAMES:%=%$(PROGSSUF)$(EXESUF))
 +ALLAVPROGS_G = $(AVBASENAMES:%=%$(PROGSSUF)_g$(EXESUF))
 +
 +OBJS-ffmpeg                        += fftools/ffmpeg_opt.o fftools/ffmpeg_filter.o fftools/ffmpeg_hw.o
 +OBJS-ffmpeg-$(CONFIG_CUVID)        += fftools/ffmpeg_cuvid.o
 +OBJS-ffmpeg-$(CONFIG_LIBMFX)       += fftools/ffmpeg_qsv.o
 +ifndef CONFIG_VIDEOTOOLBOX
 +OBJS-ffmpeg-$(CONFIG_VDA)          += fftools/ffmpeg_videotoolbox.o
 +endif
 +OBJS-ffmpeg-$(CONFIG_VIDEOTOOLBOX) += fftools/ffmpeg_videotoolbox.o
 +
 +define DOFFTOOL
 +OBJS-$(1) += fftools/cmdutils.o fftools/$(1).o $(OBJS-$(1)-yes)
 +$(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1))
 +$$(OBJS-$(1)): | fftools
 +$$(OBJS-$(1)): CFLAGS  += $(CFLAGS-$(1))
 +$(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
 +$(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(EXTRALIBS-$(1))
 +-include $$(OBJS-$(1):.o=.d)
 +endef
 +
 +$(foreach P,$(AVPROGS-yes),$(eval $(call DOFFTOOL,$(P))))
 +
 +all: $(AVPROGS)
 +
 +fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h | fftools
++OUTDIRS += fftools
 +
 +ifdef AVPROGS
 +install: install-progs install-data
 +endif
 +
 +install-progs-yes:
 +install-progs-$(CONFIG_SHARED): install-libs
 +
 +install-progs: install-progs-yes $(AVPROGS)
 +      $(Q)mkdir -p "$(BINDIR)"
 +      $(INSTALL) -c -m 755 $(AVPROGS) "$(BINDIR)"
 +
 +uninstall: uninstall-progs
 +
 +uninstall-progs:
 +      $(RM) $(addprefix "$(BINDIR)/", $(ALLAVPROGS))
 +
 +clean::
 +      $(RM) $(ALLAVPROGS) $(ALLAVPROGS_G) $(CLEANSUFFIXES:%=fftools/%)
diff --cc tests/Makefile
@@@ -2,15 -2,7 +2,15 @@@ THREADS = 
  VREF = tests/vsynth1/00.pgm
  AREF = tests/data/asynth1.sw
  
 -OUTDIRS += tests/data tests/vsynth1 tests/data/filtergraphs
 +FATEW = 34
 +FATEH = 34
 +
 +FFMPEG=ffmpeg$(PROGSSUF)$(EXESUF)
 +
 +$(AREF): CMP=
 +
 +APITESTSDIR := tests/api
- OBJDIRS += tests/data tests/vsynth1 tests/data/filtergraphs $(APITESTSDIR)/
++OUTDIRS += tests/data tests/vsynth1 tests/data/filtergraphs $(APITESTSDIR)/
  
  $(VREF): tests/videogen$(HOSTEXESUF) | tests/vsynth1
        $(M)./$< 'tests/vsynth1/'
@@@ -62,10 -30,8 +62,10 @@@ CHECKASMOBJS := $(sort $(CHECKASMOBJS:%
  
  CHECKASMDIRS := $(sort $(dir $(CHECKASMOBJS)))
  $(CHECKASMOBJS): | $(CHECKASMDIRS)
- OBJDIRS += $(CHECKASMDIRS)
+ OUTDIRS += $(CHECKASMDIRS)
  
 +tests/checkasm/checkasm.o: CFLAGS += -Umain
 +
  CHECKASM := tests/checkasm/checkasm$(EXESUF)
  
  $(CHECKASM): $(CHECKASMOBJS) $(FF_STATIC_DEP_LIBS)
diff --cc tools/Makefile
@@@ -1,11 -1,9 +1,11 @@@
 -TOOLS = qt-faststart trasher
 +TOOLS = qt-faststart trasher uncoded_frame
 +TOOLS-$(CONFIG_LIBMYSOFA) += sofa2wavs
  TOOLS-$(CONFIG_ZLIB) += cws2fws
  
 -tools/cws2fws$(EXESUF): ELIBS = $(ZLIB)
 +tools/target_dec_%_fuzzer.o: tools/target_dec_fuzzer.c
 +      $(COMPILE_C) -DFFMPEG_DECODER=$*
  
- OBJDIRS += tools
+ OUTDIRS += tools
  
  clean::
        $(RM) $(CLEANSUFFIXES:%=tools/%)