
mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \
         $OBJS/src/os/unix $OBJS/src/os/win32 \
         $OBJS/src/http $OBJS/src/http/modules $OBJS/src/http/modules/proxy


echo "CC = $CC"                                                   > $MAKEFILE
echo "LINK = $LINK"                                               >> $MAKEFILE
if [ $CC = wcl386 ]; then
    echo MAKE = wmake                                             >> $MAKEFILE
fi
echo "CFLAGS = $CFLAGS"                                           >> $MAKEFILE
echo                                                              >> $MAKEFILE


if [ $MAKE_SL = YES ]; then
    echo                                                          >> $MAKEFILE
fi

all_inc="$CORE_INCS -I $OBJS $HTTP_INCS"
if [ $INC_EQ = YES ]; then
    all_inc=`echo $all_inc | sed -e "s/-I /-i=/g"`
fi

if [ $MAKE_BS = YES ]; then
    all_inc=`echo $all_inc | sed -e "s/\//\\\\\\/g"`
fi

echo "ALL_INCS = $all_inc"                                        >> $MAKEFILE
echo                                                              >> $MAKEFILE


# CORE_DEPS

if [ $MAKE_SL = YES ]; then
    echo $ngx_n "CORE_DEPS =" $ngx_c                              >> $MAKEFILE
else
    echo "CORE_DEPS = \\"                                         >> $MAKEFILE
fi

for dep in $CORE_DEPS
do
    if [ $MAKE_BS = YES ]; then
        dep=`echo $dep | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo $ngx_n " $dep" $ngx_c                                >> $MAKEFILE
    else
        echo "	$dep \\"                                          >> $MAKEFILE
    fi
done
echo                                                              >> $MAKEFILE


# CORE_INCS

if [ $MAKE_SL = YES ]; then
    echo                                                          >> $MAKEFILE
fi

inc="$CORE_INCS -I $OBJS"
if [ $INC_EQ = YES ]; then
    inc=`echo $inc | sed -e "s/-I /-i=/g"`
fi

if [ $MAKE_BS = YES ]; then
    inc=`echo $inc | sed -e "s/\//\\\\\\/g"`
fi

echo "CORE_INCS = $inc"                                           >> $MAKEFILE
echo                                                              >> $MAKEFILE


# HTTP_DEPS

if [ $MAKE_SL = YES ]; then
    echo $ngx_n "HTTP_DEPS =" $ngx_c                              >> $MAKEFILE
else
    echo "HTTP_DEPS = \\"                                         >> $MAKEFILE
fi

for dep in $HTTP_DEPS
do
    if [ $MAKE_BS = YES ]; then
        dep=`echo $dep | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo $ngx_n " $dep" $ngx_c                                >> $MAKEFILE
    else
        echo "	$dep \\"                                          >> $MAKEFILE
    fi
done
echo                                                              >> $MAKEFILE


# HTTP_INCS

if [ $MAKE_SL = YES ]; then
    echo                                                          >> $MAKEFILE
fi

inc="$HTTP_INCS -I $OBJS"
if [ $INC_EQ = YES ]; then
    inc=`echo $inc | sed -e "s/-I /-i=/g"`
fi

if [ $MAKE_BS = YES ]; then
    inc=`echo $inc | sed -e "s/\//\\\\\\/g"`
fi

echo "HTTP_INCS = $inc"                                           >> $MAKEFILE
echo                                                              >> $MAKEFILE


# nginx

if [ $MAKE_SL = YES ]; then
    echo $ngx_n "nginx$BINEXT:	" $ngx_c                          >> $MAKEFILE
else
    echo "nginx$BINEXT: \\"                                       >> $MAKEFILE
fi


# nginx deps

for src in $CORE_SRCS $HTTP_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"`
    obj="$OBJS/$obj"

    if [ $MAKE_BS = YES ]; then
        obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo $ngx_n " $obj" $ngx_c                                >> $MAKEFILE
    else
        echo "	$obj \\"                                          >> $MAKEFILE
    fi
done

for src in $NGX_MODULES_C $LINK_DEPS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`

    if [ $MAKE_BS = YES ]; then
        obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo $ngx_n " $obj" $ngx_c                                >> $MAKEFILE
    else
        echo "	$obj \\"                                          >> $MAKEFILE
    fi
done
echo                                                              >> $MAKEFILE


# nginx build

if [ $MAKE_SL = YES ]; then
    echo $ngx_n "	\$(LINK) ${BINOUT}nginx" $ngx_c           >> $MAKEFILE
else
    echo "	\$(LINK) ${BINOUT}nginx \\"                       >> $MAKEFILE
fi


# nginx build sources

for src in $CORE_SRCS $HTTP_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"`
    obj="$OBJS/$obj"

    if [ $MAKE_BS = YES ]; then
        obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo $ngx_n " $obj" $ngx_c                                >> $MAKEFILE
    else
        echo "	$obj \\"                                          >> $MAKEFILE
    fi
