--- /dev/null
+
+# Copyright (C) Dmitry Volyntsev
+# Copyright (C) NGINX, Inc.
+
+# Initialize variables with null values if they are not defined.
+CFLAGS=${CFLAGS=}
+NJS_TEST_CFLAGS=${NJS_TEST_CFLAGS=}
+NJS_TEST_LIBS=${NJS_TEST_LIBS=}
+
+
+# Initialize variables with default if they are not defined.
+CC=${CC:-cc}
+AR=${AR:-ar}
+NJS_CFLAGS=${NJS_CFLAGS=}
+
+NJS_BUILD_DIR=${NJS_BUILD_DIR:-build}
+
+NJS_AUTOTEST=$NJS_BUILD_DIR/autotest
+NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err
+NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h
+NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile
+
+test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR
+
+> $NJS_AUTOCONF_ERR
+
+cat << END > $NJS_AUTO_CONFIG_H
+
+/* This file is auto-generated by configure */
+
+END
+
+NJS_LIBRT=
+
+njs_regex_cont=' \\\
+ '
mkdir -p $NJS_BUILD_DIR/src
mkdir -p $NJS_BUILD_DIR/test
+njs_objs=`echo $NJS_LIB_SRCS \
+ | sed -e "s# *\([^ ]*\.\)c#$NJS_BUILD_DIR/\1o$njs_regex_cont#g"`
cat << END > $NJS_MAKEFILE
NJS_CFLAGS = ${NJS_CFLAGS} ${NJS_CC_OPT} ${CFLAGS}
default: $NJS_DEFAULT_TARGET
-END
-
-
-# The include paths list.
-printf "NJS_LIB_INCS =" >> $NJS_MAKEFILE
-
-for njs_inc in src $NJS_BUILD_DIR
-do
- printf " -I$njs_inc" >> $NJS_MAKEFILE
-done
+NJS_LIB_INCS = -Isrc -I$NJS_BUILD_DIR
-echo >> $NJS_MAKEFILE
-echo >> $NJS_MAKEFILE
-
-
-# The njs object files list.
-
-echo "NJS_LIB_OBJS = \\" >> $NJS_MAKEFILE
-
-for njs_src in $NJS_LIB_SRCS
-do
- fname=$(basename $njs_src)
- njs_obj="src/${fname%.c}.o"
- echo " $NJS_BUILD_DIR/$njs_obj \\" >> $NJS_MAKEFILE
-done
-
-echo >> $NJS_MAKEFILE
-
-# The njs static library.
-
-cat << END >> $NJS_MAKEFILE
+NJS_LIB_OBJS = $njs_objs
libnjs: $NJS_BUILD_DIR/libnjs.a
\$(NJS_STATIC_LINK) $NJS_BUILD_DIR/libnjs.a \\
\$(NJS_LIB_OBJS)
-
END
-
# object files.
for njs_src in $NJS_LIB_SRCS
# Stop on uninitialized variable.
set -u
-
-# Initialize variables with null values if they are not defined.
-CFLAGS=${CFLAGS=}
-NJS_TEST_CFLAGS=${NJS_TEST_CFLAGS=}
-NJS_TEST_LIBS=${NJS_TEST_LIBS=}
-
-
-# Initialize variables with default if they are not defined.
-CC=${CC:-cc}
-AR=${AR:-ar}
-NJS_CFLAGS=${NJS_CFLAGS=}
-
-NJS_BUILD_DIR=${NJS_BUILD_DIR:-build}
-
-NJS_AUTOTEST=$NJS_BUILD_DIR/autotest
-NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err
-NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h
-NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile
-
-test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR
-
-> $NJS_AUTOCONF_ERR
-
-cat << END > $NJS_AUTO_CONFIG_H
-
-/* This file is auto-generated by configure */
-
-END
-
-NJS_LIBRT=
-
+. auto/init
. auto/os
. auto/options
. auto/cc