Re: [HACKERS] New psql compile problem.
Keith Parks <emkxp01@mtcc.demon.co.uk>
From: Keith Parks <emkxp01@mtcc.demon.co.uk>
To: tgl@sss.pgh.pa.us
Cc: maillist@candle.pha.pa.us, hackers@postgresql.org
Date: 1999-11-07T12:56:37Z
Lists: pgsql-hackers
>From: Tom Lane <tgl@sss.pgh.pa.us>
>
>Keith Parks <emkxp01@mtcc.demon.co.uk> writes:
>>>> make[2]: *** No rule to make target `../../../doc/src/sgml/ref/*.sgml',
>>>> needed
>>>> by `sql_help.h'. Stop.
>>>> make[2]: Leaving directory `/export/home/pgsql/src/bin/psql'
>
>>> Do you have sgml files in that directory? You should.
>
>> Plenty of them...
>>
>> directory. Not the usual sort of thing you see in makefiles.
>
>
>This makefile coding does depend on wildcard expansion in dependency
>lists, which is a GNU-make ism that probably doesn't get a lot of
>testing. What version of make are you running?
>
>It might be worth changing the rule to use explicit wildcard expansion,
>
>sql_help.h: $(wildcard ../../../doc/src/sgml/ref/*.sgml) create_help.pl
>
>in case some versions of make need that extra cue to do the right thing...
>
My make is :-
bash-2.03$ make --version
GNU Make version 3.77, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
so it's fairly recent. ( binary dist from the sunfreeware site. )
Your suggestion above fixes the problem so it might as well be
included in the official makefile.
*** src/bin/psql/Makefile.in.orig Sun Nov 7 10:39:26 1999
--- src/bin/psql/Makefile.in Sun Nov 7 10:40:30 1999
***************
*** 46,52 ****
help.o: sql_help.h
ifneq ($(strip $(PERL)),)
! sql_help.h: ../../../doc/src/sgml/ref/*.sgml create_help.pl
$(PERL) create_help.pl sql_help.h
else
sql_help.h:
--- 46,52 ----
help.o: sql_help.h
ifneq ($(strip $(PERL)),)
! sql_help.h: $(wildcard ../../../doc/src/sgml/ref/*.sgml) create_help.pl
$(PERL) create_help.pl sql_help.h
else
sql_help.h:
Further testing shows that make fails in this case but is OK in others.
bash-2.03$ cat Makefile2
tmplist: /tmp/*
ls /tmp > tmplist
bash-2.03$ make -f Makefile2
ls /tmp > tmplist
I've just downloaded the source for GNU make 3.78.1 and built myself.
This version makes the above problem case without problems.
Keith.
I'm ccing this to steve@smc.vnet.net for info.
Steve, This was the version I had installed.
% pkginfo -l -d ./make-3.77-sol7-sparc-local
PKGINST: SMCmake
NAME: make
CATEGORY: application
ARCH: sparc
VERSION: 3.77
BASEDIR: /usr/local
VENDOR: Free Software Foundation
PSTAMP: Steve Christensen
EMAIL: steve@smc.vnet.net
STATUS: spooled
FILES: 52 spooled pathnames
6 directories
1 executables
2 package information files
4633 blocks used (approx)