diff options
Diffstat (limited to 'hw2/autogen.sh')
-rwxr-xr-x | hw2/autogen.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/hw2/autogen.sh b/hw2/autogen.sh new file mode 100755 index 0000000..a15abd9 --- /dev/null +++ b/hw2/autogen.sh @@ -0,0 +1,51 @@ +#!/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" |