Par ailleurs, on trouve dans le Makefile :
La variable MAKE n'est pas redéfinie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 unstage = : (snip) unstage = if [ -f stage_last ]; then [ -f stage_current ] || $(MAKE) `cat stage\ _last`-start || exit 1; else :; fi
Il y a bien l'explication :
Mais je ne la comprends pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # (snip) To avoid excessive # recursive invocations of make, we "inline" them using a variable. These # must be referenced as ": $(MAKE) ; $(unstage)" rather than "$(unstage)" # to avoid warnings from the GNU Make job server.
Pouvez-vous m'aider s'il vous plaît ?
Ajout : on trouve cette ligne dans la recette de la cible "all" par exemple :
Par ailleurs, je n'avais pas réalisé que l'effet de la commande ":" du shell ne va pas au-delà du séparateur de commandes ";". Ma question porte en fait surtout sur la séquence ": $(MAKE)" qui normalement ne fait rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 # The target built for a native non-bootstrap build. .PHONY: all all: [ -f stage_final ] || echo stage3 > stage_final @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble @: $(MAKE); $(unstage) @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ if [ -f stage_last ]; then \ TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_l\ ast)_TFLAGS)"; \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \ else \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \ ; \ fi \ && :
Partager