diff options
| author | Michael Forney <mforney@mforney.org> | 2016-12-11 16:04:20 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2016-12-13 23:10:30 -0800 |
| commit | 293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch) | |
| tree | 6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/ffmpeg/scripts | |
| parent | 9a506a6834df01a26795cea222b410f206efa9fa (diff) | |
Move to flat package hierarchy
Note to self: never try to move submodules again
To migrate your existing submodules (more or less):
set -x
set -e
mkdir .git/modules/pkg
for old in */*/src ; do
new="pkg/${old#*/}"
if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then
continue
fi
git -C ".git/modules/$old" config core.worktree "../../../../../$new"
rmdir "$new"
mv "$old" "$new"
sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp"
mv "$new/.git.tmp" "$new/.git"
mkdir ".git/modules/${new%/src}"
mv ".git/modules/$old" ".git/modules/$new"
rm "${old%/src}"/*.ninja
mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/"
rmdir "${old%/src}" || true
done
sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp
mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/ffmpeg/scripts')
| -rw-r--r-- | pkg/ffmpeg/scripts/README.md | 15 | ||||
| -rw-r--r-- | pkg/ffmpeg/scripts/sources.mk | 36 | ||||
| -rwxr-xr-x | pkg/ffmpeg/scripts/sources.rc | 9 |
3 files changed, 60 insertions, 0 deletions
diff --git a/pkg/ffmpeg/scripts/README.md b/pkg/ffmpeg/scripts/README.md new file mode 100644 index 00000000..344e246a --- /dev/null +++ b/pkg/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 >vars.txt + +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/pkg/ffmpeg/scripts/sources.mk b/pkg/ffmpeg/scripts/sources.mk new file mode 100644 index 00000000..8e0d363e --- /dev/null +++ b/pkg/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/pkg/ffmpeg/scripts/sources.rc b/pkg/ffmpeg/scripts/sources.rc new file mode 100755 index 00000000..d963e714 --- /dev/null +++ b/pkg/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 . |
