Deutsch   English   Français   Italiano  
<63582303$0$25955$426a74cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp1-2.free.fr!not-for-mail
From: Thomas <fantome.forums.tDeContes@free.fr.invalid>
Newsgroups: fr.comp.os.unix
Mail-Copies-To: nobody
Subject: Re: Makefiles : noms de variables
References: <63576d28$0$25469$426a74cc@news.free.fr>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)
Date: Tue, 25 Oct 2022 19:55:15 +0200
Lines: 125
Message-ID: <63582303$0$25955$426a74cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 25 Oct 2022 19:55:15 CEST
NNTP-Posting-Host: 91.175.52.121
X-Trace: 1666720515 news-2.free.fr 25955 91.175.52.121:1631
X-Complaints-To: abuse@proxad.net
Bytes: 4525

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/