CVS build problem: doc makefile uses incorrect wildcards

David Nebauer <[email protected]>
Newsgroups gmane.text.refdb.devel
Message-ID <[email protected]>
Hi Markus,

I'm using the inbuilt documentation building recently incorporated into 
refdb.  Using the '--enable-docs' flag causes the build process to fail 
with the following feedback:

---------------------------------------------------------------------------------------------
make[2]: Entering directory 
`/home/david/data/computing/projects/refdb/packages/refdb/custom/pkg/debianise/source/refdb-0.0-cvs-20051210/doc'
make[2]: *** No rule to make target `citationlistx/*', needed by 
`all-am'.  Stop.
make[2]: Leaving directory 
`/home/david/data/computing/projects/refdb/packages/refdb/custom/pkg/debianise/source/refdb-0.0-cvs-20051210/doc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/home/david/data/computing/projects/refdb/packages/refdb/custom/pkg/debianise/source/refdb-0.0-cvs-20051210'
make: *** [build-stamp] Error 2
---------------------------------------------------------------------------------------------

This error appears to be in line 28:

---------------------------------------------------------------------------------------------
citationlistx_DATA = citationlistx/*
---------------------------------------------------------------------------------------------

This appears to be incorrect wildcard usage.  Here is an extract from 
the GNU 'make' info document:

---------------------------------------------------------------------------------------------
Wildcard expansion does not happen when you define a variable.
Thus, if you write this:

     objects = *.o

then the value of the variable `objects' is the actual string `*.o'.
However, if you use the value of `objects' in a target, prerequisite or
command, wildcard expansion will take place at that time.  To set
`objects' to the expansion, instead use:

     objects := $(wildcard *.o)
---------------------------------------------------------------------------------------------

In this case the variable citationlistx_DATA is literally being set to 
'citationlistx/*' with an unexpanded asterisk.

If the variable declaration is changed to use the 'wildcard' function as 
instructed in the 'make' info page:

---------------------------------------------------------------------------------------------
citationlistx_DATA = $(wildcard citationlistx/*)
---------------------------------------------------------------------------------------------

then that variable is processed correctly.  The build process then fails 
on the next variable with incorrect wildcard usage:

---------------------------------------------------------------------------------------------
make[2]: Entering directory 
`/home/david/data/computing/projects/refdb/packages/refdb/custom/pkg/debianise/source/refdb-0.0-cvs-20051210/doc'
SGML_CATALOG_FILES=""  dtdparse --title "citationlistx XML DTD" --output 
citationlistx.xml --declaration ../declarations/xml.dcl --system-id 
"http://refdb.sourceforge.net/dtd/citationlistx.dtd" 
../dtd/citationlistx.dtd
Public ID: unknown
System ID: http://refdb.sourceforge.net/dtd/citationlistx.dtd
SGML declaration: ../declarations/xml.dcl
Parse complete.
Writing citationlistx.xml...
Done.
make[2]: *** No rule to make target `citationlistx/ele-desc/*', needed 
by `citationlistx/elements.html'.  Stop.
make[2]: Leaving directory 
`/home/david/data/computing/projects/refdb/packages/refdb/custom/pkg/debianise/source/refdb-0.0-cvs-20051210/doc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/home/david/data/computing/projects/refdb/packages/refdb/custom/pkg/debianise/source/refdb-0.0-cvs-20051210'
make: *** [build-stamp] Error 2
---------------------------------------------------------------------------------------------

Regards,
David.





-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.