File: eval_assign.mk

package info (click to toggle)
android-platform-build-kati 10.0.0%2Br32%2Bgit20220314.09dfa26c4e59-7.1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 2,628 kB
  • sloc: cpp: 10,340; sh: 1,087; python: 85; makefile: 46
file content (44 lines) | stat: -rw-r--r-- 564 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
bar := FAIL
pf := prog: baz
$(pf) := PASS

moge := PASS
hoge := $$(moge)

a := FAIL
b := c
c := PASS

d := FAIL
e := $$f
f := PASS

empty:=#
g := FAIL
h := $(empty) PASS

define evaltest
 $(eval foo := PASS)
 $(eval bar := $$(foo))
 echo $(bar)
 $(eval prog: baz := FAIL)
 echo $($(pf))
 $(eval fuga := $(hoge))
 echo $(fuga)
 $(eval a := $($(b)))
 echo $(a)
 $(eval d := $(e))
 echo $(d)
 $(eval g := $(h))
 echo _$(g)_
endef

a.x=X
y:=Y
$(foreach tag,x,$(eval a.$(tag)+=$(y)))
y:=Z
$(foreach tag,x,$(eval a.$(tag)+=$(y)))
$(info $(a.x))

test:
	$(call evaltest)