Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thomas
In article <63576d28$0$25469$, Thomas wrote:
bonjour :-) est-ce que les auteurs de make n'auraient pas terminé leur tour du sujet, ou est-ce que c'est moi qui ne sais pas interpréter mes observations ?
désolé, décidément j'oublie tjr qqch. j'ai oublié que j'étais sur une vieille machine avec GNU Make 4.1, alors qu'apparemment la version la plus récente c'est GNU Make 4.3, donc peut-être que des bugs ont été corrigés entre temps. https://www.gnu.org/software/make/manual/html_node/Makefile-Contents.html #index-_0023-_0028comments_0029_002c-in-makefile
You cannot use comments within variable references or function calls: any instance of # will be treated literally (rather than as the start of a comment) inside a variable reference or function call.
quand j'écris ceci : $(info #) $(info #) a := $(info #) a := $(info #) chez moi, ça donne cela : # # # makefile:4: *** appel Í la fonction «Â info » non terminé : «Â ) » manquant. Arrêt. mais voilÍ ce que j'ai trouvé de plus étrange : $(or #) :code := # $(info flavor $(code) is '$(flavor $(code))') $(or #) : donne : flavor # is 'simple' makefile:4: *** nom de variable vide. Arrêt. $(or #) et $(or #) donnent : makefile:1: *** missing separator. Arrêt. or, si $(or #) retourne une chaine vide, ce que laisse penser le reste, ça ne devrait faire aucune erreur ! si ? comment ça se passe chez vous ? bon allez, il faut que j'essaye d'avancer mon code, je m'arrête lÍ pour l'instant sur ce sujet :-)
A variable name may be any sequence of characters not containing ':', '#', '=', or whitespace.
je vous propose d'essayer seulement 1 des différentes combinaisons possibles, et de l'analyser :
code := cible : VAR = # $$(code) $(code) $(code) := texte cible : - := $(info VAR is '$(VAR)') cible : - := $(info flavor VAR is '$(flavor VAR)') $(info $(code) is '$($(code))') $(info value $(code) is '$(value $(code))') $(info flavor $(code) is '$(flavor $(code))') $(info .VARIABLES is '$(.VARIABLES)') donne : VAR is '# cible : VAR = # $(code)' flavor VAR is 'recursive' cible : VAR = # $(code) is '' value cible : VAR = # $(code) is 'texte' flavor cible : VAR = # $(code) is 'simple' .VARIABLES is '<D ?F .SHELLFLAGS GPR_PROJECT_PATH CWEAVE ?D @D @F CURDIR SHELL RM CO COMPILE.mod _ PREPROCESS.F LINK.m LINK.o OUTPUT_OPTION GPRINSTALLFLAGS COMPILE.cpp MAKEFILE_LIST REQUIRED_GPRBUILDFLAGS GNUMAKEFLAGS LINK.p XDG_DATA_DIRS CC CHECKOUT,v LESSOPEN CPP LINK.cc SSH_CONNECTION PATH LD TEXI2DVI YACC SSH_TTY ARFLAGS LINK.r LINT COMPILE.f LINT.c YACC.m GPRCLEANFLAGS YACC.y AR .FEATURES TANGLE LS_COLORS SSH_AUTH_SOCK GET %F DISPLAY COMPILE.F CTANGLE .LIBPATTERNS LINK.C PWD LINK.S PREPROCESS.r *D LINK.c LINK.s HOME LESSCLOSE cible : VAR = # $(code) LOGNAME GPRBUILD GPRINSTALL ^D MAKELEVEL COMPILE.m MAKE RMDIR SHLVL AS PREPROCESS.S COMPILE.p MAKE_VERSION USER GPRCLEAN GPRBUILDFLAGS FC .DEFAULT_GOAL REQUIRED_GPRINSTALLFLAGS %D WEAVE MAKE_COMMAND LINK.cpp F77 OLDPWD .VARIABLES PC *F COMPILE.def LEX MAKEFLAGS MFLAGS SSH_CLIENT MAIL LEX.l LEX.m +D COMPILE.r MAKE_TERMOUT +F M2C MAKEFILES COMPILE.cc <F CXX REQUIRED_GPRCLEANFLAGS COFLAGS COMPILE.C ^F COMPILE.S LINK.F SUFFIXES COMPILE.c COMPILE.s .INCLUDE_DIRS .RECIPEPREFIX MAKEINFO MAKE_TERMERR OBJC MAKE_HOST code TEX LANG TERM F77FLAGS LINK.f' -- RAPID maintainer http://savannah.nongnu.org/projects/rapid/
In article <63576d28$0$25469$426a74cc@news.free.fr>,
Thomas <fantome.forums.tDeContes@free.fr.invalid> wrote:
bonjour :-)
est-ce que les auteurs de make n'auraient pas terminé leur tour du sujet,
ou est-ce que c'est moi qui ne sais pas interpréter mes observations ?
désolé, décidément j'oublie tjr qqch.
j'ai oublié que j'étais sur une vieille machine avec GNU Make 4.1,
alors qu'apparemment la version la plus récente c'est GNU Make 4.3,
donc peut-être que des bugs ont été corrigés entre temps.
You cannot use comments within variable references or function calls:
any instance of # will be treated literally (rather than as
the start of a comment) inside a variable reference or function call.
quand j'écris ceci :
$(info #)
$(info #)
a := $(info #)
a := $(info #)
chez moi, ça donne cela :
#
#
#
makefile:4: *** appel Í la fonction «Â info » non terminé : «Â ) »
manquant. Arrêt.
mais voilÍ ce que j'ai trouvé de plus étrange :
$(or #) :code := #
$(info flavor $(code) is '$(flavor $(code))')
$(or #) :
donne :
flavor # is 'simple'
makefile:4: *** nom de variable vide. Arrêt.
$(or #)
et
$(or #)
donnent :
makefile:1: *** missing separator. Arrêt.
or, si $(or #) retourne une chaine vide, ce que laisse penser le reste,
ça ne devrait faire aucune erreur ! si ?
comment ça se passe chez vous ?
bon allez, il faut que j'essaye d'avancer mon code, je m'arrête lÍ pour
l'instant sur ce sujet :-)
> A variable name may be any sequence of characters
> not containing ':', '#', '=', or whitespace.
je vous propose d'essayer seulement 1 des différentes combinaisons
possibles, et de l'analyser :
code := cible : VAR = # $$(code)
$(code)
$(code) := texte
cible : - := $(info VAR is '$(VAR)')
cible : - := $(info flavor VAR is '$(flavor VAR)')
$(info $(code) is '$($(code))')
$(info value $(code) is '$(value $(code))')
$(info flavor $(code) is '$(flavor $(code))')
$(info .VARIABLES is '$(.VARIABLES)')
donne :
VAR is '# cible : VAR = # $(code)'
flavor VAR is 'recursive'
cible : VAR = # $(code) is ''
value cible : VAR = # $(code) is 'texte'
flavor cible : VAR = # $(code) is 'simple'
.VARIABLES is '<D ?F .SHELLFLAGS GPR_PROJECT_PATH CWEAVE ?D @D @F CURDIR
SHELL RM CO COMPILE.mod _ PREPROCESS.F LINK.m LINK.o OUTPUT_OPTION
GPRINSTALLFLAGS COMPILE.cpp MAKEFILE_LIST REQUIRED_GPRBUILDFLAGS
GNUMAKEFLAGS LINK.p XDG_DATA_DIRS CC CHECKOUT,v LESSOPEN CPP LINK.cc
SSH_CONNECTION PATH LD TEXI2DVI YACC SSH_TTY ARFLAGS LINK.r LINT
COMPILE.f LINT.c YACC.m GPRCLEANFLAGS YACC.y AR .FEATURES TANGLE
LS_COLORS SSH_AUTH_SOCK GET %F DISPLAY COMPILE.F CTANGLE .LIBPATTERNS
LINK.C PWD LINK.S PREPROCESS.r *D LINK.c LINK.s HOME LESSCLOSE cible :
VAR = # $(code) LOGNAME GPRBUILD GPRINSTALL ^D MAKELEVEL COMPILE.m MAKE
RMDIR SHLVL AS PREPROCESS.S COMPILE.p MAKE_VERSION USER GPRCLEAN
GPRBUILDFLAGS FC .DEFAULT_GOAL REQUIRED_GPRINSTALLFLAGS %D WEAVE
MAKE_COMMAND LINK.cpp F77 OLDPWD .VARIABLES PC *F COMPILE.def LEX
MAKEFLAGS MFLAGS SSH_CLIENT MAIL LEX.l LEX.m +D COMPILE.r MAKE_TERMOUT
+F M2C MAKEFILES COMPILE.cc <F CXX REQUIRED_GPRCLEANFLAGS COFLAGS
COMPILE.C ^F COMPILE.S LINK.F SUFFIXES COMPILE.c COMPILE.s .INCLUDE_DIRS
.RECIPEPREFIX MAKEINFO MAKE_TERMERR OBJC MAKE_HOST code TEX LANG TERM
F77FLAGS LINK.f'
bonjour :-) est-ce que les auteurs de make n'auraient pas terminé leur tour du sujet, ou est-ce que c'est moi qui ne sais pas interpréter mes observations ?
désolé, décidément j'oublie tjr qqch. j'ai oublié que j'étais sur une vieille machine avec GNU Make 4.1, alors qu'apparemment la version la plus récente c'est GNU Make 4.3, donc peut-être que des bugs ont été corrigés entre temps. https://www.gnu.org/software/make/manual/html_node/Makefile-Contents.html #index-_0023-_0028comments_0029_002c-in-makefile
You cannot use comments within variable references or function calls: any instance of # will be treated literally (rather than as the start of a comment) inside a variable reference or function call.
quand j'écris ceci : $(info #) $(info #) a := $(info #) a := $(info #) chez moi, ça donne cela : # # # makefile:4: *** appel Í la fonction «Â info » non terminé : «Â ) » manquant. Arrêt. mais voilÍ ce que j'ai trouvé de plus étrange : $(or #) :code := # $(info flavor $(code) is '$(flavor $(code))') $(or #) : donne : flavor # is 'simple' makefile:4: *** nom de variable vide. Arrêt. $(or #) et $(or #) donnent : makefile:1: *** missing separator. Arrêt. or, si $(or #) retourne une chaine vide, ce que laisse penser le reste, ça ne devrait faire aucune erreur ! si ? comment ça se passe chez vous ? bon allez, il faut que j'essaye d'avancer mon code, je m'arrête lÍ pour l'instant sur ce sujet :-)