Re: 1.9.4 does not compile outside source directory

Urs Janßen <[email protected]> Thu, 7 May 2009 17:46:42 +0200
Newsgroups gmane.network.tin.devel
Message-ID <20090507154642.GB15689__36663.8415879153$1241711173$gmane$org@akk.org>
On Thu, May 07, 2009 at 12:21:27PM +0200, Volker Borchert wrote:
> 
> pcre/Makefile.in has two deficiencies with respect to compilation
> outside the source tree:
> 1. It lacks a -I$(srcdir)
> 2. It does not handle pcre_chartables.c which is generated in the
>    build tree specially
> 
> The following works for me:
> 
> ------- Makefile.in -------
> *** -   Thu May  7 11:53:18 2009
> --- pcre/Makefile.in    Tue May  5 20:08:17 2009
> ***************
> *** 31,37 ****
>         -DMATCH_LIMIT_RECURSION=10000000 \
>         -DNEWLINE=10 \
>         -DPOSIX_MALLOC_THRESHOLD=10 \
> !       @DEFS@ -I. -I../include
>   
>   RANLIB        = @RANLIB@
>   RM    = rm
> --- 31,37 ----
>         -DMATCH_LIMIT_RECURSION=10000000 \
>         -DNEWLINE=10 \
>         -DPOSIX_MALLOC_THRESHOLD=10 \
> !       @DEFS@ -I. -I../include -I$(srcdir)
>   
>   RANLIB        = @RANLIB@
>   RM    = rm

thanks, added. src/Makefile.in and pcre/Makefile.in both have a var named
VPATH which is set to $(srcdir) but never used, we should clean that up at
some point...

> ***************
> *** 75,80 ****
> --- 75,84 ----
>   @SHOW_CC@
>         @ECHO_CC@$(CC) $(CPPOPTS) $(CFLAGS) -c $(srcdir)/$*.c
>   
> + pcre_chartables$o : pcre_chartables.c
> + @SHOW_CC@
> +       @ECHO_CC@$(CC) $(CPPOPTS) $(CFLAGS) -c pcre_chartables.c
> + 
>   .c.i :
>   @SHOW_CC@
>         @ECHO_CC@$(CPP) -C $(CPPOPTS) $*.c >$@
> 

why is this extra rule needed - isn't it coverd by the rule (right above your
new rule):

.c$o :
@SHOW_CC@
	@ECHO_CC@$(CC) $(CPPOPTS) $(CFLAGS) -c $(srcdir)/$*.c

urs
-- 
"Only whimps use tape backup: _real_ men just upload their important stuff
 on ftp, and let the rest of the world mirror it ;)" - Linus