xref: /unit/auto/make (revision 1554)
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
6396Smax.romanov@nginx.com. auto/cc/deps
70Sigor@sysoev.ru
80Sigor@sysoev.ru$echo "creating $NXT_MAKEFILE"
90Sigor@sysoev.ru
100Sigor@sysoev.rumkdir -p $NXT_BUILD_DIR/src \
11384Szelenkov@nginx.com         $NXT_BUILD_DIR/src/test
120Sigor@sysoev.ru
130Sigor@sysoev.ru
140Sigor@sysoev.rucat << END > $NXT_MAKEFILE
150Sigor@sysoev.ru
160Sigor@sysoev.ruCC =			$CC
171255Svbart@nginx.comAR =			$AR
180Sigor@sysoev.ru
193Sigor@sysoev.ruCFLAGS = 		$NXT_CFLAGS $NXT_CC_OPT $CFLAGS
200Sigor@sysoev.ru
210Sigor@sysoev.ruNXT_EXEC_LINK =		$NXT_EXEC_LINK $NXT_LD_OPT
220Sigor@sysoev.ruNXT_SHARED_LOCAL_LINK =	$NXT_SHARED_LOCAL_LINK $NXT_LD_OPT
23395Smax.romanov@nginx.comNXT_MODULE_LINK =	$NXT_MODULE_LINK
240Sigor@sysoev.ru
25698Smax.romanov@nginx.comall: $NXT_DAEMON
26698Smax.romanov@nginx.com
27265Smax.romanov@nginx.com.PHONY: $NXT_DAEMON
28265Smax.romanov@nginx.com$NXT_DAEMON: $NXT_BUILD_DIR/$NXT_DAEMON
29216Sigor@sysoev.ru
300Sigor@sysoev.ruEND
310Sigor@sysoev.ru
320Sigor@sysoev.ru
330Sigor@sysoev.ru# The include paths list.
340Sigor@sysoev.ru
350Sigor@sysoev.ru$echo -n "NXT_LIB_INCS =" >> $NXT_MAKEFILE
360Sigor@sysoev.ru
370Sigor@sysoev.rufor nxt_inc in src $NXT_BUILD_DIR
380Sigor@sysoev.rudo
390Sigor@sysoev.ru    $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE
400Sigor@sysoev.rudone
410Sigor@sysoev.ru
420Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
430Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
440Sigor@sysoev.ru
450Sigor@sysoev.ru
460Sigor@sysoev.ru# Library object files list.
470Sigor@sysoev.ru
480Sigor@sysoev.ru$echo "NXT_LIB_OBJS = \\" >> $NXT_MAKEFILE
490Sigor@sysoev.ru
500Sigor@sysoev.rufor nxt_src in $NXT_LIB_SRCS
510Sigor@sysoev.rudo
52396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
530Sigor@sysoev.ru    $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
540Sigor@sysoev.rudone
550Sigor@sysoev.ru
560Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
570Sigor@sysoev.ru
58743Smax.romanov@nginx.com$echo "NXT_LIB_UNIT_OBJS = \\" >> $NXT_MAKEFILE
59743Smax.romanov@nginx.com$echo "	$NXT_BUILD_DIR/src/nxt_lvlhsh.o \\" >> $NXT_MAKEFILE
60743Smax.romanov@nginx.com$echo "	$NXT_BUILD_DIR/src/nxt_murmur_hash.o \\" >> $NXT_MAKEFILE
611131Smax.romanov@nginx.com$echo "	$NXT_BUILD_DIR/src/nxt_websocket.o \\" >> $NXT_MAKEFILE
62743Smax.romanov@nginx.com
63743Smax.romanov@nginx.comfor nxt_src in $NXT_LIB_UNIT_SRCS
64743Smax.romanov@nginx.comdo
65743Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
66743Smax.romanov@nginx.com    $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
67743Smax.romanov@nginx.comdone
68743Smax.romanov@nginx.com
69743Smax.romanov@nginx.com$echo >> $NXT_MAKEFILE
70743Smax.romanov@nginx.com
710Sigor@sysoev.ru
72953Salexander.borisov@nginx.com# The version file.
73953Salexander.borisov@nginx.com
74953Salexander.borisov@nginx.comcat << END >> $NXT_MAKEFILE
75953Salexander.borisov@nginx.com
76953Salexander.borisov@nginx.cominclude version
77953Salexander.borisov@nginx.com
78953Salexander.borisov@nginx.com$NXT_VERSION_H: version
79953Salexander.borisov@nginx.com	$echo '#define NXT_VERSION "\$(NXT_VERSION)"' > $NXT_VERSION_H
80953Salexander.borisov@nginx.com	$echo '#define NXT_VERNUM  \$(NXT_VERNUM)' >> $NXT_VERSION_H
81953Salexander.borisov@nginx.com
82953Salexander.borisov@nginx.comEND
83953Salexander.borisov@nginx.com
84953Salexander.borisov@nginx.com
850Sigor@sysoev.ru# Shared and static library.
860Sigor@sysoev.ru
870Sigor@sysoev.rucat << END >> $NXT_MAKEFILE
880Sigor@sysoev.ru
890Sigor@sysoev.rulibnxt:	$NXT_BUILD_DIR/$NXT_LIB_SHARED $NXT_BUILD_DIR/$NXT_LIB_STATIC
900Sigor@sysoev.ru
910Sigor@sysoev.ru$NXT_BUILD_DIR/$NXT_LIB_SHARED:	\$(NXT_LIB_OBJS)
920Sigor@sysoev.ru	\$(NXT_SHARED_LOCAL_LINK) -o $NXT_BUILD_DIR/$NXT_LIB_SHARED \\
930Sigor@sysoev.ru		\$(NXT_LIB_OBJS) \\
940Sigor@sysoev.ru		$NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
950Sigor@sysoev.ru
960Sigor@sysoev.ru$NXT_BUILD_DIR/$NXT_LIB_STATIC:	\$(NXT_LIB_OBJS)
970Sigor@sysoev.ru	$NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\
980Sigor@sysoev.ru		\$(NXT_LIB_OBJS)
990Sigor@sysoev.ru
100743Smax.romanov@nginx.com$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC:	\$(NXT_LIB_UNIT_OBJS)
101743Smax.romanov@nginx.com	$NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
102743Smax.romanov@nginx.com		\$(NXT_LIB_UNIT_OBJS)
103743Smax.romanov@nginx.com
1040Sigor@sysoev.ruEND
1050Sigor@sysoev.ru
1060Sigor@sysoev.ru
1070Sigor@sysoev.ru# Object files.
1080Sigor@sysoev.ru
109743Smax.romanov@nginx.comfor nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS $NXT_LIB_UNIT_SRCS \
1101131Smax.romanov@nginx.com               src/test/nxt_unit_app_test.c \
1111131Smax.romanov@nginx.com               src/test/nxt_unit_websocket_chat.c \
1121131Smax.romanov@nginx.com               src/test/nxt_unit_websocket_echo.c
1130Sigor@sysoev.rudo
114396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
115396Smax.romanov@nginx.com    nxt_dep=${nxt_src%.c}.dep
116396Smax.romanov@nginx.com    nxt_dep_flags=`nxt_gen_dep_flags`
117396Smax.romanov@nginx.com    nxt_dep_post=`nxt_gen_dep_post`
1180Sigor@sysoev.ru    cat << END >> $NXT_MAKEFILE
1190Sigor@sysoev.ru
1201217Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
1210Sigor@sysoev.ru	\$(CC) -c \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
1220Sigor@sysoev.ru	-o $NXT_BUILD_DIR/$nxt_obj \\
123396Smax.romanov@nginx.com	$nxt_dep_flags \\
1240Sigor@sysoev.ru	$nxt_src
125396Smax.romanov@nginx.com	$nxt_dep_post
126396Smax.romanov@nginx.com
127396Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
128396Smax.romanov@nginx.com
1290Sigor@sysoev.ruEND
1300Sigor@sysoev.ru
1310Sigor@sysoev.rudone
1320Sigor@sysoev.ru
133*1554Smax.romanov@nginx.comnxt_src=src/test/nxt_cq_test.c
134*1554Smax.romanov@nginx.comnxt_obj=src/test/nxt_ncq_test.o
135*1554Smax.romanov@nginx.comnxt_dep=src/test/nxt_ncq_test.dep
136*1554Smax.romanov@nginx.comnxt_dep_flags=`nxt_gen_dep_flags`
137*1554Smax.romanov@nginx.comnxt_dep_post=`nxt_gen_dep_post`
138*1554Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
139*1554Smax.romanov@nginx.com
140*1554Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
141*1554Smax.romanov@nginx.com	\$(CC) -c \$(CFLAGS) -DNXT_NCQ_TEST=1 \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
142*1554Smax.romanov@nginx.com	-o $NXT_BUILD_DIR/$nxt_obj \\
143*1554Smax.romanov@nginx.com	$nxt_dep_flags \\
144*1554Smax.romanov@nginx.com	$nxt_src
145*1554Smax.romanov@nginx.com	$nxt_dep_post
146*1554Smax.romanov@nginx.com
147*1554Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
148*1554Smax.romanov@nginx.com
149*1554Smax.romanov@nginx.comEND
150*1554Smax.romanov@nginx.com
151*1554Smax.romanov@nginx.comnxt_src=src/test/nxt_cq_test.c
152*1554Smax.romanov@nginx.comnxt_obj=src/test/nxt_vbcq_test.o
153*1554Smax.romanov@nginx.comnxt_dep=src/test/nxt_vbcq_test.dep
154*1554Smax.romanov@nginx.comnxt_dep_flags=`nxt_gen_dep_flags`
155*1554Smax.romanov@nginx.comnxt_dep_post=`nxt_gen_dep_post`
156*1554Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
157*1554Smax.romanov@nginx.com
158*1554Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
159*1554Smax.romanov@nginx.com	\$(CC) -c \$(CFLAGS) -DNXT_NCQ_TEST=0 \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
160*1554Smax.romanov@nginx.com	-o $NXT_BUILD_DIR/$nxt_obj \\
161*1554Smax.romanov@nginx.com	$nxt_dep_flags \\
162*1554Smax.romanov@nginx.com	$nxt_src
163*1554Smax.romanov@nginx.com	$nxt_dep_post
164*1554Smax.romanov@nginx.com
165*1554Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
166*1554Smax.romanov@nginx.com
167*1554Smax.romanov@nginx.comEND
168*1554Smax.romanov@nginx.com
1690Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
1700Sigor@sysoev.ru
1710Sigor@sysoev.ru
172752Svbart@nginx.comif [ $NXT_TESTS = YES ]; then
1730Sigor@sysoev.ru
174752Svbart@nginx.com    # Test object files list.
175752Svbart@nginx.com
176752Svbart@nginx.com    $echo "NXT_TEST_OBJS = \\" >> $NXT_MAKEFILE
1770Sigor@sysoev.ru
178752Svbart@nginx.com    for nxt_src in $NXT_TEST_SRCS
179752Svbart@nginx.com    do
180752Svbart@nginx.com        nxt_obj=${nxt_src%.c}.o
181752Svbart@nginx.com        $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
182752Svbart@nginx.com    done
1830Sigor@sysoev.ru
184752Svbart@nginx.com    # Test executables.
1850Sigor@sysoev.ru
186752Svbart@nginx.com    cat << END >> $NXT_MAKEFILE
1870Sigor@sysoev.ru
188752Svbart@nginx.com.PHONY: tests
189752Svbart@nginx.comtests:		$NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test \\
190*1554Smax.romanov@nginx.com			$NXT_BUILD_DIR/ncq_test \\
191*1554Smax.romanov@nginx.com			$NXT_BUILD_DIR/vbcq_test \\
1921131Smax.romanov@nginx.com			$NXT_BUILD_DIR/unit_app_test $NXT_BUILD_DIR/unit_websocket_chat \\
1931131Smax.romanov@nginx.com			$NXT_BUILD_DIR/unit_websocket_echo
1940Sigor@sysoev.ru
195246Sigor@sysoev.ru$NXT_BUILD_DIR/tests: \$(NXT_TEST_OBJS) \\
196396Smax.romanov@nginx.com			$NXT_BUILD_DIR/$NXT_LIB_STATIC
197246Sigor@sysoev.ru	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/tests \\
198246Sigor@sysoev.ru		\$(CFLAGS) \$(NXT_TEST_OBJS) \\
1990Sigor@sysoev.ru		$NXT_BUILD_DIR/$NXT_LIB_STATIC \\
2000Sigor@sysoev.ru		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2010Sigor@sysoev.ru
2020Sigor@sysoev.ru$NXT_BUILD_DIR/utf8_file_name_test: $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\
203396Smax.romanov@nginx.com			$NXT_BUILD_DIR/$NXT_LIB_STATIC
2040Sigor@sysoev.ru	\$(CC) \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
2050Sigor@sysoev.ru		-o $NXT_BUILD_DIR/utf8_file_name_test \\
2060Sigor@sysoev.ru		$NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\
2070Sigor@sysoev.ru		$NXT_BUILD_DIR/$NXT_LIB_STATIC \\
208771Sigor@sysoev.ru		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2090Sigor@sysoev.ru
210*1554Smax.romanov@nginx.com$NXT_BUILD_DIR/ncq_test: $NXT_BUILD_DIR/src/test/nxt_ncq_test.o \\
211*1554Smax.romanov@nginx.com			$NXT_BUILD_DIR/$NXT_LIB_STATIC
212*1554Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/ncq_test \\
213*1554Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_ncq_test.o \\
214*1554Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_STATIC \\
215*1554Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
216*1554Smax.romanov@nginx.com
217*1554Smax.romanov@nginx.com$NXT_BUILD_DIR/vbcq_test: $NXT_BUILD_DIR/src/test/nxt_vbcq_test.o \\
218*1554Smax.romanov@nginx.com			$NXT_BUILD_DIR/$NXT_LIB_STATIC
219*1554Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/vbcq_test \\
220*1554Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_vbcq_test.o \\
221*1554Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_STATIC \\
222*1554Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
223*1554Smax.romanov@nginx.com
224743Smax.romanov@nginx.com$NXT_BUILD_DIR/unit_app_test: $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\
225743Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
226743Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_app_test \\
227743Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\
228743Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
229743Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
230743Smax.romanov@nginx.com
2311131Smax.romanov@nginx.com$NXT_BUILD_DIR/unit_websocket_chat: \\
2321131Smax.romanov@nginx.com		$NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\
2331131Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
2341131Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_chat \\
2351131Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\
2361131Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
2371131Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2381131Smax.romanov@nginx.com
2391131Smax.romanov@nginx.com$NXT_BUILD_DIR/unit_websocket_echo: \\
2401131Smax.romanov@nginx.com		$NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\
2411131Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
2421131Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_echo \\
2431131Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\
2441131Smax.romanov@nginx.com		$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
2451131Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2461131Smax.romanov@nginx.com
2470Sigor@sysoev.ruEND
2480Sigor@sysoev.ru
249752Svbart@nginx.comelse
250752Svbart@nginx.com
251752Svbart@nginx.com    cat << END >> $NXT_MAKEFILE
252752Svbart@nginx.com
253752Svbart@nginx.com.PHONY: tests
254752Svbart@nginx.comtests:
255752Svbart@nginx.com	@(echo; \\
256752Svbart@nginx.com	  echo "error: to make tests you need to configure --tests option."; \\
257752Svbart@nginx.com	  echo; \\
258752Svbart@nginx.com	  exit 1)
259752Svbart@nginx.com
260752Svbart@nginx.comEND
261752Svbart@nginx.com
262752Svbart@nginx.comfi
263752Svbart@nginx.com
2640Sigor@sysoev.ru
2650Sigor@sysoev.ruNXT_MAKE_INCS="src $NXT_BUILD_DIR"
2660Sigor@sysoev.ruNXT_MAKE_SRCS="$NXT_SRCS"
2670Sigor@sysoev.ru
2680Sigor@sysoev.ru
269762Svbart@nginx.com# The include paths list.
2700Sigor@sysoev.ru
2710Sigor@sysoev.ru$echo -n "NXT_INCS =" >> $NXT_MAKEFILE
2720Sigor@sysoev.ru
2730Sigor@sysoev.rufor nxt_inc in $NXT_MAKE_INCS
2740Sigor@sysoev.rudo
2750Sigor@sysoev.ru    $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE
2760Sigor@sysoev.rudone
2770Sigor@sysoev.ru
2780Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
2790Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
2800Sigor@sysoev.ru
2810Sigor@sysoev.ru
2820Sigor@sysoev.ru# Object files list.
2830Sigor@sysoev.ru
2840Sigor@sysoev.ru$echo "NXT_OBJS = \\" >> $NXT_MAKEFILE
2850Sigor@sysoev.ru
286216Sigor@sysoev.rufor nxt_src in $NXT_MAKE_SRCS
2870Sigor@sysoev.rudo
288396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
2890Sigor@sysoev.ru    $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
2900Sigor@sysoev.rudone
2910Sigor@sysoev.ru
2920Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
2930Sigor@sysoev.ru
2940Sigor@sysoev.ru
295259Sigor@sysoev.ru# unit executable.
2960Sigor@sysoev.ru
2970Sigor@sysoev.rucat << END >> $NXT_MAKEFILE
2980Sigor@sysoev.ru
299265Smax.romanov@nginx.com$NXT_BUILD_DIR/$NXT_DAEMON:	$NXT_BUILD_DIR/$NXT_LIB_STATIC \\
3000Sigor@sysoev.ru				\$(NXT_OBJS)
301265Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/$NXT_DAEMON \$(CFLAGS) \\
3020Sigor@sysoev.ru		\$(NXT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_STATIC \\
3030Sigor@sysoev.ru		$NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
3040Sigor@sysoev.ru
3050Sigor@sysoev.ruEND
3060Sigor@sysoev.ru
3070Sigor@sysoev.ru
308259Sigor@sysoev.ru# unit object files.
3090Sigor@sysoev.ru
3100Sigor@sysoev.rufor nxt_src in $NXT_MAKE_SRCS
3110Sigor@sysoev.rudo
312396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
313396Smax.romanov@nginx.com    nxt_dep=${nxt_src%.c}.dep
314396Smax.romanov@nginx.com    nxt_dep_flags=`nxt_gen_dep_flags`
315396Smax.romanov@nginx.com    nxt_dep_post=`nxt_gen_dep_post`
3160Sigor@sysoev.ru    cat << END >> $NXT_MAKEFILE
3170Sigor@sysoev.ru
3181217Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj:	$nxt_src $NXT_VERSION_H
3190Sigor@sysoev.ru	\$(CC) -c \$(CFLAGS) \$(NXT_INCS) \\
3200Sigor@sysoev.ru		$NXT_LIB_AUX_CFLAGS \\
3210Sigor@sysoev.ru		-o $NXT_BUILD_DIR/$nxt_obj \\
322396Smax.romanov@nginx.com		$nxt_dep_flags \\
3230Sigor@sysoev.ru		$nxt_src
324396Smax.romanov@nginx.com	$nxt_dep_post
325396Smax.romanov@nginx.com
326396Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
327396Smax.romanov@nginx.com
3280Sigor@sysoev.ruEND
3290Sigor@sysoev.ru
3300Sigor@sysoev.rudone
3310Sigor@sysoev.ru
3320Sigor@sysoev.ru
333265Smax.romanov@nginx.com# install
334265Smax.romanov@nginx.com
335265Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
336265Smax.romanov@nginx.com
337706Sigor@sysoev.ru.PHONY: install ${NXT_DAEMON}-install install-check
338265Smax.romanov@nginx.com
339265Smax.romanov@nginx.cominstall: ${NXT_DAEMON}-install
340265Smax.romanov@nginx.com
341706Sigor@sysoev.ruinstall-check:
342706Sigor@sysoev.ru	@test -n "\$(DESTDIR)$NXT_PREFIX" \\
343706Sigor@sysoev.ru	|| (echo; \\
344706Sigor@sysoev.ru	    echo "error: to make install you need either"; \\
345706Sigor@sysoev.ru	    echo "    to configure --prefix option"; \\
346706Sigor@sysoev.ru	    echo "    or to set DESTDIR environment variable."; \\
347706Sigor@sysoev.ru	    echo; \\
348706Sigor@sysoev.ru	    exit 1)
349706Sigor@sysoev.ru
350706Sigor@sysoev.ru${NXT_DAEMON}-install: $NXT_DAEMON install-check
351265Smax.romanov@nginx.com	install -d \$(DESTDIR)$NXT_SBINDIR
352265Smax.romanov@nginx.com	install -p $NXT_BUILD_DIR/$NXT_DAEMON \$(DESTDIR)$NXT_SBINDIR/
353331Sigor@sysoev.ru	install -d \$(DESTDIR)$NXT_STATE
354265Smax.romanov@nginx.com
355265Smax.romanov@nginx.com
356265Smax.romanov@nginx.com.PHONY: uninstall ${NXT_DAEMON}-uninstall
357265Smax.romanov@nginx.com
358265Smax.romanov@nginx.comuninstall: ${NXT_DAEMON}-uninstall
359265Smax.romanov@nginx.com
360265Smax.romanov@nginx.com${NXT_DAEMON}-uninstall:
361265Smax.romanov@nginx.com	rm -f \$(DESTDIR)$NXT_SBINDIR/$NXT_DAEMON
362265Smax.romanov@nginx.com	@rmdir -p \$(DESTDIR)$NXT_SBINDIR 2>/dev/null || true
363265Smax.romanov@nginx.com
364265Smax.romanov@nginx.comEND
365265Smax.romanov@nginx.com
366805Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
367805Smax.romanov@nginx.com
368805Smax.romanov@nginx.com.PHONY: libunit-install libunit-uninstall
369805Smax.romanov@nginx.com
370805Smax.romanov@nginx.comlibunit-install: $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
371805Smax.romanov@nginx.com	install -d \$(DESTDIR)$NXT_LIBDIR
372805Smax.romanov@nginx.com	install -p -m u=rw,go=r $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \
373805Smax.romanov@nginx.com		\$(DESTDIR)$NXT_LIBDIR/
374805Smax.romanov@nginx.com	install -d \$(DESTDIR)$NXT_INCDIR
3751141Smax.romanov@nginx.com	install -p -m u=rw,go=r src/nxt_unit.h \
3761141Smax.romanov@nginx.com		src/nxt_unit_field.h \
3771141Smax.romanov@nginx.com		src/nxt_unit_request.h \
3781141Smax.romanov@nginx.com		src/nxt_unit_response.h \
3791141Smax.romanov@nginx.com		src/nxt_unit_sptr.h \
3801141Smax.romanov@nginx.com		src/nxt_unit_typedefs.h \
3811141Smax.romanov@nginx.com		src/nxt_unit_websocket.h \
3821141Smax.romanov@nginx.com		$NXT_BUILD_DIR/nxt_version.h \
3831141Smax.romanov@nginx.com		src/nxt_websocket_header.h \
384877Salexander.borisov@nginx.com		\$(DESTDIR)$NXT_INCDIR/
385805Smax.romanov@nginx.com
386805Smax.romanov@nginx.comlibunit-uninstall:
387805Smax.romanov@nginx.com	rm -f \$(DESTDIR)$NXT_LIBDIR/$NXT_LIB_UNIT_STATIC
388805Smax.romanov@nginx.com	@rmdir -p \$(DESTDIR)$NXT_LIBDIR 2>/dev/null || true
389805Smax.romanov@nginx.com	rm -f \$(DESTDIR)$NXT_INCDIR/nxt_unit.h \
390805Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_unit_field.h \
391805Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_unit_request.h \
392805Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_unit_response.h \
393805Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_unit_sptr.h \
394877Salexander.borisov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_unit_typedefs.h \
3951141Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_unit_websocket.h \
3961141Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_version.h \
3971141Smax.romanov@nginx.com		\$(DESTDIR)$NXT_INCDIR/nxt_websocket_header.h
398805Smax.romanov@nginx.com	@rmdir -p \$(DESTDIR)$NXT_INCDIR 2>/dev/null || true
399805Smax.romanov@nginx.com
400805Smax.romanov@nginx.comEND
401805Smax.romanov@nginx.com
4020Sigor@sysoev.ru# Makefile.
4030Sigor@sysoev.ru# *.dSYM is MacOSX Clang debug information.
4040Sigor@sysoev.ru
4050Sigor@sysoev.rucat << END > Makefile
4060Sigor@sysoev.ru
407191Smax.romanov@nginx.cominclude $NXT_MAKEFILE
4080Sigor@sysoev.ru
409304Smax.romanov@nginx.com.PHONY: clean
4100Sigor@sysoev.ruclean:
411216Sigor@sysoev.ru		rm -rf $NXT_BUILD_DIR *.dSYM Makefile
4120Sigor@sysoev.ru
4130Sigor@sysoev.ruEND
414