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 ofgbhw.o
and this should be enough invoke the special recipe to createimpulse.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 ;-)
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)