Variables du Makefile non vues

Résolu
Bonjour,

J'ai un petit problème avec les variables exportés dans le Makefile. Un script appelé par le makefile ne les voit pas. J'ai fait des echos dans le script pour voir leur valeur mais il y a rien.
Quelqu'un save pourquois?
Merci si quelqu'un peut m'aider.

avico
Configuration: Linux Debian
Epiphany 2.14

6 réponses

  1. Contributeur
    hello
    les variables dans Makefile sont locales à la commande make et pas vues par le shell.
    Soit passer les variables en paramètres du script, ou définir les variables dans l'environnement du shell et utiliser l'option:
    -e,--environment-overrides
    Give variables taken from the environment precedence over variables from makefiles.
    1. merci pour repondre!
      mais j'ai essaie ce que tu m'as dit (-e, --environement-overrides) et enocre il continue a ne les voir pas.

      qu'est que tu veux dire par passer les variables en paramètres du script?
      temporalement j'ai redefini les variables au début du script, mais ça n'est pas une solution souhaitable pour moi...
      1. Contributeur
        il faut que dans le shell, les variables soient export var=valeur
        par contre les variables du shell sont vues dans Makefile

        dans une Makefile
            
                      CPP = /usr/ccs/lib/cpp
                       LD = ld
        
        target:
                       script $(CPP) $(LD)
        


        et dans script, $1 = CPP, $2 = LD
        1. je crois que le problème est plutôt un problème linux.

          les variables sont bien définis et exportés dans le make et elle sont bien utilisés dans le script $VARIABLE

          c'est le makefile d'un code opensource que j'ai télechargé du site oficiel de netgear.
          j'utilise une distribution debian pour amd64 je ne suis pas sure si le probleme vient de la bas.
          1. j'ai resolu le problème c'etait parce l'appel au script se faisait a paritr d'un command sudo su.
            apparentment il ne retient pas les valeurs des variables.