xref: /unit/auto/make (revision 2439:4cabfc9895f4)
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.ru
110Sigor@sysoev.rucat << END > $NXT_MAKEFILE
120Sigor@sysoev.ru
130Sigor@sysoev.ruCC =			$CC
141255Svbart@nginx.comAR =			$AR
150Sigor@sysoev.ru
163Sigor@sysoev.ruCFLAGS = 		$NXT_CFLAGS $NXT_CC_OPT $CFLAGS
170Sigor@sysoev.ru
180Sigor@sysoev.ruNXT_EXEC_LINK =		$NXT_EXEC_LINK $NXT_LD_OPT
190Sigor@sysoev.ruNXT_SHARED_LOCAL_LINK =	$NXT_SHARED_LOCAL_LINK $NXT_LD_OPT
20395Smax.romanov@nginx.comNXT_MODULE_LINK =	$NXT_MODULE_LINK
210Sigor@sysoev.ru
221825Sthresh@nginx.comall: $NXT_DAEMON manpage
23698Smax.romanov@nginx.com
241825Sthresh@nginx.com.PHONY: $NXT_DAEMON manpage
252397Salx@nginx.com$NXT_DAEMON: $NXT_BUILD_DIR/sbin/$NXT_DAEMON
262397Salx@nginx.commanpage: $NXT_BUILD_DIR/share/man/man8/unitd.8
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
352397Salx@nginx.comfor nxt_inc in src $NXT_BUILD_DIR/include
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# Library object files list.
450Sigor@sysoev.ru
460Sigor@sysoev.ru$echo "NXT_LIB_OBJS = \\" >> $NXT_MAKEFILE
470Sigor@sysoev.ru
480Sigor@sysoev.rufor nxt_src in $NXT_LIB_SRCS
490Sigor@sysoev.rudo
50396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
510Sigor@sysoev.ru    $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
520Sigor@sysoev.rudone
530Sigor@sysoev.ru
540Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
550Sigor@sysoev.ru
56743Smax.romanov@nginx.com$echo "NXT_LIB_UNIT_OBJS = \\" >> $NXT_MAKEFILE
57743Smax.romanov@nginx.com$echo "	$NXT_BUILD_DIR/src/nxt_lvlhsh.o \\" >> $NXT_MAKEFILE
58743Smax.romanov@nginx.com$echo "	$NXT_BUILD_DIR/src/nxt_murmur_hash.o \\" >> $NXT_MAKEFILE
591996St.nateldemoura@f5.com$echo "	$NXT_BUILD_DIR/src/nxt_socket_msg.o \\" >> $NXT_MAKEFILE
601131Smax.romanov@nginx.com$echo "	$NXT_BUILD_DIR/src/nxt_websocket.o \\" >> $NXT_MAKEFILE
61743Smax.romanov@nginx.com
62743Smax.romanov@nginx.comfor nxt_src in $NXT_LIB_UNIT_SRCS
63743Smax.romanov@nginx.comdo
64743Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
65743Smax.romanov@nginx.com    $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
66743Smax.romanov@nginx.comdone
67743Smax.romanov@nginx.com
68743Smax.romanov@nginx.com$echo >> $NXT_MAKEFILE
69743Smax.romanov@nginx.com
700Sigor@sysoev.ru
71953Salexander.borisov@nginx.com# The version file.
72953Salexander.borisov@nginx.com
73953Salexander.borisov@nginx.comcat << END >> $NXT_MAKEFILE
74953Salexander.borisov@nginx.com
75953Salexander.borisov@nginx.cominclude version
76953Salexander.borisov@nginx.com
77953Salexander.borisov@nginx.com$NXT_VERSION_H: version
78953Salexander.borisov@nginx.com	$echo '#define NXT_VERSION "\$(NXT_VERSION)"' > $NXT_VERSION_H
79953Salexander.borisov@nginx.com	$echo '#define NXT_VERNUM  \$(NXT_VERNUM)' >> $NXT_VERSION_H
80953Salexander.borisov@nginx.com
81953Salexander.borisov@nginx.comEND
82953Salexander.borisov@nginx.com
83953Salexander.borisov@nginx.com
840Sigor@sysoev.ru# Shared and static library.
850Sigor@sysoev.ru
860Sigor@sysoev.rucat << END >> $NXT_MAKEFILE
870Sigor@sysoev.ru
882397Salx@nginx.comlibnxt:	$NXT_BUILD_DIR/lib/$NXT_LIB_SHARED $NXT_BUILD_DIR/lib/$NXT_LIB_STATIC
890Sigor@sysoev.ru
902397Salx@nginx.com$NXT_BUILD_DIR/lib/$NXT_LIB_SHARED: \$(NXT_LIB_OBJS)
912397Salx@nginx.com	\$(NXT_SHARED_LOCAL_LINK) -o \$@ \$(NXT_LIB_OBJS) \\
920Sigor@sysoev.ru		$NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
930Sigor@sysoev.ru
942397Salx@nginx.com$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC: \$(NXT_LIB_OBJS)
952397Salx@nginx.com	$NXT_STATIC_LINK \$@ \$(NXT_LIB_OBJS)
960Sigor@sysoev.ru
972397Salx@nginx.com$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC: \$(NXT_LIB_UNIT_OBJS)
982397Salx@nginx.com	$NXT_STATIC_LINK \$@ \$(NXT_LIB_UNIT_OBJS)
99743Smax.romanov@nginx.com
1000Sigor@sysoev.ruEND
1010Sigor@sysoev.ru
1020Sigor@sysoev.ru
1030Sigor@sysoev.ru# Object files.
1040Sigor@sysoev.ru
105743Smax.romanov@nginx.comfor nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS $NXT_LIB_UNIT_SRCS \
1061131Smax.romanov@nginx.com               src/test/nxt_unit_app_test.c \
1071131Smax.romanov@nginx.com               src/test/nxt_unit_websocket_chat.c \
1081131Smax.romanov@nginx.com               src/test/nxt_unit_websocket_echo.c
1090Sigor@sysoev.rudo
110396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
111396Smax.romanov@nginx.com    nxt_dep=${nxt_src%.c}.dep
112396Smax.romanov@nginx.com    nxt_dep_flags=`nxt_gen_dep_flags`
113396Smax.romanov@nginx.com    nxt_dep_post=`nxt_gen_dep_post`
1140Sigor@sysoev.ru    cat << END >> $NXT_MAKEFILE
1150Sigor@sysoev.ru
1161217Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
1170Sigor@sysoev.ru	\$(CC) -c \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
1180Sigor@sysoev.ru	-o $NXT_BUILD_DIR/$nxt_obj \\
119396Smax.romanov@nginx.com	$nxt_dep_flags \\
1200Sigor@sysoev.ru	$nxt_src
121396Smax.romanov@nginx.com	$nxt_dep_post
122396Smax.romanov@nginx.com
123396Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
124396Smax.romanov@nginx.com
1250Sigor@sysoev.ruEND
1260Sigor@sysoev.ru
1270Sigor@sysoev.rudone
1280Sigor@sysoev.ru
1291554Smax.romanov@nginx.comnxt_src=src/test/nxt_cq_test.c
1301554Smax.romanov@nginx.comnxt_obj=src/test/nxt_ncq_test.o
1311554Smax.romanov@nginx.comnxt_dep=src/test/nxt_ncq_test.dep
1321554Smax.romanov@nginx.comnxt_dep_flags=`nxt_gen_dep_flags`
1331554Smax.romanov@nginx.comnxt_dep_post=`nxt_gen_dep_post`
1341554Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
1351554Smax.romanov@nginx.com
1361554Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
1371554Smax.romanov@nginx.com	\$(CC) -c \$(CFLAGS) -DNXT_NCQ_TEST=1 \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
1381554Smax.romanov@nginx.com	-o $NXT_BUILD_DIR/$nxt_obj \\
1391554Smax.romanov@nginx.com	$nxt_dep_flags \\
1401554Smax.romanov@nginx.com	$nxt_src
1411554Smax.romanov@nginx.com	$nxt_dep_post
1421554Smax.romanov@nginx.com
1431554Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
1441554Smax.romanov@nginx.com
1451554Smax.romanov@nginx.comEND
1461554Smax.romanov@nginx.com
1471554Smax.romanov@nginx.comnxt_src=src/test/nxt_cq_test.c
1481554Smax.romanov@nginx.comnxt_obj=src/test/nxt_vbcq_test.o
1491554Smax.romanov@nginx.comnxt_dep=src/test/nxt_vbcq_test.dep
1501554Smax.romanov@nginx.comnxt_dep_flags=`nxt_gen_dep_flags`
1511554Smax.romanov@nginx.comnxt_dep_post=`nxt_gen_dep_post`
1521554Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
1531554Smax.romanov@nginx.com
1541554Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
1551554Smax.romanov@nginx.com	\$(CC) -c \$(CFLAGS) -DNXT_NCQ_TEST=0 \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
1561554Smax.romanov@nginx.com	-o $NXT_BUILD_DIR/$nxt_obj \\
1571554Smax.romanov@nginx.com	$nxt_dep_flags \\
1581554Smax.romanov@nginx.com	$nxt_src
1591554Smax.romanov@nginx.com	$nxt_dep_post
1601554Smax.romanov@nginx.com
1611554Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
1621554Smax.romanov@nginx.com
1631554Smax.romanov@nginx.comEND
1641554Smax.romanov@nginx.com
1650Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
1660Sigor@sysoev.ru
1670Sigor@sysoev.ru
168752Svbart@nginx.comif [ $NXT_TESTS = YES ]; then
1690Sigor@sysoev.ru
170752Svbart@nginx.com    # Test object files list.
171752Svbart@nginx.com
172752Svbart@nginx.com    $echo "NXT_TEST_OBJS = \\" >> $NXT_MAKEFILE
1730Sigor@sysoev.ru
174752Svbart@nginx.com    for nxt_src in $NXT_TEST_SRCS
175752Svbart@nginx.com    do
176752Svbart@nginx.com        nxt_obj=${nxt_src%.c}.o
177752Svbart@nginx.com        $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
178752Svbart@nginx.com    done
1790Sigor@sysoev.ru
180752Svbart@nginx.com    # Test executables.
1810Sigor@sysoev.ru
182752Svbart@nginx.com    cat << END >> $NXT_MAKEFILE
1830Sigor@sysoev.ru
184752Svbart@nginx.com.PHONY: tests
185752Svbart@nginx.comtests:		$NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test \\
1861554Smax.romanov@nginx.com			$NXT_BUILD_DIR/ncq_test \\
1871554Smax.romanov@nginx.com			$NXT_BUILD_DIR/vbcq_test \\
1881131Smax.romanov@nginx.com			$NXT_BUILD_DIR/unit_app_test $NXT_BUILD_DIR/unit_websocket_chat \\
1891131Smax.romanov@nginx.com			$NXT_BUILD_DIR/unit_websocket_echo
1900Sigor@sysoev.ru
191246Sigor@sysoev.ru$NXT_BUILD_DIR/tests: \$(NXT_TEST_OBJS) \\
1922397Salx@nginx.com			$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC
193246Sigor@sysoev.ru	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/tests \\
194246Sigor@sysoev.ru		\$(CFLAGS) \$(NXT_TEST_OBJS) \\
1952397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC \\
1960Sigor@sysoev.ru		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
1970Sigor@sysoev.ru
1980Sigor@sysoev.ru$NXT_BUILD_DIR/utf8_file_name_test: $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\
1992397Salx@nginx.com			$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC
2000Sigor@sysoev.ru	\$(CC) \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\
2010Sigor@sysoev.ru		-o $NXT_BUILD_DIR/utf8_file_name_test \\
2020Sigor@sysoev.ru		$NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\
2032397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC \\
204771Sigor@sysoev.ru		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2050Sigor@sysoev.ru
2061554Smax.romanov@nginx.com$NXT_BUILD_DIR/ncq_test: $NXT_BUILD_DIR/src/test/nxt_ncq_test.o \\
2072397Salx@nginx.com			$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC
2081554Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/ncq_test \\
2091554Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_ncq_test.o \\
2102397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC \\
2111554Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2121554Smax.romanov@nginx.com
2131554Smax.romanov@nginx.com$NXT_BUILD_DIR/vbcq_test: $NXT_BUILD_DIR/src/test/nxt_vbcq_test.o \\
2142397Salx@nginx.com			$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC
2151554Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/vbcq_test \\
2161554Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_vbcq_test.o \\
2172397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC \\
2181554Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2191554Smax.romanov@nginx.com
220743Smax.romanov@nginx.com$NXT_BUILD_DIR/unit_app_test: $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\
2212397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC
222743Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_app_test \\
223743Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\
2242397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC \\
225743Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
226743Smax.romanov@nginx.com
2271131Smax.romanov@nginx.com$NXT_BUILD_DIR/unit_websocket_chat: \\
2281131Smax.romanov@nginx.com		$NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\
2292397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC
2301131Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_chat \\
2311131Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\
2322397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC \\
2331131Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2341131Smax.romanov@nginx.com
2351131Smax.romanov@nginx.com$NXT_BUILD_DIR/unit_websocket_echo: \\
2361131Smax.romanov@nginx.com		$NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\
2372397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC
2381131Smax.romanov@nginx.com	\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_echo \\
2391131Smax.romanov@nginx.com		\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\
2402397Salx@nginx.com		$NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC \\
2411131Smax.romanov@nginx.com		$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
2421131Smax.romanov@nginx.com
2430Sigor@sysoev.ruEND
2440Sigor@sysoev.ru
245752Svbart@nginx.comelse
246752Svbart@nginx.com
247752Svbart@nginx.com    cat << END >> $NXT_MAKEFILE
248752Svbart@nginx.com
249752Svbart@nginx.com.PHONY: tests
250752Svbart@nginx.comtests:
251752Svbart@nginx.com	@(echo; \\
252752Svbart@nginx.com	  echo "error: to make tests you need to configure --tests option."; \\
253752Svbart@nginx.com	  echo; \\
254752Svbart@nginx.com	  exit 1)
255752Svbart@nginx.com
256752Svbart@nginx.comEND
257752Svbart@nginx.com
258752Svbart@nginx.comfi
259752Svbart@nginx.com
2600Sigor@sysoev.ru
2612397Salx@nginx.comNXT_MAKE_INCS="src $NXT_BUILD_DIR/include"
2620Sigor@sysoev.ruNXT_MAKE_SRCS="$NXT_SRCS"
2630Sigor@sysoev.ru
2640Sigor@sysoev.ru
265762Svbart@nginx.com# The include paths list.
2660Sigor@sysoev.ru
2670Sigor@sysoev.ru$echo -n "NXT_INCS =" >> $NXT_MAKEFILE
2680Sigor@sysoev.ru
2690Sigor@sysoev.rufor nxt_inc in $NXT_MAKE_INCS
2700Sigor@sysoev.rudo
2710Sigor@sysoev.ru    $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE
2720Sigor@sysoev.rudone
2730Sigor@sysoev.ru
2740Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
2750Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
2760Sigor@sysoev.ru
2770Sigor@sysoev.ru
2780Sigor@sysoev.ru# Object files list.
2790Sigor@sysoev.ru
2800Sigor@sysoev.ru$echo "NXT_OBJS = \\" >> $NXT_MAKEFILE
2810Sigor@sysoev.ru
282216Sigor@sysoev.rufor nxt_src in $NXT_MAKE_SRCS
2830Sigor@sysoev.rudo
284396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
2850Sigor@sysoev.ru    $echo "	$NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
2860Sigor@sysoev.rudone
2870Sigor@sysoev.ru
2880Sigor@sysoev.ru$echo >> $NXT_MAKEFILE
2890Sigor@sysoev.ru
2900Sigor@sysoev.ru
291259Sigor@sysoev.ru# unit executable.
2920Sigor@sysoev.ru
2930Sigor@sysoev.rucat << END >> $NXT_MAKEFILE
2940Sigor@sysoev.ru
2952397Salx@nginx.com$NXT_BUILD_DIR/sbin/$NXT_DAEMON:	$NXT_BUILD_DIR/lib/$NXT_LIB_STATIC \\
2960Sigor@sysoev.ru				\$(NXT_OBJS)
2972397Salx@nginx.com	\$(NXT_EXEC_LINK) -o \$@ \$(CFLAGS) \\
2982397Salx@nginx.com		\$(NXT_OBJS) $NXT_BUILD_DIR/lib/$NXT_LIB_STATIC \\
2990Sigor@sysoev.ru		$NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
3000Sigor@sysoev.ru
3010Sigor@sysoev.ruEND
3020Sigor@sysoev.ru
3030Sigor@sysoev.ru
3041825Sthresh@nginx.com# unitd man page
3051825Sthresh@nginx.com
3061825Sthresh@nginx.comcat << END >> $NXT_MAKEFILE
3071825Sthresh@nginx.com
308*2439Salx@nginx.com$NXT_BUILD_DIR/share/man/man8/unitd.8: docs/man/man8/unitd.8.in \\
3092397Salx@nginx.com				$NXT_BUILD_DIR/include/nxt_auto_config.h
3101825Sthresh@nginx.com	sed -e "s|%%ERROR_LOG_PATH%%|$NXT_LOG|" \\
3111825Sthresh@nginx.com		-e "s|%%PID_PATH%%|$NXT_PID|" \\
3121825Sthresh@nginx.com		-e "s|%%SOCKET_PATH%%|$NXT_CONTROL|" \\
313*2439Salx@nginx.com		< docs/man/man8/unitd.8.in > \$@
3141825Sthresh@nginx.com
3151825Sthresh@nginx.comEND
3161825Sthresh@nginx.com
3171825Sthresh@nginx.com
318259Sigor@sysoev.ru# unit object files.
3190Sigor@sysoev.ru
3200Sigor@sysoev.rufor nxt_src in $NXT_MAKE_SRCS
3210Sigor@sysoev.rudo
322396Smax.romanov@nginx.com    nxt_obj=${nxt_src%.c}.o
323396Smax.romanov@nginx.com    nxt_dep=${nxt_src%.c}.dep
324396Smax.romanov@nginx.com    nxt_dep_flags=`nxt_gen_dep_flags`
325396Smax.romanov@nginx.com    nxt_dep_post=`nxt_gen_dep_post`
3260Sigor@sysoev.ru    cat << END >> $NXT_MAKEFILE
3270Sigor@sysoev.ru
3281217Smax.romanov@nginx.com$NXT_BUILD_DIR/$nxt_obj:	$nxt_src $NXT_VERSION_H
3290Sigor@sysoev.ru	\$(CC) -c \$(CFLAGS) \$(NXT_INCS) \\
3300Sigor@sysoev.ru		$NXT_LIB_AUX_CFLAGS \\
3310Sigor@sysoev.ru		-o $NXT_BUILD_DIR/$nxt_obj \\
332396Smax.romanov@nginx.com		$nxt_dep_flags \\
3330Sigor@sysoev.ru		$nxt_src
334396Smax.romanov@nginx.com	$nxt_dep_post
335396Smax.romanov@nginx.com
336396Smax.romanov@nginx.com-include $NXT_BUILD_DIR/$nxt_dep
337396Smax.romanov@nginx.com
3380Sigor@sysoev.ruEND
3390Sigor@sysoev.ru
3400Sigor@sysoev.rudone
3410Sigor@sysoev.ru
3420Sigor@sysoev.ru
343265Smax.romanov@nginx.com# install
344265Smax.romanov@nginx.com
345265Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
346265Smax.romanov@nginx.com
3471825Sthresh@nginx.com.PHONY: install ${NXT_DAEMON}-install install-check manpage-install
348265Smax.romanov@nginx.com
3491825Sthresh@nginx.cominstall: ${NXT_DAEMON}-install manpage-install
350265Smax.romanov@nginx.com
351706Sigor@sysoev.ruinstall-check:
352706Sigor@sysoev.ru	@test -n "\$(DESTDIR)$NXT_PREFIX" \\
353706Sigor@sysoev.ru	|| (echo; \\
354706Sigor@sysoev.ru	    echo "error: to make install you need either"; \\
355706Sigor@sysoev.ru	    echo "    to configure --prefix option"; \\
356706Sigor@sysoev.ru	    echo "    or to set DESTDIR environment variable."; \\
357706Sigor@sysoev.ru	    echo; \\
358706Sigor@sysoev.ru	    exit 1)
359706Sigor@sysoev.ru
360706Sigor@sysoev.ru${NXT_DAEMON}-install: $NXT_DAEMON install-check
3612222Sa.colomar@f5.com	test -d \$(DESTDIR)$NXT_SBINDIR \
3622222Sa.colomar@f5.com		|| install -d \$(DESTDIR)$NXT_SBINDIR
3632397Salx@nginx.com	install -p $NXT_BUILD_DIR/sbin/$NXT_DAEMON \$(DESTDIR)$NXT_SBINDIR/
3642396Salx@nginx.com	test -d \$(DESTDIR)$NXT_STATEDIR \
3652396Salx@nginx.com		|| install -d \$(DESTDIR)$NXT_STATEDIR
3662314Salx.manpages@gmail.com	test -d \$(DESTDIR)$NXT_LOGDIR \
3672314Salx.manpages@gmail.com		|| install -d \$(DESTDIR)$NXT_LOGDIR
3682314Salx.manpages@gmail.com	test -d \$(DESTDIR)$NXT_RUNSTATEDIR \
3692314Salx.manpages@gmail.com		|| install -d \$(DESTDIR)$NXT_RUNSTATEDIR
370265Smax.romanov@nginx.com
3711825Sthresh@nginx.commanpage-install: manpage install-check
3722222Sa.colomar@f5.com	test -d \$(DESTDIR)$NXT_MANDIR/man8 \
3732222Sa.colomar@f5.com		|| install -d \$(DESTDIR)$NXT_MANDIR/man8
3742397Salx@nginx.com	install -p -m644 $NXT_BUILD_DIR/share/man/man8/unitd.8 \
3752397Salx@nginx.com		\$(DESTDIR)$NXT_MANDIR/man8/
376265Smax.romanov@nginx.com
3771825Sthresh@nginx.com.PHONY: uninstall ${NXT_DAEMON}-uninstall manpage-uninstall
378265Smax.romanov@nginx.com
3791825Sthresh@nginx.comuninstall: ${NXT_DAEMON}-uninstall manpage-uninstall
380265Smax.romanov@nginx.com
381265Smax.romanov@nginx.com${NXT_DAEMON}-uninstall:
382265Smax.romanov@nginx.com	rm -f \$(DESTDIR)$NXT_SBINDIR/$NXT_DAEMON
383265Smax.romanov@nginx.com	@rmdir -p \$(DESTDIR)$NXT_SBINDIR 2>/dev/null || true
384265Smax.romanov@nginx.com
3851825Sthresh@nginx.commanpage-uninstall:
3861825Sthresh@nginx.com	rm -f \$(DESTDIR)$NXT_MANDIR/man8/unitd.8
3871825Sthresh@nginx.com	@rmdir -p \$(DESTDIR)$NXT_MANDIR/man8 2>/dev/null || true
3881825Sthresh@nginx.com
389265Smax.romanov@nginx.comEND
390265Smax.romanov@nginx.com
391805Smax.romanov@nginx.comcat << END >> $NXT_MAKEFILE
392805Smax.romanov@nginx.com
393805Smax.romanov@nginx.com.PHONY: libunit-install libunit-uninstall
394805Smax.romanov@nginx.com
3952397Salx@nginx.comlibunit-install: $NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC
3962222Sa.colomar@f5.com	test -d \$(DESTDIR)$NXT_LIBDIR \
3972222Sa.colomar@f5.com		|| install -d \$(DESTDIR)$NXT_LIBDIR
3982397Salx@nginx.com	install -p -m u=rw,go=r $NXT_BUILD_DIR/lib/$NXT_LIB_UNIT_STATIC \
399805Smax.romanov@nginx.com		\$(DESTDIR)$NXT_LIBDIR/
4002314Salx.manpages@gmail.com	test -d \$(DESTDIR)$NXT_INCLUDEDIR \
4012314Salx.manpages@gmail.com		|| install -d \$(DESTDIR)$NXT_INCLUDEDIR
4021141Smax.romanov@nginx.com	install -p -m u=rw,go=r src/nxt_unit.h \
4031141Smax.romanov@nginx.com		src/nxt_unit_field.h \
4041141Smax.romanov@nginx.com		src/nxt_unit_request.h \
4051141Smax.romanov@nginx.com		src/nxt_unit_response.h \
4061141Smax.romanov@nginx.com		src/nxt_unit_sptr.h \
4071141Smax.romanov@nginx.com		src/nxt_unit_typedefs.h \
4081141Smax.romanov@nginx.com		src/nxt_unit_websocket.h \
4092397Salx@nginx.com		$NXT_BUILD_DIR/include/nxt_auto_config.h \
4102397Salx@nginx.com		$NXT_BUILD_DIR/include/nxt_version.h \
4111141Smax.romanov@nginx.com		src/nxt_websocket_header.h \
4122314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/
413805Smax.romanov@nginx.com
414805Smax.romanov@nginx.comlibunit-uninstall:
415805Smax.romanov@nginx.com	rm -f \$(DESTDIR)$NXT_LIBDIR/$NXT_LIB_UNIT_STATIC
416805Smax.romanov@nginx.com	@rmdir -p \$(DESTDIR)$NXT_LIBDIR 2>/dev/null || true
4172314Salx.manpages@gmail.com	rm -f \$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit.h \
4182314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit_field.h \
4192314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit_request.h \
4202314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit_response.h \
4212314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit_sptr.h \
4222314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit_typedefs.h \
4232314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_unit_websocket.h \
4242314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_auto_config.h \
4252314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_version.h \
4262314Salx.manpages@gmail.com		\$(DESTDIR)$NXT_INCLUDEDIR/nxt_websocket_header.h
4272314Salx.manpages@gmail.com	@rmdir -p \$(DESTDIR)$NXT_INCLUDEDIR 2>/dev/null || true
428805Smax.romanov@nginx.com
429805Smax.romanov@nginx.comEND
430805Smax.romanov@nginx.com
4310Sigor@sysoev.ru# Makefile.
4320Sigor@sysoev.ru# *.dSYM is MacOSX Clang debug information.
4330Sigor@sysoev.ru
4340Sigor@sysoev.rucat << END > Makefile
4350Sigor@sysoev.ru
436191Smax.romanov@nginx.cominclude $NXT_MAKEFILE
4370Sigor@sysoev.ru
438304Smax.romanov@nginx.com.PHONY: clean
4390Sigor@sysoev.ruclean:
440216Sigor@sysoev.ru		rm -rf $NXT_BUILD_DIR *.dSYM Makefile
4410Sigor@sysoev.ru
4420Sigor@sysoev.ruEND
443