[PATCH] Dynamic modules: add as a dependency to "make install" target
Maxim Dounin
mdounin at mdounin.ru
Sat Feb 13 04:25:34 UTC 2016
Hello!
On Fri, Feb 12, 2016 at 02:55:22PM -0800, Piotr Sikora wrote:
> # HG changeset patch
> # User Piotr Sikora <piotrsikora at google.com>
> # Date 1455317648 28800
> # Fri Feb 12 14:54:08 2016 -0800
> # Node ID 4dfe52452f0d343b08b85089aa5ac98120d67ecc
> # Parent dcfe355dfda4693ac1f3aa8fb9705812c2485bac
> Dynamic modules: add as a dependency to "make install" target.
>
> Reported by badfiles on GitHub.
>
> Signed-off-by: Piotr Sikora <piotrsikora at google.com>
>
> diff -r dcfe355dfda4 -r 4dfe52452f0d auto/install
> --- a/auto/install
> +++ b/auto/install
> @@ -105,6 +105,7 @@ manpage: $NGX_OBJS/nginx.8
> < $NGX_MAN > \$@
>
> install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
> + modules \
> $NGX_INSTALL_PERL_MODULES
> test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'
We've discussed "make install" problem with Ruslan a couple of
days ago, and tend to think that something like this would be a
better option:
# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1455337144 -10800
# Sat Feb 13 07:19:04 2016 +0300
# Node ID d1fc94a6bbecfb2fd59c550c5eebbce0fd4a6500
# Parent 317abf4680eb22d80f5127c55a966366e8ab522b
Configure: added "build" targed.
The "build" targed introduced to do all build-related tasks, and
it is now used in Makefile and in objs/Makefile as a dependency for
the "install" targed.
In particular, this resolves problems as observed with dynamic modules
by people trying to do "make install" without calling "make" first.
diff --git a/auto/install b/auto/install
--- a/auto/install
+++ b/auto/install
@@ -104,8 +104,7 @@ manpage: $NGX_OBJS/nginx.8
-e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\
< $NGX_MAN > \$@
-install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
- $NGX_INSTALL_PERL_MODULES
+install: build $NGX_INSTALL_PERL_MODULES
test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'
test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \
@@ -187,8 +186,6 @@ cat << END >> Makefile
build:
\$(MAKE) -f $NGX_MAKEFILE
- \$(MAKE) -f $NGX_MAKEFILE modules
- \$(MAKE) -f $NGX_MAKEFILE manpage
install:
\$(MAKE) -f $NGX_MAKEFILE install
diff --git a/auto/make b/auto/make
--- a/auto/make
+++ b/auto/make
@@ -223,6 +223,8 @@ ngx_main_link=${MAIN_LINK:+`echo $MAIN_L
cat << END >> $NGX_MAKEFILE
+build: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} modules manpage
+
$NGX_OBJS${ngx_dirsep}nginx${ngx_binext}: $ngx_deps$ngx_spacer
\$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link
$ngx_rcc
--
Maxim Dounin
http://nginx.org/
More information about the nginx-devel
mailing list