DEFS      = -DINCLUDEDIR="\"$(includedir)\""
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
LEXOPT    = -Cf #-w -b
YACCOPT   = #-v
EXEEXT    = @EXEEXT@

PROGRAMS = wrc$(EXEEXT)
MODULE   = none

C_SRCS = \
	dumpres.c \
	genres.c \
	newstruc.c \
	readres.c \
	translation.c \
	utils.c \
	wrc.c \
	writeres.c

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

all: $(PROGRAMS)

@MAKE_RULES@

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

# 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_DATA) $(SRCDIR)/wrc.man $(mandir)/man$(prog_manext)/wrc.$(prog_manext)
	$(INSTALL_PROGRAM) wrc$(EXEEXT) $(bindir)/wrc$(EXEEXT)

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

### Dependencies:
