Package: make
Version: 4.0-8.1
Severity: normal

Dear Maintainer,

I created a parser.y and scanner.l files. I included parser.h in
scanner.l. I created Makefile with the following contentc

--8<---------------cut here---------------start------------->8---
LEX = flex
LFLAGS = -I
YACC = bison
YFLAGS = -d -y
--8<---------------cut here---------------end--------------->8---

Running make(1)

    make parser.c

causes the following commands to be executed

    bison -d -y parser.y 
    mv -f y.tab.c parser.c

but y.tab.h is not renamed to parser.h as I expected. It appears the
implicit rule, compiled into make(1), ignores the fact that yacc(1) can
generate headers.

It is possible to work around this problem by defining custom rules but
I'd expect make(1) to rename the generated header file (if it exists) as
well with built-in rules.

-- System Information:
Debian Release: 8.7
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.16.0-4-586
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages make depends on:
ii  libc6  2.19-18+deb8u7

make recommends no packages.

Versions of packages make suggests:
ii  make-doc  4.0-2

-- no debconf information

-- 
Było mi bardzo miło.                                  --- Rurku. --- ...
>Łukasz<                                --- To dobrze, że mnie słuchasz.

Attachment: pgpm5ibLLLHOD.pgp
Description: PGP signature

Reply via email to