aboutsummaryrefslogtreecommitdiffstats
path: root/move-asn1-header-files.sh
blob: c16816ae4adf1ad2f5423a1bee58019b40296fee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh
# Usage:
#    ../../move-asn1-headers.sh  osmocom/foo/bar  File1.h File2.h ...

set -e

base_dir="$(dirname "$0")"

include_subdir="$1"
shift

include_dir="$base_dir/include/$include_subdir"
mkdir -p "$include_dir"
echo "$PWD/*.h --> $include_dir"

sed_includes() {
	while [ -n "$1" ]; do
		fname="$1"
		shift

		echo 'sed -i "s,^#include \"'$fname'\"$,#include <'$include_subdir/$fname'>," *.[hc]'
		sed -i "s,^#include \"$fname\"$,#include <$include_subdir/$fname>," *.[hc]
	done
}

move_headers() {
	echo mv $@ "$include_dir/"
	mv $@ "$include_dir/"
}

# first replace all `#include "foo.h"' with `#include <dir/foo.h>' locally
sed_includes $@

# move sed'ed *.h files to the proper include/dir
move_headers $@