Skip to content

Quick fix: make opt_si its own target to avoid collisions. #43

Open
eplondke wants to merge 1 commit into
masterfrom
dev/ejp/opt_si_quick_fix
Open

Quick fix: make opt_si its own target to avoid collisions. #43
eplondke wants to merge 1 commit into
masterfrom
dev/ejp/opt_si_quick_fix

Conversation

@eplondke

@eplondke eplondke commented Jun 3, 2026

Copy link
Copy Markdown

Longer term we need to reduce recursive make.

@eplondke eplondke requested a review from bryanb-h2 June 3, 2026 14:37
…m we need to reduce recursive make.

Signed-off-by: Erich Plondke <erich@qti.qualcomm.com>
@eplondke eplondke force-pushed the dev/ejp/opt_si_quick_fix branch from 1ec5342 to b33ab58 Compare June 3, 2026 15:21

ifeq ($(TARGET), opt_si)
T := opt
T := opt_si

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

@bryanb-h2 bryanb-h2 Jun 4, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@bryanb-h2 bryanb-h2 Jun 4, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works.

@bryanb-h2 bryanb-h2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants