Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.os.unix > #8050 > unrolled thread
| Started by | Thomas <fantome.forums.tDeContes@free.fr.invalid> |
|---|---|
| First post | 2022-10-25 06:59 +0200 |
| Last post | 2022-10-25 19:55 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to fr.comp.os.unix
Makefiles : noms de variables Thomas <fantome.forums.tDeContes@free.fr.invalid> - 2022-10-25 06:59 +0200
Re: Makefiles : noms de variables Thomas <fantome.forums.tDeContes@free.fr.invalid> - 2022-10-25 19:55 +0200
| From | Thomas <fantome.forums.tDeContes@free.fr.invalid> |
|---|---|
| Date | 2022-10-25 06:59 +0200 |
| Subject | Makefiles : noms de variables |
| Message-ID | <63576d28$0$25469$426a74cc@news.free.fr> |
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 ? https://www.gnu.org/software/make/manual/html_node/Using-Variables.html > 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) := texte cible : - := $(info VAR is '$(VAR)') $(info $(code) is '$($(code))') $(info .VARIABLES is '$(.VARIABLES)') -- RAPID maintainer http://savannah.nongnu.org/projects/rapid/
[toc] | [next] | [standalone]
| From | Thomas <fantome.forums.tDeContes@free.fr.invalid> |
|---|---|
| Date | 2022-10-25 19:55 +0200 |
| Message-ID | <63582303$0$25955$426a74cc@news.free.fr> |
| In reply to | #8050 |
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. 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 :-) > > > https://www.gnu.org/software/make/manual/html_node/Using-Variables.html > > > 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/
[toc] | [prev] | [standalone]
Back to top | Article view | fr.comp.os.unix
csiph-web