DEFS      = -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
LEXOPT    = -Cf #-w -b
YACCOPT   = #-v
EXEEXT    = @EXEEXT@
EXTRALIBS = -L$(TOPOBJDIR)/tools/wpp -lwpp

PROGRAMS = wrc$(EXEEXT)
MODULE   = none

C_SRCS = \
	dumpres.c \
	genres.c \
	newstruc.c \
	readres.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: $(OBJS) $(TOPOBJDIR)/tools/wpp/libwpp.a
	$(CC) $(CFLAGS) -o wrc $(OBJS) $(EXTRALIBS) $(LIBWINE) $(LIBUNICODE) $(LEXLIB) $(LDFLAGS)

wrc.exe: $(OBJS) $(TOPOBJDIR)/tools/wpp/libwpp.a
	$(CC) $(CFLAGS) -o wrc.exe $(OBJS) $(EXTRALIBS) $(LIBWINE) $(LIBUNICODE) $(LEXLIB) -liberty $(LDFLAGS)

y.tab.c y.tab.h: parser.y
	$(YACC) $(YACCOPT) -d -t $(SRCDIR)/parser.y

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

clean::
	$(RM) parser.output parser.tab.h lex.backup y.output

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:
