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