done


# nginx build ngx_modules.c and libs

obj=`echo $NGX_MODULES_C | sed -e "s/\.c\$/.$OBJEXT/"`
libs=`echo $CORE_LIBS | sed -e "s/\.c\$/.$OBJEXT/"`
src=$NGX_MODULES_C
if [ $MAKE_BS = YES ]; then
    obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
    src=`echo $src | sed -e "s/\//\\\\\\/g"`
    libs=`echo $libs | sed -e "s/\//\\\\\\/g"`
fi

if [ $MAKE_SL = YES ]; then
    echo " $obj $libs $CORE_LINK"                                 >> $MAKEFILE
    echo                                                          >> $MAKEFILE
else
    echo "	$obj \\"                                          >> $MAKEFILE
    echo "	$CORE_LIBS \\"                                    >> $MAKEFILE
    echo "	$CORE_LINK"                                       >> $MAKEFILE
    echo                                                          >> $MAKEFILE
fi


# ngx_modules.c

deps="\$(CORE_DEPS)"

if [ $PCH != NO ]; then
    args="\$(CFLAGS) $USEPCH \$(ALL_INCS)"
else
    args="\$(CFLAGS) $USEPCH \$(CORE_INCS)"
fi

if [ $MAKE_SL = YES ]; then
    echo "$obj: $NGX_MODULES_C $deps"                             >> $MAKEFILE
    echo $ngx_n "	\$(CC) $COMPILEONLY $args" $ngx_c         >> $MAKEFILE
    echo " $OBJOUT$obj $src"                                      >> $MAKEFILE
    echo                                                          >> $MAKEFILE
else
    echo "$obj: \\"                                               >> $MAKEFILE
    echo "	$NGX_MODULES_C $deps"                             >> $MAKEFILE
    echo "	\$(CC) $COMPILEONLY $args \\"                     >> $MAKEFILE
    echo "		$OBJOUT$obj \\"                           >> $MAKEFILE
    echo "		$src"                                     >> $MAKEFILE
    echo                                                          >> $MAKEFILE
fi


# core sources

for src in $CORE_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"`
    obj="$OBJS/$obj"

    if [ $MAKE_BS = YES ]; then
        obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
        src=`echo $src | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo "$obj: $src $deps"                                   >> $MAKEFILE
        echo "	\$(CC) $COMPILEONLY $args $OBJOUT$obj $src"       >> $MAKEFILE
        echo                                                      >> $MAKEFILE
    else
        echo "$obj: \\"                                           >> $MAKEFILE
        echo "	$src $deps"                                       >> $MAKEFILE
        echo "	\$(CC) $COMPILEONLY $args \\"                     >> $MAKEFILE
        echo "		$OBJOUT$obj \\"                           >> $MAKEFILE
        echo "		$src"                                     >> $MAKEFILE
        echo                                                      >> $MAKEFILE
    fi
done


# http sources

deps="\$(CORE_DEPS) \$(HTTP_DEPS)"

if [ $PCH != NO ]; then
    args="\$(CFLAGS) $USEPCH \$(ALL_INCS)"
else
    args="\$(CFLAGS) $USEPCH \$(CORE_INCS) \$(HTTP_INCS)"
fi

for src in $HTTP_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`
    obj="$OBJS/$obj"

    if [ $MAKE_BS = YES ]; then
        obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
        src=`echo $src | sed -e "s/\//\\\\\\/g"`
    fi

    if [ $MAKE_SL = YES ]; then
        echo "$obj: $src $deps"                                   >> $MAKEFILE
        echo "	\$(CC) $COMPILEONLY $args $OBJOUT$obj $src"       >> $MAKEFILE
        echo                                                      >> $MAKEFILE
    else
        echo "$obj: \\"                                           >> $MAKEFILE
        echo "	$src $deps"                                       >> $MAKEFILE
        echo "	\$(CC) $COMPILEONLY $args \\"                     >> $MAKEFILE
        echo "		$OBJOUT$obj \\"                           >> $MAKEFILE
        echo "		$src"                                     >> $MAKEFILE
        echo                                                      >> $MAKEFILE
    fi
done


# precompiled headers

if [ $PCH != NO ]; then
    echo "#include <ngx_config.h>" > $OBJS/pch.c

    pch="$PCH:	src/core/ngx_config.h $OS_CONFIG $OBJS/ngx_auto_config.h"
    src="\$(CC) \$(CFLAGS) $BUILDPCH $COMPILEONLY \$(ALL_INCS)"
    src="$src $OBJOUT$OBJS/pch.obj $OBJS/pch.c"

    if [ $MAKE_BS = YES ]; then
        pch=`echo $pch | sed -e "s/\//\\\\\\/g"`
        src=`echo $src | sed -e "s/\//\\\\\\/g"`
    fi

    echo "$pch"                                                   >> $MAKEFILE
    echo "	$src"                                             >> $MAKEFILE
    echo                                                          >> $MAKEFILE
fi
