Par ailleurs, on trouve dans le Makefile :
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
La variable MAKE n'est pas redéfinie.

Il y a bien l'explication :
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.
Mais je ne la comprends pas...

Pouvez-vous m'aider s'il vous plaît ?

Ajout : on trouve cette ligne dans la recette de la cible "all" par exemple :
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 \                                                                    
        && :
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...