help-make
[Top][All Lists]
Advanced

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

Re: Change a target within Makefile?


From: Paul Smith
Subject: Re: Change a target within Makefile?
Date: Thu, 25 Jul 2024 10:08:59 -0400
User-agent: Evolution 3.52.3 (by Flathub.org)

On Thu, 2024-07-25 at 12:01 +0900, Masahiro Yamada wrote:
> .%.dtb.checked must be executed after %.dtb, not before.
> It is not so simple as adding $(a_prereq).

Thanks this version of your question is much more useful than the
initial version.

The above paragraph is the key information which was missing from your
initial question.  In make, everything is a matter of order and
dependencies so we always need that to be made clear.

In this case, you need to create an extra prerequisite layer on top of
the two you already have.  In other words, something like this:

  ifdef CHECK_DTB
  dtb_prereq = checked
  else
  dtb_prereq = built
  endif

  %.dtb: .%.dtb.$(dtb_prereq) ;

  .%.dtb.built: %.dts
          [ compile the device tree--creates %.dtb ]
          @touch $@

  .%.dtb.checked: .%.dtb.built
          [ check the schema ]
          @touch $@

Be sure you add the semicolon to the %.dtb rule to create an empty
recipe, else it won't work it all.



reply via email to

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