diff --git a/Makefile.m4 b/Makefile.m4 index 0b24d55..0111944 100644 --- a/Makefile.m4 +++ b/Makefile.m4 @@ -36,7 +36,7 @@ new_object([src/abstract/*.c])dnl dnl new_object([external/*.c])dnl dnl -ifdef([target],[],[define([target],esyscmd([uname -s | xargs printf '%s']))])dnl +ifdef([target],[],[define([target],my_syscmd([uname -s | xargs printf '%s']))])dnl syscmd([test -f ]m4/ostype/target.m4)dnl ifelse(sysval,[0],[include(m4/ostype/target.m4)],[errprint([M4 for your target (]m4/ostype/target.m4[) was not found, please make one ])m4exit(1)dnl diff --git a/configure b/configure index dd6f029..801ce25 100755 --- a/configure +++ b/configure @@ -99,7 +99,7 @@ fi echo "Generating Makefile... " -if ! m4 $FLAGS Makefile.m4 > Makefile; then +if ! m4 -G $FLAGS Makefile.m4 > Makefile; then echo "(M4 exited with non-zero status)" rm -f Makefile exit 1 diff --git a/m4/toplevel/options.m4 b/m4/toplevel/options.m4 index d411392..a551cbb 100644 --- a/m4/toplevel/options.m4 +++ b/m4/toplevel/options.m4 @@ -14,7 +14,7 @@ add_cflag([-Iexternal/libpng/include])dnl dnl ifdef([use_stb_truetype],[add_cflag([-DUSE_STB_TRUETYPE])])dnl ifdef([use_freetype2],[add_cflag([-DUSE_FREETYPE2])dnl -ifdef([cross_build],[],[add_cflag(esyscmd([pkg-config --cflags freetype2 | xargs printf '%s ']))dnl -add_lib(esyscmd([pkg-config --libs freetype2 | xargs printf '%s ']))dnl +ifdef([cross_build],[],[add_cflag(my_syscmd([pkg-config --cflags freetype2 | xargs printf '%s ']))dnl +add_lib(my_syscmd([pkg-config --libs freetype2 | xargs printf '%s ']))dnl ])dnl ])dnl diff --git a/m4/toplevel/rules.m4 b/m4/toplevel/rules.m4 index 834b198..0888645 100644 --- a/m4/toplevel/rules.m4 +++ b/m4/toplevel/rules.m4 @@ -5,6 +5,7 @@ include(m4/util/arg.m4)dnl include(m4/util/foreach.m4)dnl include(m4/util/comma.m4)dnl include(m4/util/default.m4)dnl +include(m4/util/my_syscmd.m4)dnl dnl default_define([cc],[gcc])dnl default_define([cflags],[-D_MILSKO])dnl @@ -22,7 +23,7 @@ define([executable_suffix],[])dnl dnl define([library_targets],[])dnl define([library_objects],[])dnl -define([new_object],[pushdef([source])define([source],patsubst(patsubst(patsubst(esyscmd([sh -c "ls -d $1"]),[\..+$],object_suffix),[ +define([new_object],[pushdef([source])define([source],patsubst(patsubst(patsubst(my_syscmd([sh -c "ls -d $1"]),[\..+$],object_suffix),[ ],[ ]),[ $],[]))define([library_targets],ifelse(library_targets,[],[source],[library_targets source]))popdef([source])])dnl define([print_library_targets],[foreach(x,space_to_comma(library_targets),[pushdef([source])define([source],[patsubst(x,[\]object_suffix[$],[.c])])dnl x: source diff --git a/m4/util/my_syscmd.m4 b/m4/util/my_syscmd.m4 new file mode 100644 index 0000000..61e71cc --- /dev/null +++ b/m4/util/my_syscmd.m4 @@ -0,0 +1,2 @@ +dnl $Id$ +define([my_syscmd],[syscmd([$1 > syscmd.out])include(syscmd.out)syscmd([sh -c "rm -f syscmd.out"])])dnl