Hello!

On Fri, Feb 12, 2016 at 02:55:22PM -0800, Piotr Sikora wrote:

> # HG changeset patch
> # User Piotr Sikora <piotrsik...@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 <piotrsik...@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 <mdou...@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/

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to