diff --git a/.gitignore b/.gitignore index a2666f7..608155e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ *.o *.so *.a + +di/ esv esvsearch result diff --git a/configure b/configure index 4e10be0..4dd8f15 100755 --- a/configure +++ b/configure @@ -5,6 +5,8 @@ set -e mkf=config.mk +di='di' +imports="$di" objs='esvapi.o util.o initial.o' srcs='esvapi.d util.d initial.d' @@ -115,6 +117,18 @@ gen_DC gen_CFLAGS gen_LDFLAGS +for directory in $imports; do + mkdir -p directory + Iflags="$(printf '%s -I%s' "$Iflags" "$directory" | xargs)" +done + +for src in $srcs; do + ! (echo "$src" | grep -Eq '\.d$') \ + && throw "$src: invalid source file extension" + [ -t 2 ] && printf ' (DI) %s \r' "$src" 1>&2 + "$dc" -o- -op -H -Hd="$di" "$src" +done + rm -f "$mkf" { @@ -122,7 +136,7 @@ rm -f "$mkf" _DC = %s _CFLAGS = %s _LDFLAGS = %s -' "$dc" "$cflags" "$ldflags" +' "$dc" "$(echo "$cflags $Iflags" | xargs)" "$ldflags" ## generate obj list printf '_OBJS ='