#!/bin/sh map_c_filename () { c_filename="`basename $1`" case "$c_filename" in "d1array.c") echo "basic-array.c" ;; "d1arrstr.c") echo "basic-arrstr.c" ;; "d2array.c") echo "basic-array2.c" ;; "list.c") echo "basic-list.c" ;; "toargv.c") echo "basic-argv.c" ;; "qarg.c") echo "basic-qarg.c" ;; *) echo "$c_filename" ;; esac } map_h_filename () { h_filename="`basename $1`" case "$h_filename" in "l4darr.h") echo "basic-array.h" ;; "l4bds.h") echo "basic-list.h" ;; "l4arg.h") echo "basic-arg.h" ;; *) echo "$h_filename" ;; esac } generate_file () { file_src="$1" case "$file_src" in *.c) file_dest="`map_c_filename $file_src`" ;; *.h) file_dest="`map_h_filename $file_src`" ;; esac [ -z "$file_dest" ] && return 1 echo "Generating $file_dest from $file_src" sed -f "libbasic.sed" "$file_src" > "$file_dest" } autoreconf -iv [ -z "$1" ] && exit 0 git clone "$1" "l4basic" for i in l4basic/l4darr/*.[ch] l4basic/l4bds/*.[ch] l4basic/l4arg/*.[ch] do generate_file "$i" "." done rm -rf "l4basic"