10Sigor@sysoev.ru 20Sigor@sysoev.ru# Copyright (C) Igor Sysoev 30Sigor@sysoev.ru# Copyright (C) Valentin V. Bartenev 40Sigor@sysoev.ru# Copyright (C) NGINX, Inc. 50Sigor@sysoev.ru 60Sigor@sysoev.ru 70Sigor@sysoev.ru$echo "creating $NXT_MAKEFILE" 80Sigor@sysoev.ru 90Sigor@sysoev.rumkdir -p $NXT_BUILD_DIR/src \ 100Sigor@sysoev.ru $NXT_BUILD_DIR/test 110Sigor@sysoev.ru 120Sigor@sysoev.ru 130Sigor@sysoev.rucat << END > $NXT_MAKEFILE 140Sigor@sysoev.ru 150Sigor@sysoev.ruCC = $CC 160Sigor@sysoev.ru 173Sigor@sysoev.ruCFLAGS = $NXT_CFLAGS $NXT_CC_OPT $CFLAGS 180Sigor@sysoev.ru 190Sigor@sysoev.ruNXT_EXEC_LINK = $NXT_EXEC_LINK $NXT_LD_OPT 200Sigor@sysoev.ruNXT_SHARED_LOCAL_LINK = $NXT_SHARED_LOCAL_LINK $NXT_LD_OPT 210Sigor@sysoev.ruNXT_MODULE_LINK = $NXT_MODULE_LINK $NXT_LD_OPT 220Sigor@sysoev.ru 23216Sigor@sysoev.ru.PHONY: $NXT_BIN 24216Sigor@sysoev.ru$NXT_BIN: $NXT_BUILD_DIR/$NXT_BIN 25216Sigor@sysoev.ru 26216Sigor@sysoev.ruall: $NXT_BIN 27216Sigor@sysoev.ru 280Sigor@sysoev.ruEND 290Sigor@sysoev.ru 300Sigor@sysoev.ru 310Sigor@sysoev.ru# The include paths list. 320Sigor@sysoev.ru 330Sigor@sysoev.ru$echo -n "NXT_LIB_INCS =" >> $NXT_MAKEFILE 340Sigor@sysoev.ru 350Sigor@sysoev.rufor nxt_inc in src $NXT_BUILD_DIR 360Sigor@sysoev.rudo 370Sigor@sysoev.ru $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE 380Sigor@sysoev.rudone 390Sigor@sysoev.ru 400Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 410Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 420Sigor@sysoev.ru 430Sigor@sysoev.ru 440Sigor@sysoev.ru# The include files dependences list. 450Sigor@sysoev.ru 460Sigor@sysoev.ru$echo "NXT_LIB_DEPS = \\" >> $NXT_MAKEFILE 470Sigor@sysoev.ru 48246Sigor@sysoev.rufor nxt_dep in $NXT_LIB_DEPS $NXT_TEST_DEPS $NXT_AUTO_CONFIG_H 490Sigor@sysoev.rudo 500Sigor@sysoev.ru $echo " $nxt_dep \\" >> $NXT_MAKEFILE 510Sigor@sysoev.rudone 520Sigor@sysoev.ru 530Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 540Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 550Sigor@sysoev.ru 560Sigor@sysoev.ru 570Sigor@sysoev.ru# Library object files list. 580Sigor@sysoev.ru 590Sigor@sysoev.ru$echo "NXT_LIB_OBJS = \\" >> $NXT_MAKEFILE 600Sigor@sysoev.ru 610Sigor@sysoev.rufor nxt_src in $NXT_LIB_SRCS 620Sigor@sysoev.rudo 630Sigor@sysoev.ru nxt_obj=`$echo $nxt_src | sed -e "s/\.c$/\.o/"` 640Sigor@sysoev.ru $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 650Sigor@sysoev.rudone 660Sigor@sysoev.ru 670Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 680Sigor@sysoev.ru 690Sigor@sysoev.ru 700Sigor@sysoev.ru# Shared and static library. 710Sigor@sysoev.ru 720Sigor@sysoev.rucat << END >> $NXT_MAKEFILE 730Sigor@sysoev.ru 740Sigor@sysoev.rulibnxt: $NXT_BUILD_DIR/$NXT_LIB_SHARED $NXT_BUILD_DIR/$NXT_LIB_STATIC 750Sigor@sysoev.ru 760Sigor@sysoev.ru$NXT_BUILD_DIR/$NXT_LIB_SHARED: \$(NXT_LIB_OBJS) 770Sigor@sysoev.ru \$(NXT_SHARED_LOCAL_LINK) -o $NXT_BUILD_DIR/$NXT_LIB_SHARED \\ 780Sigor@sysoev.ru \$(NXT_LIB_OBJS) \\ 790Sigor@sysoev.ru $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 800Sigor@sysoev.ru 810Sigor@sysoev.ru$NXT_BUILD_DIR/$NXT_LIB_STATIC: \$(NXT_LIB_OBJS) 820Sigor@sysoev.ru $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 830Sigor@sysoev.ru \$(NXT_LIB_OBJS) 840Sigor@sysoev.ru 850Sigor@sysoev.ruEND 860Sigor@sysoev.ru 870Sigor@sysoev.ru 880Sigor@sysoev.ru# Object files. 890Sigor@sysoev.ru 90246Sigor@sysoev.rufor nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS 910Sigor@sysoev.rudo 920Sigor@sysoev.ru nxt_obj=`$echo $nxt_src | sed -e "s/\.c$/\.o/"` 930Sigor@sysoev.ru cat << END >> $NXT_MAKEFILE 940Sigor@sysoev.ru 950Sigor@sysoev.ru$NXT_BUILD_DIR/$nxt_obj: $nxt_src \$(NXT_LIB_DEPS) 960Sigor@sysoev.ru \$(CC) -c \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\ 970Sigor@sysoev.ru -o $NXT_BUILD_DIR/$nxt_obj \\ 980Sigor@sysoev.ru $nxt_src 990Sigor@sysoev.ruEND 1000Sigor@sysoev.ru 1010Sigor@sysoev.rudone 1020Sigor@sysoev.ru 1030Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 1040Sigor@sysoev.ru 1050Sigor@sysoev.ru 106246Sigor@sysoev.ru# Test object files list. 1070Sigor@sysoev.ru 108246Sigor@sysoev.ru$echo "NXT_TEST_OBJS = \\" >> $NXT_MAKEFILE 1090Sigor@sysoev.ru 110246Sigor@sysoev.rufor nxt_src in $NXT_TEST_SRCS 1110Sigor@sysoev.rudo 1120Sigor@sysoev.ru nxt_obj=`$echo $nxt_src | sed -e "s/\.c$/\.o/"` 1130Sigor@sysoev.ru $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 1140Sigor@sysoev.rudone 1150Sigor@sysoev.ru 1160Sigor@sysoev.ru 117246Sigor@sysoev.ru# Test executables. 1180Sigor@sysoev.ru 1190Sigor@sysoev.rucat << END >> $NXT_MAKEFILE 1200Sigor@sysoev.ru 121246Sigor@sysoev.ru$NXT_BUILD_DIR/tests: \$(NXT_TEST_OBJS) \\ 1220Sigor@sysoev.ru $NXT_BUILD_DIR/$NXT_LIB_STATIC \$(NXT_LIB_DEPS) 123246Sigor@sysoev.ru \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/tests \\ 124246Sigor@sysoev.ru \$(CFLAGS) \$(NXT_TEST_OBJS) \\ 1250Sigor@sysoev.ru $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 1260Sigor@sysoev.ru $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 1270Sigor@sysoev.ru 1280Sigor@sysoev.ru$NXT_BUILD_DIR/utf8_file_name_test: $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\ 1290Sigor@sysoev.ru $NXT_BUILD_DIR/$NXT_LIB_STATIC \$(NXT_LIB_DEPS) 1300Sigor@sysoev.ru \$(CC) \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\ 1310Sigor@sysoev.ru -o $NXT_BUILD_DIR/utf8_file_name_test \\ 1320Sigor@sysoev.ru $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\ 1330Sigor@sysoev.ru $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 1340Sigor@sysoev.ru $NXT_LD_OPT $NXT_LIBM $NXT_LIBS 1350Sigor@sysoev.ru 1360Sigor@sysoev.ruEND 1370Sigor@sysoev.ru 1380Sigor@sysoev.ru 1390Sigor@sysoev.ruNXT_MAKE_INCS="src $NXT_BUILD_DIR" 1400Sigor@sysoev.ruNXT_MAKE_DEPS="\$(NXT_LIB_DEPS) $NXT_DEPS" 1410Sigor@sysoev.ruNXT_MAKE_SRCS="$NXT_SRCS" 1420Sigor@sysoev.ru 1430Sigor@sysoev.ru 1440Sigor@sysoev.ru# The include pathes list. 1450Sigor@sysoev.ru 1460Sigor@sysoev.ru$echo -n "NXT_INCS =" >> $NXT_MAKEFILE 1470Sigor@sysoev.ru 1480Sigor@sysoev.rufor nxt_inc in $NXT_MAKE_INCS 1490Sigor@sysoev.rudo 1500Sigor@sysoev.ru $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE 1510Sigor@sysoev.rudone 1520Sigor@sysoev.ru 1530Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 1540Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 1550Sigor@sysoev.ru 1560Sigor@sysoev.ru 1570Sigor@sysoev.ru# The include files dependences list. 1580Sigor@sysoev.ru 1590Sigor@sysoev.ru$echo "NXT_DEPS = \\" >> $NXT_MAKEFILE 1600Sigor@sysoev.ru 1610Sigor@sysoev.rufor nxt_dep in $NXT_MAKE_DEPS 1620Sigor@sysoev.rudo 1630Sigor@sysoev.ru $echo " $nxt_dep \\" >> $NXT_MAKEFILE 1640Sigor@sysoev.rudone 1650Sigor@sysoev.ru 1660Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 1670Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 1680Sigor@sysoev.ru 1690Sigor@sysoev.ru 1700Sigor@sysoev.ru# Object files list. 1710Sigor@sysoev.ru 1720Sigor@sysoev.ru$echo "NXT_OBJS = \\" >> $NXT_MAKEFILE 1730Sigor@sysoev.ru 174216Sigor@sysoev.rufor nxt_src in $NXT_MAKE_SRCS 1750Sigor@sysoev.rudo 1760Sigor@sysoev.ru nxt_obj=`$echo $nxt_src | sed -e "s/\.c$/\.o/"` 1770Sigor@sysoev.ru $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 1780Sigor@sysoev.rudone 1790Sigor@sysoev.ru 1800Sigor@sysoev.ru$echo >> $NXT_MAKEFILE 1810Sigor@sysoev.ru 1820Sigor@sysoev.ru 183*259Sigor@sysoev.ru# unit executable. 1840Sigor@sysoev.ru 1850Sigor@sysoev.rucat << END >> $NXT_MAKEFILE 1860Sigor@sysoev.ru 1870Sigor@sysoev.ru$NXT_BUILD_DIR/$NXT_BIN: $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 1880Sigor@sysoev.ru \$(NXT_OBJS) 18925Sigor@sysoev.ru \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/$NXT_BIN \$(CFLAGS) \\ 1900Sigor@sysoev.ru \$(NXT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 1910Sigor@sysoev.ru $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 1920Sigor@sysoev.ru 1930Sigor@sysoev.ruEND 1940Sigor@sysoev.ru 1950Sigor@sysoev.ru 196*259Sigor@sysoev.ru# unit object files. 1970Sigor@sysoev.ru 1980Sigor@sysoev.rufor nxt_src in $NXT_MAKE_SRCS 1990Sigor@sysoev.rudo 2000Sigor@sysoev.ru nxt_obj=`$echo $nxt_src | sed -e "s/\.c$/\.o/"` 2010Sigor@sysoev.ru cat << END >> $NXT_MAKEFILE 2020Sigor@sysoev.ru 2030Sigor@sysoev.ru$NXT_BUILD_DIR/$nxt_obj: $nxt_src \$(NXT_DEPS) 2040Sigor@sysoev.ru \$(CC) -c \$(CFLAGS) \$(NXT_INCS) \\ 2050Sigor@sysoev.ru $NXT_LIB_AUX_CFLAGS \\ 2060Sigor@sysoev.ru -o $NXT_BUILD_DIR/$nxt_obj \\ 2070Sigor@sysoev.ru $nxt_src 2080Sigor@sysoev.ruEND 2090Sigor@sysoev.ru 2100Sigor@sysoev.rudone 2110Sigor@sysoev.ru 2120Sigor@sysoev.ru 2130Sigor@sysoev.ru# Makefile. 2140Sigor@sysoev.ru# *.dSYM is MacOSX Clang debug information. 2150Sigor@sysoev.ru 2160Sigor@sysoev.rucat << END > Makefile 2170Sigor@sysoev.ru 218191Smax.romanov@nginx.cominclude $NXT_MAKEFILE 2190Sigor@sysoev.ru 220246Sigor@sysoev.ru.PHONY: tests 221246Sigor@sysoev.rutests: $NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test 2220Sigor@sysoev.ru 2230Sigor@sysoev.ruclean: 224216Sigor@sysoev.ru rm -rf $NXT_BUILD_DIR *.dSYM Makefile 2250Sigor@sysoev.ru 2260Sigor@sysoev.ruEND 227