65.1. Vestavěné proměnné

FIXME:TBD

Tabulka 65.1. Rychlý přehled proměnných v Makefile

proměnnépopis obsahu
$@cíl pravidla který se právě uskutečňuje
$% 
$<první ze seznamu závislých souborů
$?závislé soubory které jsou novější než cíl
$^všechny závislé soubory
$+všechny závislé soubry v četně duplikací
$*obsahuje cíl bez přípony

$@

Obsahuje cíl pravidla. Tedy ten ze souboru cílů který je právě uskutečňován, je-li v pravidle cílů více.V následující ukázce tedy obsahuje bar.c.

foo.o: bar.c
	$(CC) -c $< -o $@
$%

PŘELOŽIT: The filename element of an archive member specification.

$<

Obsahuje první ze seznamu závislých (prerequisite) souborů. V následující ukázce tedy obsahuje rub.c.

a.o: rub.c sat.c bond.h
	echo $<
$?

Seznam závislých (prerequisite) souborů, které jsou novější než cíl. Jednotlivá jména souborů jsou oddělena mezerou.

a.o: rub.c sat.c bond.h
	@echo $?
	@echo "\$$? = $?"
$ touch a.c sat.c
$ make a.o
sat.c bond.h
$? = sat.c bond.h
$^

Seznam všech závislých souborů. Jednotlivá jména jsou oddělena mezerou.

a.o: rub.c sat.c bond.h
	@echo "\$$^ = $^"
$ touch a.c sat.c
$ make a.o
$^ = rub.c sat.c bond.h
$+
Obdoba proměnné $^. Seznam všech závislých souborů, v četně duplikátů. V normálních situacích proměnné obsahují každý soubor jen jednou, i když jej přiřadíme vícekrát. V případě proměnné $^ jsou zdvojená jména souborů ponechána.
$*
Obsahuje cíl bez přípony. V dříve uvedených ukázkách by to tedy byl soubor a.
$(wildcard pattern …)
FIXME:dopsat