summaryrefslogtreecommitdiff
path: root/media/ffmpeg/scripts
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-07-02 15:22:56 -0700
committerMichael Forney <mforney@mforney.org>2016-07-02 21:40:59 -0700
commit52b92b6ff3985b81d8ef513fea3d4d8b3c4bc6e5 (patch)
tree09bea4d90c2f63ed41da77509731356b432c2d91 /media/ffmpeg/scripts
parent07e26ae6c04733909fc8577c9d37fd70ce87e687 (diff)
Add ffmpeg 3.1
For now, a very minimal set of codecs is enabled. This will likely be expanded later.
Diffstat (limited to 'media/ffmpeg/scripts')
-rw-r--r--media/ffmpeg/scripts/README.md15
-rw-r--r--media/ffmpeg/scripts/sources.mk36
-rwxr-xr-xmedia/ffmpeg/scripts/sources.rc9
3 files changed, 60 insertions, 0 deletions
diff --git a/media/ffmpeg/scripts/README.md b/media/ffmpeg/scripts/README.md
new file mode 100644
index 00000000..85e71ed9
--- /dev/null
+++ b/media/ffmpeg/scripts/README.md
@@ -0,0 +1,15 @@
+To generate `sources.txt`, first run configure ffmpeg
+
+ ../src/configure
+
+Then, generate `vars.txt` from config.asm
+
+ awk '{print $2}' config.asm
+
+Build `sources.txt` from vars.txt and ffmpeg's `Makefile`s
+
+ make -f sources.mk >../sources.txt
+
+Finally, clean up what `./configure` left behind
+
+ git clean -df .
diff --git a/media/ffmpeg/scripts/sources.mk b/media/ffmpeg/scripts/sources.mk
new file mode 100644
index 00000000..8e0d363e
--- /dev/null
+++ b/media/ffmpeg/scripts/sources.mk
@@ -0,0 +1,36 @@
+VARS := $(file < vars.txt)
+
+DIRS :=\
+ libavcodec\
+ libavdevice\
+ libavfilter\
+ libavformat\
+ libavutil\
+ libswresample\
+ libswscale
+
+ARCHS :=\
+ x86
+
+define printsrcs
+ @echo $(1) $(foreach dir,$(DIRS),\
+ $(OBJS-$(1)/$(dir):%.o=$(dir)/%.c)\
+ $(MMX-OBJS-$(1)/$(dir):%.o=$(dir)/%.c)\
+ $(YASM-OBJS-$(1)/$(dir):%.o=$(dir)/%.asm)\
+ )
+
+endef
+
+.PHONY: all
+all: vars.txt
+ $(foreach var,$(VARS),$(call printsrcs,$(var)))
+
+define subdir
+ $(foreach var,$(VARS),$(eval $(var):=$(var)/$(1)))
+ include ../src/$(1)/Makefile
+ $(foreach arch,$(ARCHS),
+ -include ../src/$(1)/$(arch)/Makefile
+ )
+endef
+
+$(foreach dir,$(DIRS),$(eval $(call subdir,$(dir))))
diff --git a/media/ffmpeg/scripts/sources.rc b/media/ffmpeg/scripts/sources.rc
new file mode 100755
index 00000000..d963e714
--- /dev/null
+++ b/media/ffmpeg/scripts/sources.rc
@@ -0,0 +1,9 @@
+#!/bin/rc
+
+flag e +
+flag x +
+
+../src/configure >/dev/null
+awk '{print $2}' config.asm >vars.txt
+make -f sources.mk >../sources.txt
+git clean -df .