TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
LEXOPT    = -Cf #-w -b
YACCOPT   = #-v
EXEEXT    = @EXEEXT@

PROGRAMS = widl$(EXEEXT)
MODULE   = none

C_SRCS = \
	header.c \
	proxy.c \
	typelib.c \
	utils.c \
	widl.c

EXTRA_SRCS = parser.y parser.l
EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o

all: $(PROGRAMS)

@MAKE_RULES@

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

# hack to allow parallel make
y.tab.h: y.tab.c
y.tab.o: y.tab.h

@LEX_OUTPUT_ROOT@.c: parser.l
	$(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l

@LEX_OUTPUT_ROOT@.o: y.tab.h

install:: $(PROGRAMS)
	$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
	$(INSTALL_PROGRAM) widl$(EXEEXT) $(bindir)/widl$(EXEEXT)
	$(INSTALL_DATA) $(SRCDIR)/widl.man $(mandir)/man$(prog_manext)/widl.$(prog_manext)

uninstall::
	$(RM) $(bindir)/widl$(EXEEXT) $(mandir)/man$(prog_manext)/widl.$(prog_manext)

### Dependencies:
