#!/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 ' locally sed_includes $@ # move sed'ed *.h files to the proper include/dir move_headers $@