X-Git-Url: http://git.thejh.net/?p=libjh.git;a=blobdiff_plain;f=compile.sh;h=45584641077bdcbed9570f3c73bdb2acfde225d6;hp=042d7102d0d3986ca152369ce5e758e2afbdce66;hb=ae2ab6ade88f182910ae59abfbf69ef0ce64c273;hpb=f1079bdbda6d755f21ef6b7f11cf479b17324e93 diff --git a/compile.sh b/compile.sh index 042d710..4558464 100755 --- a/compile.sh +++ b/compile.sh @@ -24,6 +24,7 @@ echo "welcome. your friendly compiler will be \"$CC\" today." >&2 echo "going ahead with CFLAGS=\"$CFLAGS\"..." >&2 # generate header +cat header.h > gen/jh.h for source_file in $(ls|grep '\.c$'); do echo "extracting header data from $source_file..." >&2 source_name="$(sed 's|\.c$||' <<< "$source_file")" @@ -33,12 +34,12 @@ for source_file in $(ls|grep '\.c$'); do sed 's|^PUBLIC_FN \(.*\){|KEEPLINE \1;|g' | sed 's|^PUBLIC_CONST |KEEPLINE #define |g' | sed 's|^HEADER |KEEPLINE |g' | - grep '^KEEPLINE' | + (set +e +o pipefail; grep '^KEEPLINE'; exit 0) | sed 's|^KEEPLINE ||g' echo '' echo '' -done > gen/jh.h +done >> gen/jh.h # preprocess all source files for source_file in $(ls|grep '\.c$'); do @@ -49,9 +50,10 @@ for source_file in $(ls|grep '\.c$'); do echo '#include "../jh.h"' > "gen/realc/$source_name.c" cat "$source_file" | - grep -v '^PUBLIC_CONST ' | + (set +e +o pipefail; grep -v '^PUBLIC_CONST '; exit 0) | sed 's|^PUBLIC_FN ||g' | - grep -v '^HEADER ' | + (set +e +o pipefail; grep -v '^HEADER '; exit 0) | + sed 's| *JH_ATTR_[A-Z_]*||g' | cat >> "gen/realc/$source_name.c" if [ $? -ne 0 ]; then exit 1; fi