
# Copyright (C) Igor Sysoev


MAKEFILE=$OBJS/Makefile

NGX_AUTO_CONFIG_H=$OBJS/ngx_auto_config.h
NGX_MODULES_C=$OBJS/ngx_modules.c

NGX_AUTOTEST=$OBJS/autotest
NGX_ERR=$OBJS/autoconf.err

CC_WARN=$CC

PCH=NO
USEPCH=

OBJEXT=
BINEXT=
DIRSEP='\/'
MAKE_SL=NO


# checking echo's "-n" option and "\c" capabilties

if echo "test\c" | grep c >/dev/null; then
    if echo -n test | grep n >/dev/null; then
        ngx_n=
        ngx_c=
    else
        ngx_n=-n
        ngx_c=
    fi

else
    ngx_n=
    ngx_c='\c'
fi



if test ! -f Makefile; then

    cat << END > Makefile

build:
	\$(MAKE) -f $OBJS/Makefile

install:
	\$(MAKE) -f $OBJS/Makefile install

clean:
	rm -rf Makefile $OBJS

upgrade:
	$SBIN_PATH -t
	kill -USR2 \`cat $PID_PATH\`
	sleep 1
	test -f $PID_PATH.newbin
	kill -WINCH \`cat $PID_PATH\`

END

fi
