help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Make feature request, pattern matching


From: Noah Slater
Subject: Re: GNU Make feature request, pattern matching
Date: Tue, 30 Sep 2008 20:57:39 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Hey,

Thanks for the reply.

On Tue, Sep 30, 2008 at 03:08:18PM -0400, Paul Smith wrote:
> Have you considered using VPATH?  It looks to me (based on this example;
> I didn't try to get the tarball) that you have a good fit for it here.
> Try rewriting your rule like this:
>
>       VPATH := $(src)
>
>       %.html: %.txt
>               $(info example making $@ from $<)
>
> and see if that works.

I didn't know how much detail to go into in my original email, so I left quite a
lot of details out about why I've ended up in this situation. Sorry for any
confusion this may cause.

As for this particular idea, yeah, I tried that and it works perfectly.

Unfortunately there are also cases where a source file has to be moved to the
directory and processed along the way, perhaps to add metadata (such as author
name or copyright notices) or other information that my software knows about.

This results in rules such as:

  %.xml: %.xml

Clearly, this doesn't work because GNU Make correctly assumes they are the same.

Of course, with my previous suggestion, this would be written:

  %.xml: $(src)/%.xml

But this fails for the same reasons.

I am generating the targets dynamically (by scanning the source directory using
Python and using GNU Make's standard makefile generation hooks) and it seems I
that a possible solution is to do this:

  # this define is written verbatim in the core makefile

  define build_txt_html
    $(info stuff here)
  endef

  # these next too lines are from the generated makefile

  all: dir/index.html

  dir/index.html: $(src)/dir/index.txt; $(build_txt_html)

It seems that this would work, and the format of the "configuration" file is
untouched, but it does feel slightly un-make-like.

Your thoughts or feedback is very welcome.

Thanks,

-- 
Noah Slater, http://bytesexual.org/nslater




reply via email to

[Prev in Thread] Current Thread [Next in Thread]