82 votes

make : règle d'appel de règle

Dans un makefile, puis-je appeler une règle à partir d'une autre règle ?

Semblable à:

 rule1:
        echo "bye"
rule2:
        date
rule3:
        @echo "hello"
        rule1

31voto

John Eikenberry Points 131

Ajoutez simplement une nouvelle règle avec la commande que vous souhaitez.

 rule1:
        echo "bye"
rule2:
        date
rule3:
        @echo "hello"

rule4: rule3 rule1

20voto

Oli Charlesworth Points 148744

Les makefiles ne sont pas procéduraux ; les "règles" ne sont pas comme les fonctions. Cela dit, vous pouvez spécifier qu'une règle est le prérequis d'une autre :

 rule1:
    @echo "Rule 1"

rule2: rule1
    @echo "Rule 2"

Si vous faites make rule2 , vous devriez voir :

 Rule 1
Rule 2

0voto

user2071070 Points 1

Une façon simple de le faire est :

 ifeq (a, b)
    build_target:=one
else
    build_target:=two
endif

mytarget: $(build_target)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X