mmitch / gbsplay

gameboy sound player

Home Page:https://mmitch.github.io/gbsplay/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

build: impulse.h target calls recursive make

mmitch opened this issue · comments

I am building a new end-to-end testsuite against libgbs.h (see the testsuite branch for now).
Running the testsuite target thus depends on the libgbs in the Makefile – no need for a full gbsplay build as long as libgbs is available.

Running make clean then make testsuite failed with the message that impulse.h was missing.
Adding impulse.h to the dependencies of the testsuite target fixed this bug BUT this now runs a full gbs build instead of just generating the impulse.h file.
It turns out that the recipe for impulse.h contains a recursive call to $(MAKE) with the default target.
Not what I wanted…

  • Check if the recursive call of make is actually needed – if not, remove it.
  • Why is there a special handling of impulse.h at all? The default dependency generation lists impulse.h as a dependency of gbhw.o and this should be enough invoke the special recipe to create impulse.h.

I'll try to remove the special handling and see what happens.
With all our build pipelines in place I think that if they pass, it's ok ;-)

commented

I added the recursive call in a429041:

Avoid running depend.sh before config.mk is included

Should fix:
   "./depend.sh: line 27: exec: : not found"
and also avoid the
  "fatal error: impulse.h: No such file or directory"
warning.

I will have a deeper look into this:

  • The config.mk recipe does no recursion, but I think it should - otherwise a freshly generated config.mk can't be picked up. How does this even work currently? ;-)
  • I'll try to remove the generatedeps flag in the Makefile – the deps can also be handled by regular Makefile dependencies I think (my syndig does it that way)