From 293f5a93b77d92fd65db7f3d0df654f102e46cfb Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sun, 11 Dec 2016 16:04:20 -0800 Subject: 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 --- pkg/ffmpeg/scripts/README.md | 15 +++++++++++++++ pkg/ffmpeg/scripts/sources.mk | 36 ++++++++++++++++++++++++++++++++++++ pkg/ffmpeg/scripts/sources.rc | 9 +++++++++ 3 files changed, 60 insertions(+) create mode 100644 pkg/ffmpeg/scripts/README.md create mode 100644 pkg/ffmpeg/scripts/sources.mk create mode 100755 pkg/ffmpeg/scripts/sources.rc (limited to 'pkg/ffmpeg/scripts') 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 . -- cgit v1.2.3