1 2# Copyright (C) Igor Sysoev 3# Copyright (C) Valentin V. Bartenev 4# Copyright (C) NGINX, Inc. 5 6. auto/cc/deps 7 8$echo "creating $NXT_MAKEFILE" 9 10mkdir -p $NXT_BUILD_DIR/src \ 11 $NXT_BUILD_DIR/src/test 12 13 14cat << END > $NXT_MAKEFILE 15 16CC = $CC 17 18CFLAGS = $NXT_CFLAGS $NXT_CC_OPT $CFLAGS 19 20NXT_EXEC_LINK = $NXT_EXEC_LINK $NXT_LD_OPT 21NXT_SHARED_LOCAL_LINK = $NXT_SHARED_LOCAL_LINK $NXT_LD_OPT 22NXT_MODULE_LINK = $NXT_MODULE_LINK 23 24all: $NXT_DAEMON 25 26.PHONY: $NXT_DAEMON 27$NXT_DAEMON: $NXT_BUILD_DIR/$NXT_DAEMON 28 29END 30 31 32# The include paths list. 33 34$echo -n "NXT_LIB_INCS =" >> $NXT_MAKEFILE 35 36for nxt_inc in src $NXT_BUILD_DIR 37do 38 $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE 39done 40 41$echo >> $NXT_MAKEFILE 42$echo >> $NXT_MAKEFILE 43 44 45# Library object files list. 46 47$echo "NXT_LIB_OBJS = \\" >> $NXT_MAKEFILE 48 49for nxt_src in $NXT_LIB_SRCS 50do 51 nxt_obj=${nxt_src%.c}.o 52 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 53done 54 55$echo >> $NXT_MAKEFILE 56 57$echo "NXT_LIB_UNIT_OBJS = \\" >> $NXT_MAKEFILE 58$echo " $NXT_BUILD_DIR/src/nxt_lvlhsh.o \\" >> $NXT_MAKEFILE 59$echo " $NXT_BUILD_DIR/src/nxt_murmur_hash.o \\" >> $NXT_MAKEFILE 60$echo " $NXT_BUILD_DIR/src/nxt_websocket.o \\" >> $NXT_MAKEFILE 61 62for nxt_src in $NXT_LIB_UNIT_SRCS 63do 64 nxt_obj=${nxt_src%.c}.o 65 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 66done 67 68$echo >> $NXT_MAKEFILE 69 70 71# The version file. 72 73cat << END >> $NXT_MAKEFILE 74 75include version 76 77$NXT_VERSION_H: version 78 $echo '#define NXT_VERSION "\$(NXT_VERSION)"' > $NXT_VERSION_H 79 $echo '#define NXT_VERNUM \$(NXT_VERNUM)' >> $NXT_VERSION_H 80
| 1 2# Copyright (C) Igor Sysoev 3# Copyright (C) Valentin V. Bartenev 4# Copyright (C) NGINX, Inc. 5 6. auto/cc/deps 7 8$echo "creating $NXT_MAKEFILE" 9 10mkdir -p $NXT_BUILD_DIR/src \ 11 $NXT_BUILD_DIR/src/test 12 13 14cat << END > $NXT_MAKEFILE 15 16CC = $CC 17 18CFLAGS = $NXT_CFLAGS $NXT_CC_OPT $CFLAGS 19 20NXT_EXEC_LINK = $NXT_EXEC_LINK $NXT_LD_OPT 21NXT_SHARED_LOCAL_LINK = $NXT_SHARED_LOCAL_LINK $NXT_LD_OPT 22NXT_MODULE_LINK = $NXT_MODULE_LINK 23 24all: $NXT_DAEMON 25 26.PHONY: $NXT_DAEMON 27$NXT_DAEMON: $NXT_BUILD_DIR/$NXT_DAEMON 28 29END 30 31 32# The include paths list. 33 34$echo -n "NXT_LIB_INCS =" >> $NXT_MAKEFILE 35 36for nxt_inc in src $NXT_BUILD_DIR 37do 38 $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE 39done 40 41$echo >> $NXT_MAKEFILE 42$echo >> $NXT_MAKEFILE 43 44 45# Library object files list. 46 47$echo "NXT_LIB_OBJS = \\" >> $NXT_MAKEFILE 48 49for nxt_src in $NXT_LIB_SRCS 50do 51 nxt_obj=${nxt_src%.c}.o 52 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 53done 54 55$echo >> $NXT_MAKEFILE 56 57$echo "NXT_LIB_UNIT_OBJS = \\" >> $NXT_MAKEFILE 58$echo " $NXT_BUILD_DIR/src/nxt_lvlhsh.o \\" >> $NXT_MAKEFILE 59$echo " $NXT_BUILD_DIR/src/nxt_murmur_hash.o \\" >> $NXT_MAKEFILE 60$echo " $NXT_BUILD_DIR/src/nxt_websocket.o \\" >> $NXT_MAKEFILE 61 62for nxt_src in $NXT_LIB_UNIT_SRCS 63do 64 nxt_obj=${nxt_src%.c}.o 65 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 66done 67 68$echo >> $NXT_MAKEFILE 69 70 71# The version file. 72 73cat << END >> $NXT_MAKEFILE 74 75include version 76 77$NXT_VERSION_H: version 78 $echo '#define NXT_VERSION "\$(NXT_VERSION)"' > $NXT_VERSION_H 79 $echo '#define NXT_VERNUM \$(NXT_VERNUM)' >> $NXT_VERSION_H 80
|
81$NXT_BUILD_DIR/src/nxt_unit.o: $NXT_VERSION_H 82$NXT_BUILD_DIR/src/nxt_lib.o: $NXT_VERSION_H 83
| |
84END 85 86 87# Shared and static library. 88 89cat << END >> $NXT_MAKEFILE 90 91libnxt: $NXT_BUILD_DIR/$NXT_LIB_SHARED $NXT_BUILD_DIR/$NXT_LIB_STATIC 92 93$NXT_BUILD_DIR/$NXT_LIB_SHARED: \$(NXT_LIB_OBJS) 94 \$(NXT_SHARED_LOCAL_LINK) -o $NXT_BUILD_DIR/$NXT_LIB_SHARED \\ 95 \$(NXT_LIB_OBJS) \\ 96 $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 97 98$NXT_BUILD_DIR/$NXT_LIB_STATIC: \$(NXT_LIB_OBJS) 99 $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 100 \$(NXT_LIB_OBJS) 101 102$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC: \$(NXT_LIB_UNIT_OBJS) 103 $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 104 \$(NXT_LIB_UNIT_OBJS) 105 106END 107 108 109# Object files. 110 111for nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS $NXT_LIB_UNIT_SRCS \ 112 src/test/nxt_unit_app_test.c \ 113 src/test/nxt_unit_websocket_chat.c \ 114 src/test/nxt_unit_websocket_echo.c 115do 116 nxt_obj=${nxt_src%.c}.o 117 nxt_dep=${nxt_src%.c}.dep 118 nxt_dep_flags=`nxt_gen_dep_flags` 119 nxt_dep_post=`nxt_gen_dep_post` 120 cat << END >> $NXT_MAKEFILE 121
| 81END 82 83 84# Shared and static library. 85 86cat << END >> $NXT_MAKEFILE 87 88libnxt: $NXT_BUILD_DIR/$NXT_LIB_SHARED $NXT_BUILD_DIR/$NXT_LIB_STATIC 89 90$NXT_BUILD_DIR/$NXT_LIB_SHARED: \$(NXT_LIB_OBJS) 91 \$(NXT_SHARED_LOCAL_LINK) -o $NXT_BUILD_DIR/$NXT_LIB_SHARED \\ 92 \$(NXT_LIB_OBJS) \\ 93 $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 94 95$NXT_BUILD_DIR/$NXT_LIB_STATIC: \$(NXT_LIB_OBJS) 96 $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 97 \$(NXT_LIB_OBJS) 98 99$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC: \$(NXT_LIB_UNIT_OBJS) 100 $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 101 \$(NXT_LIB_UNIT_OBJS) 102 103END 104 105 106# Object files. 107 108for nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS $NXT_LIB_UNIT_SRCS \ 109 src/test/nxt_unit_app_test.c \ 110 src/test/nxt_unit_websocket_chat.c \ 111 src/test/nxt_unit_websocket_echo.c 112do 113 nxt_obj=${nxt_src%.c}.o 114 nxt_dep=${nxt_src%.c}.dep 115 nxt_dep_flags=`nxt_gen_dep_flags` 116 nxt_dep_post=`nxt_gen_dep_post` 117 cat << END >> $NXT_MAKEFILE 118
|
122$NXT_BUILD_DIR/$nxt_obj: $nxt_src
| 119$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
|
123 \$(CC) -c \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\ 124 -o $NXT_BUILD_DIR/$nxt_obj \\ 125 $nxt_dep_flags \\ 126 $nxt_src 127 $nxt_dep_post 128 129-include $NXT_BUILD_DIR/$nxt_dep 130 131END 132 133done 134 135$echo >> $NXT_MAKEFILE 136 137 138if [ $NXT_TESTS = YES ]; then 139 140 # Test object files list. 141 142 $echo "NXT_TEST_OBJS = \\" >> $NXT_MAKEFILE 143 144 for nxt_src in $NXT_TEST_SRCS 145 do 146 nxt_obj=${nxt_src%.c}.o 147 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 148 done 149 150 # Test executables. 151 152 cat << END >> $NXT_MAKEFILE 153 154.PHONY: tests 155tests: $NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test \\ 156 $NXT_BUILD_DIR/unit_app_test $NXT_BUILD_DIR/unit_websocket_chat \\ 157 $NXT_BUILD_DIR/unit_websocket_echo 158 159$NXT_BUILD_DIR/tests: \$(NXT_TEST_OBJS) \\ 160 $NXT_BUILD_DIR/$NXT_LIB_STATIC 161 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/tests \\ 162 \$(CFLAGS) \$(NXT_TEST_OBJS) \\ 163 $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 164 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 165 166$NXT_BUILD_DIR/utf8_file_name_test: $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\ 167 $NXT_BUILD_DIR/$NXT_LIB_STATIC 168 \$(CC) \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\ 169 -o $NXT_BUILD_DIR/utf8_file_name_test \\ 170 $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\ 171 $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 172 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 173 174$NXT_BUILD_DIR/unit_app_test: $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\ 175 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 176 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_app_test \\ 177 \$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\ 178 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 179 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 180 181$NXT_BUILD_DIR/unit_websocket_chat: \\ 182 $NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\ 183 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 184 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_chat \\ 185 \$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\ 186 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 187 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 188 189$NXT_BUILD_DIR/unit_websocket_echo: \\ 190 $NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\ 191 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 192 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_echo \\ 193 \$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\ 194 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 195 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 196 197END 198 199else 200 201 cat << END >> $NXT_MAKEFILE 202 203.PHONY: tests 204tests: 205 @(echo; \\ 206 echo "error: to make tests you need to configure --tests option."; \\ 207 echo; \\ 208 exit 1) 209 210END 211 212fi 213 214 215NXT_MAKE_INCS="src $NXT_BUILD_DIR" 216NXT_MAKE_SRCS="$NXT_SRCS" 217 218 219# The include paths list. 220 221$echo -n "NXT_INCS =" >> $NXT_MAKEFILE 222 223for nxt_inc in $NXT_MAKE_INCS 224do 225 $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE 226done 227 228$echo >> $NXT_MAKEFILE 229$echo >> $NXT_MAKEFILE 230 231 232# Object files list. 233 234$echo "NXT_OBJS = \\" >> $NXT_MAKEFILE 235 236for nxt_src in $NXT_MAKE_SRCS 237do 238 nxt_obj=${nxt_src%.c}.o 239 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 240done 241 242$echo >> $NXT_MAKEFILE 243 244 245# unit executable. 246 247cat << END >> $NXT_MAKEFILE 248 249$NXT_BUILD_DIR/$NXT_DAEMON: $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 250 \$(NXT_OBJS) 251 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/$NXT_DAEMON \$(CFLAGS) \\ 252 \$(NXT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 253 $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 254 255END 256 257 258# unit object files. 259 260for nxt_src in $NXT_MAKE_SRCS 261do 262 nxt_obj=${nxt_src%.c}.o 263 nxt_dep=${nxt_src%.c}.dep 264 nxt_dep_flags=`nxt_gen_dep_flags` 265 nxt_dep_post=`nxt_gen_dep_post` 266 cat << END >> $NXT_MAKEFILE 267
| 120 \$(CC) -c \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\ 121 -o $NXT_BUILD_DIR/$nxt_obj \\ 122 $nxt_dep_flags \\ 123 $nxt_src 124 $nxt_dep_post 125 126-include $NXT_BUILD_DIR/$nxt_dep 127 128END 129 130done 131 132$echo >> $NXT_MAKEFILE 133 134 135if [ $NXT_TESTS = YES ]; then 136 137 # Test object files list. 138 139 $echo "NXT_TEST_OBJS = \\" >> $NXT_MAKEFILE 140 141 for nxt_src in $NXT_TEST_SRCS 142 do 143 nxt_obj=${nxt_src%.c}.o 144 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 145 done 146 147 # Test executables. 148 149 cat << END >> $NXT_MAKEFILE 150 151.PHONY: tests 152tests: $NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test \\ 153 $NXT_BUILD_DIR/unit_app_test $NXT_BUILD_DIR/unit_websocket_chat \\ 154 $NXT_BUILD_DIR/unit_websocket_echo 155 156$NXT_BUILD_DIR/tests: \$(NXT_TEST_OBJS) \\ 157 $NXT_BUILD_DIR/$NXT_LIB_STATIC 158 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/tests \\ 159 \$(CFLAGS) \$(NXT_TEST_OBJS) \\ 160 $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 161 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 162 163$NXT_BUILD_DIR/utf8_file_name_test: $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\ 164 $NXT_BUILD_DIR/$NXT_LIB_STATIC 165 \$(CC) \$(CFLAGS) \$(NXT_LIB_INCS) $NXT_LIB_AUX_CFLAGS \\ 166 -o $NXT_BUILD_DIR/utf8_file_name_test \\ 167 $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\ 168 $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 169 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 170 171$NXT_BUILD_DIR/unit_app_test: $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\ 172 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 173 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_app_test \\ 174 \$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\ 175 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 176 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 177 178$NXT_BUILD_DIR/unit_websocket_chat: \\ 179 $NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\ 180 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 181 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_chat \\ 182 \$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_chat.o \\ 183 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 184 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 185 186$NXT_BUILD_DIR/unit_websocket_echo: \\ 187 $NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\ 188 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 189 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_websocket_echo \\ 190 \$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_websocket_echo.o \\ 191 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ 192 $NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 193 194END 195 196else 197 198 cat << END >> $NXT_MAKEFILE 199 200.PHONY: tests 201tests: 202 @(echo; \\ 203 echo "error: to make tests you need to configure --tests option."; \\ 204 echo; \\ 205 exit 1) 206 207END 208 209fi 210 211 212NXT_MAKE_INCS="src $NXT_BUILD_DIR" 213NXT_MAKE_SRCS="$NXT_SRCS" 214 215 216# The include paths list. 217 218$echo -n "NXT_INCS =" >> $NXT_MAKEFILE 219 220for nxt_inc in $NXT_MAKE_INCS 221do 222 $echo -n " -I $nxt_inc" >> $NXT_MAKEFILE 223done 224 225$echo >> $NXT_MAKEFILE 226$echo >> $NXT_MAKEFILE 227 228 229# Object files list. 230 231$echo "NXT_OBJS = \\" >> $NXT_MAKEFILE 232 233for nxt_src in $NXT_MAKE_SRCS 234do 235 nxt_obj=${nxt_src%.c}.o 236 $echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE 237done 238 239$echo >> $NXT_MAKEFILE 240 241 242# unit executable. 243 244cat << END >> $NXT_MAKEFILE 245 246$NXT_BUILD_DIR/$NXT_DAEMON: $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 247 \$(NXT_OBJS) 248 \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/$NXT_DAEMON \$(CFLAGS) \\ 249 \$(NXT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ 250 $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS 251 252END 253 254 255# unit object files. 256 257for nxt_src in $NXT_MAKE_SRCS 258do 259 nxt_obj=${nxt_src%.c}.o 260 nxt_dep=${nxt_src%.c}.dep 261 nxt_dep_flags=`nxt_gen_dep_flags` 262 nxt_dep_post=`nxt_gen_dep_post` 263 cat << END >> $NXT_MAKEFILE 264
|
268$NXT_BUILD_DIR/$nxt_obj: $nxt_src
| 265$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H
|
269 \$(CC) -c \$(CFLAGS) \$(NXT_INCS) \\ 270 $NXT_LIB_AUX_CFLAGS \\ 271 -o $NXT_BUILD_DIR/$nxt_obj \\ 272 $nxt_dep_flags \\ 273 $nxt_src 274 $nxt_dep_post 275 276-include $NXT_BUILD_DIR/$nxt_dep 277 278END 279 280done 281 282 283# install 284 285cat << END >> $NXT_MAKEFILE 286 287.PHONY: install ${NXT_DAEMON}-install install-check 288 289install: ${NXT_DAEMON}-install 290 291install-check: 292 @test -n "\$(DESTDIR)$NXT_PREFIX" \\ 293 || (echo; \\ 294 echo "error: to make install you need either"; \\ 295 echo " to configure --prefix option"; \\ 296 echo " or to set DESTDIR environment variable."; \\ 297 echo; \\ 298 exit 1) 299 300${NXT_DAEMON}-install: $NXT_DAEMON install-check 301 install -d \$(DESTDIR)$NXT_SBINDIR 302 install -p $NXT_BUILD_DIR/$NXT_DAEMON \$(DESTDIR)$NXT_SBINDIR/ 303 install -d \$(DESTDIR)$NXT_STATE 304 305 306.PHONY: uninstall ${NXT_DAEMON}-uninstall 307 308uninstall: ${NXT_DAEMON}-uninstall 309 310${NXT_DAEMON}-uninstall: 311 rm -f \$(DESTDIR)$NXT_SBINDIR/$NXT_DAEMON 312 @rmdir -p \$(DESTDIR)$NXT_SBINDIR 2>/dev/null || true 313 314END 315 316cat << END >> $NXT_MAKEFILE 317 318.PHONY: libunit-install libunit-uninstall 319 320libunit-install: $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 321 install -d \$(DESTDIR)$NXT_LIBDIR 322 install -p -m u=rw,go=r $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \ 323 \$(DESTDIR)$NXT_LIBDIR/ 324 install -d \$(DESTDIR)$NXT_INCDIR 325 install -p -m u=rw,go=r src/nxt_unit.h \ 326 src/nxt_unit_field.h \ 327 src/nxt_unit_request.h \ 328 src/nxt_unit_response.h \ 329 src/nxt_unit_sptr.h \ 330 src/nxt_unit_typedefs.h \ 331 src/nxt_unit_websocket.h \ 332 $NXT_BUILD_DIR/nxt_version.h \ 333 src/nxt_websocket_header.h \ 334 \$(DESTDIR)$NXT_INCDIR/ 335 336libunit-uninstall: 337 rm -f \$(DESTDIR)$NXT_LIBDIR/$NXT_LIB_UNIT_STATIC 338 @rmdir -p \$(DESTDIR)$NXT_LIBDIR 2>/dev/null || true 339 rm -f \$(DESTDIR)$NXT_INCDIR/nxt_unit.h \ 340 \$(DESTDIR)$NXT_INCDIR/nxt_unit_field.h \ 341 \$(DESTDIR)$NXT_INCDIR/nxt_unit_request.h \ 342 \$(DESTDIR)$NXT_INCDIR/nxt_unit_response.h \ 343 \$(DESTDIR)$NXT_INCDIR/nxt_unit_sptr.h \ 344 \$(DESTDIR)$NXT_INCDIR/nxt_unit_typedefs.h \ 345 \$(DESTDIR)$NXT_INCDIR/nxt_unit_websocket.h \ 346 \$(DESTDIR)$NXT_INCDIR/nxt_version.h \ 347 \$(DESTDIR)$NXT_INCDIR/nxt_websocket_header.h 348 @rmdir -p \$(DESTDIR)$NXT_INCDIR 2>/dev/null || true 349 350END 351 352# Makefile. 353# *.dSYM is MacOSX Clang debug information. 354 355cat << END > Makefile 356 357include $NXT_MAKEFILE 358 359.PHONY: clean 360clean: 361 rm -rf $NXT_BUILD_DIR *.dSYM Makefile 362 363END
| 266 \$(CC) -c \$(CFLAGS) \$(NXT_INCS) \\ 267 $NXT_LIB_AUX_CFLAGS \\ 268 -o $NXT_BUILD_DIR/$nxt_obj \\ 269 $nxt_dep_flags \\ 270 $nxt_src 271 $nxt_dep_post 272 273-include $NXT_BUILD_DIR/$nxt_dep 274 275END 276 277done 278 279 280# install 281 282cat << END >> $NXT_MAKEFILE 283 284.PHONY: install ${NXT_DAEMON}-install install-check 285 286install: ${NXT_DAEMON}-install 287 288install-check: 289 @test -n "\$(DESTDIR)$NXT_PREFIX" \\ 290 || (echo; \\ 291 echo "error: to make install you need either"; \\ 292 echo " to configure --prefix option"; \\ 293 echo " or to set DESTDIR environment variable."; \\ 294 echo; \\ 295 exit 1) 296 297${NXT_DAEMON}-install: $NXT_DAEMON install-check 298 install -d \$(DESTDIR)$NXT_SBINDIR 299 install -p $NXT_BUILD_DIR/$NXT_DAEMON \$(DESTDIR)$NXT_SBINDIR/ 300 install -d \$(DESTDIR)$NXT_STATE 301 302 303.PHONY: uninstall ${NXT_DAEMON}-uninstall 304 305uninstall: ${NXT_DAEMON}-uninstall 306 307${NXT_DAEMON}-uninstall: 308 rm -f \$(DESTDIR)$NXT_SBINDIR/$NXT_DAEMON 309 @rmdir -p \$(DESTDIR)$NXT_SBINDIR 2>/dev/null || true 310 311END 312 313cat << END >> $NXT_MAKEFILE 314 315.PHONY: libunit-install libunit-uninstall 316 317libunit-install: $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC 318 install -d \$(DESTDIR)$NXT_LIBDIR 319 install -p -m u=rw,go=r $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \ 320 \$(DESTDIR)$NXT_LIBDIR/ 321 install -d \$(DESTDIR)$NXT_INCDIR 322 install -p -m u=rw,go=r src/nxt_unit.h \ 323 src/nxt_unit_field.h \ 324 src/nxt_unit_request.h \ 325 src/nxt_unit_response.h \ 326 src/nxt_unit_sptr.h \ 327 src/nxt_unit_typedefs.h \ 328 src/nxt_unit_websocket.h \ 329 $NXT_BUILD_DIR/nxt_version.h \ 330 src/nxt_websocket_header.h \ 331 \$(DESTDIR)$NXT_INCDIR/ 332 333libunit-uninstall: 334 rm -f \$(DESTDIR)$NXT_LIBDIR/$NXT_LIB_UNIT_STATIC 335 @rmdir -p \$(DESTDIR)$NXT_LIBDIR 2>/dev/null || true 336 rm -f \$(DESTDIR)$NXT_INCDIR/nxt_unit.h \ 337 \$(DESTDIR)$NXT_INCDIR/nxt_unit_field.h \ 338 \$(DESTDIR)$NXT_INCDIR/nxt_unit_request.h \ 339 \$(DESTDIR)$NXT_INCDIR/nxt_unit_response.h \ 340 \$(DESTDIR)$NXT_INCDIR/nxt_unit_sptr.h \ 341 \$(DESTDIR)$NXT_INCDIR/nxt_unit_typedefs.h \ 342 \$(DESTDIR)$NXT_INCDIR/nxt_unit_websocket.h \ 343 \$(DESTDIR)$NXT_INCDIR/nxt_version.h \ 344 \$(DESTDIR)$NXT_INCDIR/nxt_websocket_header.h 345 @rmdir -p \$(DESTDIR)$NXT_INCDIR 2>/dev/null || true 346 347END 348 349# Makefile. 350# *.dSYM is MacOSX Clang debug information. 351 352cat << END > Makefile 353 354include $NXT_MAKEFILE 355 356.PHONY: clean 357clean: 358 rm -rf $NXT_BUILD_DIR *.dSYM Makefile 359 360END
|