Introducing install & uninstall Makefile targets.

This commit is contained in:
Max Romanov
2017-08-31 11:42:13 -07:00
parent 6eb4a41364
commit ac7218e335
8 changed files with 113 additions and 28 deletions

View File

@@ -12,9 +12,14 @@ cat << END
--ld-opt=OPTIONS set additional linker options --ld-opt=OPTIONS set additional linker options
--prefix=DIRECTORY set prefix for relative pathnames, default: none --prefix=DIRECTORY set prefix for relative pathnames, default: none
--bindir=DIRECTORY set user executables directory name
default: "$NXT_BINDIR"
--sbindir=DIRECTORY set system admin executables directory name
default: "$NXT_SBINDIR"
--modules=DIRECTORY set modules directory name, default: "$NXT_MODULES"
--pid=FILE set pid filename, default: "$NXT_PID" --pid=FILE set pid filename, default: "$NXT_PID"
--log=FILE set log filename, default: "$NXT_LOG" --log=FILE set log filename, default: "$NXT_LOG"
--modules=DIRECTORY set modules directory name, default: "$NXT_MODULES"
--control=ADDRESS set address of control API socket --control=ADDRESS set address of control API socket
default: "$NXT_CONTROL" default: "$NXT_CONTROL"

View File

@@ -20,10 +20,10 @@ NXT_EXEC_LINK = $NXT_EXEC_LINK $NXT_LD_OPT
NXT_SHARED_LOCAL_LINK = $NXT_SHARED_LOCAL_LINK $NXT_LD_OPT NXT_SHARED_LOCAL_LINK = $NXT_SHARED_LOCAL_LINK $NXT_LD_OPT
NXT_MODULE_LINK = $NXT_MODULE_LINK $NXT_LD_OPT NXT_MODULE_LINK = $NXT_MODULE_LINK $NXT_LD_OPT
.PHONY: $NXT_BIN .PHONY: $NXT_DAEMON
$NXT_BIN: $NXT_BUILD_DIR/$NXT_BIN $NXT_DAEMON: $NXT_BUILD_DIR/$NXT_DAEMON
all: $NXT_BIN all: $NXT_DAEMON
END END
@@ -184,9 +184,9 @@ $echo >> $NXT_MAKEFILE
cat << END >> $NXT_MAKEFILE cat << END >> $NXT_MAKEFILE
$NXT_BUILD_DIR/$NXT_BIN: $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ $NXT_BUILD_DIR/$NXT_DAEMON: $NXT_BUILD_DIR/$NXT_LIB_STATIC \\
\$(NXT_OBJS) \$(NXT_OBJS)
\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/$NXT_BIN \$(CFLAGS) \\ \$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/$NXT_DAEMON \$(CFLAGS) \\
\$(NXT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ \$(NXT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_STATIC \\
$NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
@@ -210,6 +210,30 @@ END
done done
# install
cat << END >> $NXT_MAKEFILE
.PHONY: install ${NXT_DAEMON}-install
install: ${NXT_DAEMON}-install
${NXT_DAEMON}-install: $NXT_DAEMON
install -d \$(DESTDIR)$NXT_SBINDIR
install -p $NXT_BUILD_DIR/$NXT_DAEMON \$(DESTDIR)$NXT_SBINDIR/
.PHONY: uninstall ${NXT_DAEMON}-uninstall
uninstall: ${NXT_DAEMON}-uninstall
${NXT_DAEMON}-uninstall:
rm -f \$(DESTDIR)$NXT_SBINDIR/$NXT_DAEMON
@rmdir -p \$(DESTDIR)$NXT_SBINDIR 2>/dev/null || true
END
# Makefile. # Makefile.
# *.dSYM is MacOSX Clang debug information. # *.dSYM is MacOSX Clang debug information.

View File

@@ -85,7 +85,7 @@ fi
cat << END >> $NXT_MAKEFILE cat << END >> $NXT_MAKEFILE
.PHONY: ${NXT_GO} .PHONY: ${NXT_GO} ${NXT_GO}-install ${NXT_GO}-uninstall
all: ${NXT_GO} all: ${NXT_GO}
@@ -104,16 +104,22 @@ $NXT_BUILD_DIR/nxt_go_gen.h: src/go/unit/*.go
${NXT_GO} build -o $NXT_BUILD_DIR/nxt_go_gen.a \\ ${NXT_GO} build -o $NXT_BUILD_DIR/nxt_go_gen.a \\
--buildmode=c-archive go/unit --buildmode=c-archive go/unit
install: ${NXT_GO}-install
${NXT_GO}-install: ${NXT_GO} ${NXT_GO}-install: ${NXT_GO}
install -d \$(GOPATH)/src/unit install -d \$(DESTDIR)\$(GOPATH)/src/unit
install -p ./src/go/unit/* \$(GOPATH)/src/unit/ install -p ./src/go/unit/* \$(DESTDIR)\$(GOPATH)/src/unit/
CGO_CFLAGS="-I\$(NXT_ROOT)/$NXT_BUILD_DIR -I\$(NXT_ROOT)/src" \\ CGO_CFLAGS="-I\$(NXT_ROOT)/$NXT_BUILD_DIR -I\$(NXT_ROOT)/src" \\
CGO_LDFLAGS="-L\$(NXT_ROOT)/$NXT_BUILD_DIR ${NXT_LIBRT}" \\ CGO_LDFLAGS="-L\$(NXT_ROOT)/$NXT_BUILD_DIR ${NXT_LIBRT}" \\
GOPATH=$NXT_GO_PATH \\ GOPATH=\$(DESTDIR)\$(GOPATH) \\
${NXT_GO} install -v unit ${NXT_GO} install -v unit
uninstall: ${NXT_GO}-uninstall
${NXT_GO}-uninstall: ${NXT_GO}-uninstall:
rm -rf \$(GOPATH)/src/unit rm -rf \$(DESTDIR)\$(GOPATH)/src/unit
rm -f \$(GOPATH)/pkg/\$(GOOS)_\$(GOARCH)/unit.a rm -f \$(DESTDIR)\$(GOPATH)/pkg/\$(GOOS)_\$(GOARCH)/unit.a
END END

View File

@@ -149,6 +149,8 @@ done
cat << END >> $NXT_MAKEFILE cat << END >> $NXT_MAKEFILE
.PHONY: ${NXT_PHP_MODULE} .PHONY: ${NXT_PHP_MODULE}
.PHONY: ${NXT_PHP_MODULE}-install
.PHONY: ${NXT_PHP_MODULE}-uninstall
all: ${NXT_PHP_MODULE} all: ${NXT_PHP_MODULE}
@@ -158,4 +160,19 @@ $NXT_BUILD_DIR/${NXT_PHP_MODULE}.unit.so: $nxt_objs
$NXT_MODULE_LINK -o $NXT_BUILD_DIR/${NXT_PHP_MODULE}.unit.so \\ $NXT_MODULE_LINK -o $NXT_BUILD_DIR/${NXT_PHP_MODULE}.unit.so \\
$nxt_objs ${NXT_PHP_LIB} ${NXT_PHP_LDFLAGS} $nxt_objs ${NXT_PHP_LIB} ${NXT_PHP_LDFLAGS}
install: ${NXT_PHP_MODULE}-install
${NXT_PHP_MODULE}-install: ${NXT_PHP_MODULE}
install -d \$(DESTDIR)$NXT_MODULES
install -p $NXT_BUILD_DIR/${NXT_PHP_MODULE}.unit.so \\
\$(DESTDIR)$NXT_MODULES/
uninstall: ${NXT_PHP_MODULE}-uninstall
${NXT_PHP_MODULE}-uninstall:
rm -f \$(DESTDIR)$NXT_MODULES/${NXT_PHP_MODULE}.unit.so
@rmdir -p \$(DESTDIR)$NXT_MODULES 2>/dev/null || true
END END

View File

@@ -146,6 +146,8 @@ done
cat << END >> $NXT_MAKEFILE cat << END >> $NXT_MAKEFILE
.PHONY: ${NXT_PYTHON_MODULE} .PHONY: ${NXT_PYTHON_MODULE}
.PHONY: ${NXT_PYTHON_MODULE}-install
.PHONY: ${NXT_PYTHON_MODULE}-uninstall
all: ${NXT_PYTHON_MODULE} all: ${NXT_PYTHON_MODULE}
@@ -155,4 +157,19 @@ $NXT_BUILD_DIR/${NXT_PYTHON_MODULE}.unit.so: $nxt_objs
$NXT_MODULE_LINK -o $NXT_BUILD_DIR/${NXT_PYTHON_MODULE}.unit.so \\ $NXT_MODULE_LINK -o $NXT_BUILD_DIR/${NXT_PYTHON_MODULE}.unit.so \\
$nxt_objs $NXT_PYTHON_LIBS $nxt_objs $NXT_PYTHON_LIBS
install: ${NXT_PYTHON_MODULE}-install
${NXT_PYTHON_MODULE}-install: ${NXT_PYTHON_MODULE}
install -d \$(DESTDIR)$NXT_MODULES
install -p $NXT_BUILD_DIR/${NXT_PYTHON_MODULE}.unit.so \\
\$(DESTDIR)$NXT_MODULES/
uninstall: ${NXT_PYTHON_MODULE}-uninstall
${NXT_PYTHON_MODULE}-uninstall:
rm -f \$(DESTDIR)$NXT_MODULES/${NXT_PYTHON_MODULE}.unit.so
@rmdir -p \$(DESTDIR)$NXT_MODULES 2>/dev/null || true
END END

View File

@@ -55,9 +55,12 @@ do
--build-dir=*) NXT_BUILD_DIR="$value" ;; --build-dir=*) NXT_BUILD_DIR="$value" ;;
--prefix=*) NXT_PREFIX="$value" ;; --prefix=*) NXT_PREFIX="$value" ;;
--bindir=*) NXT_BINDIR="$value" ;;
--sbindir=*) NXT_SBINDIR="$value" ;;
--modules=*) NXT_MODULES="$value" ;;
--pid=*) NXT_PID="$value" ;; --pid=*) NXT_PID="$value" ;;
--log=*) NXT_LOG="$value" ;; --log=*) NXT_LOG="$value" ;;
--modules=*) NXT_MODULES="$value" ;;
--control=*) NXT_CONTROL="$value" ;; --control=*) NXT_CONTROL="$value" ;;
@@ -91,6 +94,11 @@ do
--tests) NXT_TESTS=YES ;; --tests) NXT_TESTS=YES ;;
--help)
. auto/help
exit 0
;;
*) *)
$echo $echo
$echo $0: error: invalid option \"$nxt_option\". $echo $0: error: invalid option \"$nxt_option\".
@@ -112,6 +120,21 @@ case "$NXT_PREFIX" in
*) NXT_PREFIX="$NXT_PREFIX/" ;; *) NXT_PREFIX="$NXT_PREFIX/" ;;
esac esac
case "$NXT_BINDIR" in
/*) ;;
*) NXT_BINDIR="$NXT_PREFIX$NXT_BINDIR" ;;
esac
case "$NXT_SBINDIR" in
/*) ;;
*) NXT_SBINDIR="$NXT_PREFIX$NXT_SBINDIR" ;;
esac
case "$NXT_MODULES" in
/*) ;;
*) NXT_MODULES="$NXT_PREFIX$NXT_MODULES" ;;
esac
case "$NXT_PID" in case "$NXT_PID" in
/*) ;; /*) ;;
*) NXT_PID="$NXT_PREFIX$NXT_PID" ;; *) NXT_PID="$NXT_PREFIX$NXT_PID" ;;
@@ -122,16 +145,6 @@ case "$NXT_LOG" in
*) NXT_LOG="$NXT_PREFIX$NXT_LOG" ;; *) NXT_LOG="$NXT_PREFIX$NXT_LOG" ;;
esac esac
case "$NXT_MODULES" in
""|*/) ;;
*) NXT_MODULES="$NXT_MODULES/" ;;
esac
case "$NXT_MODULES" in
/*) ;;
*) NXT_MODULES="$NXT_PREFIX$NXT_MODULES" ;;
esac
case "$NXT_CONTROL" in case "$NXT_CONTROL" in
unix:/*) ;; unix:/*) ;;
unix:*) NXT_CONTROL="unix:$NXT_PREFIX${NXT_CONTROL##unix:}" ;; unix:*) NXT_CONTROL="unix:$NXT_PREFIX${NXT_CONTROL##unix:}" ;;

View File

@@ -23,4 +23,6 @@ echo=$NXT_BUILD_DIR/echo
NXT_LIB_AUX_CFLAGS= NXT_LIB_AUX_CFLAGS=
NXT_LIB_AUX_LIBS= NXT_LIB_AUX_LIBS=
NXT_MODULES='$NXT_MODULES'
END END

7
configure vendored
View File

@@ -27,14 +27,15 @@ NXT_AUTOCONF_ERR=$NXT_BUILD_DIR/autoconf.err
NXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data NXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data
NXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/nxt_auto_config.h NXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/nxt_auto_config.h
NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile
NXT_BIN=unitd
CC=${CC:-cc} CC=${CC:-cc}
NXT_DAEMON=unitd
NXT_BINDIR="bin"
NXT_SBINDIR="sbin"
NXT_MODULES="$NXT_BUILD_DIR"
NXT_PID="unit.pid" NXT_PID="unit.pid"
NXT_LOG="unit.log" NXT_LOG="unit.log"
NXT_MODULES="modules/"
NXT_CONTROL="unix:control.unit.sock" NXT_CONTROL="unix:control.unit.sock"
NXT_USER="nobody" NXT_USER="nobody"
NXT_GROUP= NXT_GROUP=