Re: wildcard in doc/Makefile.{am,in} causes problems when hacking
In message <20080319212735.GJ705@xxxxxxxxxxxxx>,
Kyle Wheeler (kyle-mutt-dev@xxxxxxxxxxxxxx) wrote:
> On Wednesday, March 19 at 09:05 PM, quoth N.J. Mann:
>> --- doc/Makefile.am.orig 2007-11-30 08:00:04.000000000 +0000
>> +++ doc/Makefile.am
>> @@ -43,6 +43,9 @@
>> ChangeLog.old \
>> README NEWS TODO README.SECURITY README.SSL
>>
>> +OPS = $(top_srcdir)/OPS $(top_srcdir)/OPS.CRYPT $(top_srcdir)/OPS.MIX \
>> + $(top_srcdir)/OPS.PGP $(top_srcdir)/OPS.SMIME
>> +
>
> NO. This variable is already constructed by the configure script (its
> contents depend on how mutt is configured). You could do this:
>
> OPS = @OPS@
This variable(?) does not include all of the OPS files required to build
the documentation.
> ... though that's technically redundant.
>
> The configure script, or more accurately the configure.ac file, has a
> minor problem, which is that it uses $(srcdir) instead of $(top_srcdir).
>
> The problem here is that we don't want the *DOCUMENTATION* to depend on
> how mutt is configured. What you probably want to do is construct a new
> variable... say DOC_OPS or something like that, which will list all of
> the OPS files independent of the configuration.
>
>> all: makedoc-all
>>
>> makedoc-all: mutt.1 muttrc.man manual.html stamp-doc-rc stamp-doc-chunked
>> manual.txt
>> @@ -160,12 +163,12 @@
>> $(EDIT) $(srcdir)/mutt.man > $@
>>
>> stamp-doc-xml: makedoc$(EXEEXT) $(top_srcdir)/init.h \
>> - manual.xml.head $(top_srcdir)/functions.h $(top_srcdir)/OPS*
>> manual.xml.tail \
>> + manual.xml.head $(top_srcdir)/functions.h $(OPS)
>> manual.xml.tail \
>
> The problem here is that OPS is defined in the configure scirpt, and has
> a meaning other than what you're doing here.
>
>> $(srcdir)/gen-map-doc $(top_srcdir)/VERSION
>> $(top_srcdir)/ChangeLog
>> ( date=`head -n 1 $(top_srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1`
>> && \
>> sed -e "s/@VERSION\@/`cat $(top_srcdir)/VERSION` ($$date)/"
>> $(srcdir)/manual.xml.head && \
>> $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -s && \
>> $(MAKEDOC_CPP) $(top_srcdir)/functions.h | \
>> - perl $(srcdir)/gen-map-doc $(srcdir)/manual.xml.tail
>> $(top_srcdir)/OPS* \
>> + perl $(srcdir)/gen-map-doc $(srcdir)/manual.xml.tail $(OPS) \
>> ) > manual.xml
>
> Same problem. Use DOC_OPS or something like that.
>
>> touch stamp-doc-xml
>> --- doc/Makefile.in.orig 2008-01-10 08:00:20.000000000 +0000
>> +++ doc/Makefile.in
>> @@ -142,7 +142,6 @@
>> MUTTLIBS = @MUTTLIBS@
>> MUTT_LIB_OBJECTS = @MUTT_LIB_OBJECTS@
>> OBJEXT = @OBJEXT@
>> -OPS = @OPS@
>
> NO. Do *NOT* edit auto-generated files (such as Makefile.in -- automake
Hey! I _did_ say automake was something I didn't know much about!
Where's your solution?
Nick.
--