Skip to content

Conversation

@linuxlizard
Copy link
Owner

Add Target Specific Assignment support

- add assignment expression list to the Rule class
- rearrange adding Rule to RuleDB in order to handle the subtleties of
  adding assignments to a rule vs overriding a rule (needs more tests)
- fix a few places where .makefile() returned bad recipes (and fix the
  subsequent failing tests)
In order to support rule-specific variables, let's add a 'layer' scheme
to the symbol table.  A "layer" is another dict with key:value as
name:Entry. The layers are stored in an array, with [0] as the topmost
layer.

Variable lookups search starting at [0]. Variables only added to layer
[0].

Removed the old push/pop variable code.

Need to add test code.
- add a layer for recipe execution
- fix bugs found in new tests
- fix export of an undefined variable
GNU Make 4.1 (Used in Ubuntu systems in Github CI) doesn't export
variables to $(shell) calls.

The feature was added in GNU Make 4.4
@linuxlizard linuxlizard self-assigned this Jan 18, 2025
@linuxlizard linuxlizard merged commit d561f89 into master Jan 18, 2025
10 checks passed
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