Commit cd91bc61 authored by Alexandre Julliard's avatar Alexandre Julliard

Now that we are requiring bison anyway, make the .tab.c file use the

same base name as the .y file, so that we can generate correct dependencies in all cases.
parent 1e26f960
......@@ -27,7 +27,6 @@ CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
LIBS = @LIBS@
BISON = @BISON@
YACC = $(BISON) -y
LEX = @LEX@
LEXLIB = @LEXLIB@
EXEEXT = @EXEEXT@
......
Makefile
lex.yy.c
y.tab.c
y.tab.h
ppy.tab.c
ppy.tab.h
......@@ -3,7 +3,6 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LEXOPT = -Cf #-w -b
YACCOPT = #-v
MODULE = libwpp.a
C_SRCS = \
......@@ -11,7 +10,7 @@ C_SRCS = \
wpp.c
EXTRA_SRCS = ppy.y ppl.l
EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
EXTRA_OBJS = ppy.tab.o @LEX_OUTPUT_ROOT@.o
all: $(MODULE)
......@@ -22,16 +21,16 @@ $(MODULE): $(OBJS)
$(AR) $@ $(OBJS)
$(RANLIB) $@
y.tab.c y.tab.h: ppy.y
$(YACC) $(YACCOPT) -ppp -d -t $(SRCDIR)/ppy.y
ppy.tab.c ppy.tab.h: ppy.y
$(BISON) -ppp -d -t $(SRCDIR)/ppy.y -o ppy.tab.c
# hack to allow parallel make
y.tab.h: y.tab.c
y.tab.o: y.tab.h
ppy.tab.h: ppy.tab.c
ppy.tab.o: ppy.tab.h
@LEX_OUTPUT_ROOT@.c: ppl.l
$(LEX) $(LEXOPT) -d -Ppp -o$@ -8 $(SRCDIR)/ppl.l
@LEX_OUTPUT_ROOT@.o: y.tab.h
@LEX_OUTPUT_ROOT@.o: ppy.tab.h
### Dependencies:
......@@ -161,7 +161,7 @@ ul [uUlL]|[uUlL][lL]|[lL][uU]|[lL][lL][uU]|[uU][lL][lL]|[lL][uU][lL]
#include <assert.h>
#include "wpp_private.h"
#include "y.tab.h"
#include "ppy.tab.h"
/*
* Make sure that we are running an appropriate version of flex.
......
Makefile
dbg.tab.c
dbg.tab.h
lex.yy.c
winedbg.exe.dbg.c
y.tab.c
y.tab.h
......@@ -27,21 +27,21 @@ C_SRCS = \
winedbg.c
EXTRA_SRCS = dbg.y debug.l
EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
EXTRA_OBJS = dbg.tab.o @LEX_OUTPUT_ROOT@.o
@MAKE_PROG_RULES@
y.tab.c y.tab.h: dbg.y
$(YACC) -d -t $(SRCDIR)/dbg.y
dbg.tab.c dbg.tab.h: dbg.y
$(BISON) -d -t $(SRCDIR)/dbg.y -o dbg.tab.c
# hack to allow parallel make
y.tab.h: y.tab.c
y.tab.o: y.tab.h
dbg.tab.h: dbg.tab.c
dbg.tab.o: dbg.tab.h
@LEX_OUTPUT_ROOT@.c: debug.l
$(LEX) -8 -I $(SRCDIR)/debug.l
@LEX_OUTPUT_ROOT@.o: y.tab.h
@LEX_OUTPUT_ROOT@.o: dbg.tab.h
install::
$(MKINSTALLDIRS) $(mandir)/man$(prog_manext)
......
......@@ -25,7 +25,7 @@
#include <stdarg.h>
#include "debugger.h"
#include "y.tab.h"
#include "dbg.tab.h"
#undef YY_INPUT
......
......@@ -452,7 +452,7 @@ static void output_src( FILE *file, INCL_FILE *pFile, int *column )
*ext++ = 0;
if (!strcmp( ext, "y" )) /* yacc file */
{
*column += fprintf( file, "y.tab.o: y.tab.c" );
*column += fprintf( file, "%s.tab.o: %s.tab.c", obj, obj );
}
else if (!strcmp( ext, "l" )) /* lex file */
{
......
Makefile
lex.yy.c
parser.tab.c
parser.tab.h
widl
y.tab.c
y.tab.h
......@@ -3,7 +3,6 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LEXOPT = -Cf #-w -b
YACCOPT = #-v
EXEEXT = @EXEEXT@
PROGRAMS = widl$(EXEEXT)
......@@ -21,7 +20,7 @@ C_SRCS = \
write_msft.c
EXTRA_SRCS = parser.y parser.l
EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
EXTRA_OBJS = parser.tab.o @LEX_OUTPUT_ROOT@.o
all: $(PROGRAMS)
......@@ -30,17 +29,17 @@ all: $(PROGRAMS)
widl$(EXEEXT): $(OBJS) $(LIBDIR)/wpp/libwpp.a
$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(LIBDIR) -lwpp -lwine_port $(LEXLIB) $(LDFLAGS)
y.tab.c y.tab.h: parser.y
$(YACC) $(YACCOPT) -d -t $(SRCDIR)/parser.y
parser.tab.c parser.tab.h: parser.y
$(BISON) -d -t $(SRCDIR)/parser.y -o parser.tab.c
# hack to allow parallel make
y.tab.h: y.tab.c
y.tab.o: y.tab.h
parser.tab.h: parser.tab.c
parser.tab.o: parser.tab.h
@LEX_OUTPUT_ROOT@.c: parser.l
$(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l
@LEX_OUTPUT_ROOT@.o: y.tab.h
@LEX_OUTPUT_ROOT@.o: parser.tab.h
install:: $(PROGRAMS)
$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
......
......@@ -50,7 +50,7 @@ uuid {hexd}{8}-{hexd}{4}-{hexd}{4}-{hexd}{4}-{hexd}{12}
#include "parser.h"
#include "wine/wpp.h"
#include "y.tab.h"
#include "parser.tab.h"
#define YY_USE_PROTOS
#define YY_NO_UNPUT
......
Makefile
mcy.tab.c
mcy.tab.h
wmc
y.tab.c
y.tab.h
......@@ -2,7 +2,6 @@ TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
YACCOPT = #-v
EXEEXT = @EXEEXT@
PROGRAMS = wmc$(EXEEXT)
......@@ -16,23 +15,23 @@ C_SRCS = \
write.c
EXTRA_SRCS = mcy.y
EXTRA_OBJS = y.tab.o
EXTRA_OBJS = mcy.tab.o
all: $(PROGRAMS)
mcl.o: y.tab.h
mcl.o: mcy.tab.h
@MAKE_RULES@
wmc$(EXEEXT): $(OBJS)
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBUNICODE) $(LIBPORT) $(LEXLIB) $(LDFLAGS)
y.tab.c y.tab.h: mcy.y
$(YACC) $(YACCOPT) -d -t $(SRCDIR)/mcy.y
mcy.tab.c mcy.tab.h: mcy.y
$(BISON) -d -t $(SRCDIR)/mcy.y -o mcy.tab.c
# hack to allow parallel make
y.tab.h: y.tab.c
y.tab.o: y.tab.h
mcy.tab.h: mcy.tab.c
mcy.tab.o: mcy.tab.h
install:: $(PROGRAMS)
$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
......
......@@ -30,7 +30,7 @@
#include "wmc.h"
#include "lang.h"
#include "y.tab.h"
#include "mcy.tab.h"
/*
* Keywords are case insenitive. All normal input is treated as
......
Makefile
lex.yy.c
parser.tab.c
parser.tab.h
wrc
y.tab.c
y.tab.h
y.output
lex.backup
......@@ -4,7 +4,6 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LEXOPT = -Cf #-w -b
YACCOPT = #-v
EXEEXT = @EXEEXT@
PROGRAMS = wrc$(EXEEXT)
......@@ -21,7 +20,7 @@ C_SRCS = \
writeres.c
EXTRA_SRCS = parser.y parser.l
EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
EXTRA_OBJS = parser.tab.o @LEX_OUTPUT_ROOT@.o
all: $(PROGRAMS)
......@@ -30,17 +29,17 @@ all: $(PROGRAMS)
wrc$(EXEEXT): $(OBJS) $(LIBDIR)/wpp/libwpp.a
$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(LIBDIR) -lwpp -lwine_unicode -lwine_port $(LEXLIB) $(LDFLAGS)
y.tab.c y.tab.h: parser.y
$(YACC) $(YACCOPT) -d -t $(SRCDIR)/parser.y
parser.tab.c parser.tab.h: parser.y
$(BISON) -d -t $(SRCDIR)/parser.y -o parser.tab.c
# hack to allow parallel make
y.tab.h: y.tab.c
y.tab.o: y.tab.h
parser.tab.h: parser.tab.c
parser.tab.o: parser.tab.h
@LEX_OUTPUT_ROOT@.c: parser.l
$(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l
@LEX_OUTPUT_ROOT@.o: y.tab.h
@LEX_OUTPUT_ROOT@.o: parser.tab.h
install:: $(PROGRAMS)
$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
......
......@@ -109,7 +109,7 @@ cident [a-zA-Z_][0-9a-zA-Z_]*
#include "parser.h"
#include "newstruc.h"
#include "y.tab.h"
#include "parser.tab.h"
#define YY_USE_PROTOS
#define YY_NO_UNPUT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment