( NevemTeve | 2025. 10. 23., cs – 17:56 )

Egy kis megtakarítás (vagyis csak egy shell/uname-hívás lesz):

UNAME := $(shell uname)

Illusztráció:

UN1 =  $(shell uname)
UN2 := $(shell uname)

valuetest:
        $(info UN1=${UN1}, $$(value UN1)=$(value UN1))
        $(info UN2=${UN2}, $$(value UN2)=$(value UN2))
        @echo 'UN1=${UN1}, $$(value UN1)=$(value UN1)'
        @echo 'UN2=${UN2}, $$(value UN2)=$(value UN2)'

A biztonság kedvéért info-val és echo-val is kiiratjuk ugyanazt:

UN1=Linux, $(value UN1)=$(shell uname)
UN2=Linux, $(value UN2)=Linux
UN1=Linux, $(value UN1)=$(shell uname)
UN2=Linux, $(value UN2)=Linux

Ebből azt kellene látni, hogy az 'UN1' egy 'programot' tárol, amit a ${UN1} használatakor futatt, az 'UN2' viszont rögtön a program kimenetét tárolja.