OMake parses only one of the automatic
variables, when used in assigment namely @.
However, all others (&, *, +, <, >,
and ^) are un-assignable.
public.@ = target # OK!
public.& = free-vals # syntax error: parse error
public.* = stem # Failure: .public*: bad match
public.+ = all-deps-unsorted # command not found in PATH: .public+
public.< = first-dep # syntax error: parse error
public.> = no-suffix-target # syntax error: parse error
public.^ = all-deps-sorted # command not found in PATH: .public^
We can workaround the absence of assigning to public.*,
though as "$(public.*) == $(removesuffix $(public.@))"
holds.
Assigment is necessary as soon a any of
these variables must be expanded outside of a
rule body, e.g. for logging, printing, or just
viewing. Now print OPTIMIZATION_FLAGS, when
part of its definition reads
OPTIMIZATION_FLAGS += -fopt-info-optall=$`(removesuffix $(public.@)).opt-info
OMake parses only one of the automatic
variables, when used in assigment namely
@.However, all others (
&,*,+,<,>,and
^) are un-assignable.We can workaround the absence of assigning to$(removesuffix $ (public.@))"
public.*,though as "$(public.*) ==
holds.
Assigment is necessary as soon a any of
these variables must be expanded outside of a
rule body, e.g. for logging, printing, or just
viewing. Now print
OPTIMIZATION_FLAGS, whenpart of its definition reads