Quick fix: make opt_si its own target to avoid collisions. #43
Conversation
…m we need to reduce recursive make. Signed-off-by: Erich Plondke <erich@qti.qualcomm.com>
1ec5342 to
b33ab58
Compare
|
|
||
| ifeq ($(TARGET), opt_si) | ||
| T := opt | ||
| T := opt_si |
There was a problem hiding this comment.
So the rule now is that the T for each variant has to be distinct? That defeats the purpose of T, which is to specify which of opt or ref to build for a give target.
There was a problem hiding this comment.
Is opt_si different from opt?
Yes ==> build a separate build
No ==> why have it?
The collision was from two things that get built both for opt and opt_si. I think practically the problem is that we're using recursive make, and whatever different or updated opt_si is needs to be a part of the global dependence graph.
For now this should resolve your issue: by building everything twice since something might be different?
There was a problem hiding this comment.
Yes, opt_si is different. See lines 161-163 below. This is a build that needs to be installed under pkw along with the normal opt.
"build a separate build" is exactly what is supposed to happen; the question is how to specify the parameters of the build.
Each $(TARGET) is a $(T) with particular extra build options. $(T) is either opt or ref, but $(TARGET) can be any number of things.
Seems to me that the structure should be artifacts/v$(ARCHV)/$(TARGET), not artifacts/v$(ARCHV)/$(T)
We could also inline all the $(TARGET) configs in this file into separate make targets...but that's where what we have now came from, and it was messy.
Either way, I don't think T := opt_si is the right way to go here.
Longer term we need to reduce recursive make.