Sujet : Re: Make écrase mes fichiers !
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.os.unixDate : 12. Oct 2021, 21:14:40
Autres entêtes
Organisation : There's no cabale
Message-ID : <sk4qbg$7ld$1@cabale.usenet-fr.net>
References : 1
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Bonjour,
Le 12/10/2021 22:02, Alain Ketterlin a écrit :
Salut,
J'ai un problème étrange avec le makefile suivant :
# --------
name: name.tab.o name.o
name.tab.c: name.y
bison name.y
# --------
J'ai deux fichiers source, name.y (la grammaire Yacc) et name.c (un
main) -- vous avez un contenu "minimal" après ma signature.
Bon, déjà on pourrait argüer que ce n'est pas une bonne idée d'avoir
deux fichiers sources qui ne diffèrent que par une extension connue
de make. Mais voyons plus loin.
[...]
| yacc name.y
| mv -f y.tab.c name.c
| cc -c -o name.o name.c
| bison name.y
| ...
Donc oui, c'est clairement une règle implicite pour faire un fichier .c
à partir d'un fichier .y -- implicite puisque dans ton makefile tu ne
définis qu'une règle avec bison et aucune avec yacc.
Si tu veux conserver name.y et name.c comme deux fichiers *sources*
indépendants, alors je vois ceci :
man make
...
-r, --no-builtin-rules
Eliminate use of the built-in implicit rules. Also clear
out the default list of suffixes for suffix rules.
...
Cordialement,
-- Olivier Miakinen