-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
Describe the bug
Make
failed building out-of-source, because of the disabling rebuilding src/lexer.c
and src/parser.c
.
To Reproduce
Do this:
git submodule update --init
autoreconf -i
mkdir build
cd build
../configure --with-oniguruma=builtin
make
And get the error message:
YACC src/lexer.c
NOT building lexer.c!
CC src/lexer.lo
cc: error: no such file or directory: 'src/lexer.c'
cc: error: no input file
This is because the implicit rules of GNU Make. The existence of $(srcdir)/src/lexer.l
will disable the VPATH $(srcdir)/src/lexer.c
to be the input file for src/lexer.o
. So as src/parser.c
.
However, if configure without maintainer-mode enabled, Makefile.am
has a rule to disable %.l: %.c
and %.y: %.c
generation.
And if you are not building out-of-source, src/lexer.c
and src/parser.c
should be fine as input, instead of VPATH $(srcdir)/src/lexer.c
and $(srcdir)/src/parser.c
.
Expected behavior
jq
to be built.
Environment (please complete the following information):
- OS and Version: Ubuntu 24.04.1 LTS
- jq version: jq-1.8.1 (git tag)
- GNU Make: 4.3
Metadata
Metadata
Assignees
Labels
No labels