Neels Hofmeyr | 5aabad1 | 2016-01-04 15:23:09 +0100 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # Usage: |
| 3 | # ../../move-asn1-headers.sh osmocom/foo/bar File1.h File2.h ... |
| 4 | |
| 5 | set -e |
| 6 | |
| 7 | base_dir="$(dirname "$0")" |
| 8 | |
| 9 | include_subdir="$1" |
| 10 | shift |
| 11 | |
| 12 | include_dir="$base_dir/include/$include_subdir" |
| 13 | mkdir -p "$include_dir" |
| 14 | echo "$PWD/*.h --> $include_dir" |
| 15 | |
| 16 | sed_includes() { |
| 17 | while [ -n "$1" ]; do |
| 18 | fname="$1" |
| 19 | shift |
| 20 | |
| 21 | echo 'sed -i "s,^#include \"'$fname'\"$,#include <'$include_subdir/$fname'>," *.[hc]' |
| 22 | sed -i "s,^#include \"$fname\"$,#include <$include_subdir/$fname>," *.[hc] |
| 23 | done |
| 24 | } |
| 25 | |
| 26 | move_headers() { |
| 27 | echo mv $@ "$include_dir/" |
| 28 | mv $@ "$include_dir/" |
| 29 | } |
| 30 | |
| 31 | # first replace all `#include "foo.h"' with `#include <dir/foo.h>' locally |
| 32 | sed_includes $@ |
| 33 | |
| 34 | # move sed'ed *.h files to the proper include/dir |
Neels Hofmeyr | e8b1465 | 2016-01-04 15:39:35 +0100 | [diff] [blame] | 35 | move_headers $@ |