Deutsch   English   Français   Italiano  
<sk4qbg$7ld$1@cabale.usenet-fr.net>

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

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.comp.os.unix
Subject: =?UTF-8?Q?Re:_Make_=c3=a9crase_mes_fichiers_!?=
Date: Tue, 12 Oct 2021 22:14:40 +0200
Organization: There's no cabale
Lines: 47
Message-ID: <sk4qbg$7ld$1@cabale.usenet-fr.net>
References: <87fst657vq.fsf@universite-de-strasbourg.fr.invalid>
NNTP-Posting-Host: 220.12.205.77.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1634069680 7853 77.205.12.220 (12 Oct 2021 20:14:40 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Tue, 12 Oct 2021 20:14:40 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Firefox/52.0 SeaMonkey/2.49.4
In-Reply-To: <87fst657vq.fsf@universite-de-strasbourg.fr.invalid>
Bytes: 2268

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