add assert header to jh.h
[libjh.git] / compile.sh
index 64c148d..6e3b1c6 100755 (executable)
@@ -11,7 +11,7 @@ set -f -u -e -o pipefail
 # flags for the build - adjust for your needs
 # delete all the generated stuff afterwards (with `rm -r gen`)
 CC='gcc'
-CFLAGS='-O3 -Wall -Werror -fPIC -std=c99 -march=native'
+CFLAGS='-O3 -Wall -Werror -Wno-error=strict-aliasing -fPIC -std=c99 -march=native'
 
 # create build environment if it doesn't exist yet
 mkdir -p gen # contains all generated files
@@ -24,6 +24,9 @@ echo "welcome. your friendly compiler will be \"$CC\" today." >&2
 echo "going ahead with CFLAGS=\"$CFLAGS\"..." >&2
 
 # generate header
+set +f
+cat *.h > gen/jh.h
+set -f
 for source_file in $(ls|grep '\.c$'); do
   echo "extracting header data from $source_file..." >&2
   source_name="$(sed 's|\.c$||' <<< "$source_file")"
@@ -38,7 +41,7 @@ for source_file in $(ls|grep '\.c$'); do
   
   echo ''
   echo ''
-done > gen/jh.h
+done >> gen/jh.h
 
 # preprocess all source files
 for source_file in $(ls|grep '\.c$'); do
@@ -52,6 +55,7 @@ for source_file in $(ls|grep '\.c$'); do
   (set +e +o pipefail; grep -v '^PUBLIC_CONST '; exit 0) |
   sed 's|^PUBLIC_FN ||g' |
   (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