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

PROGRAMS = wrc
MODULE   = none

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

GEN_C_SRCS = ppy.tab.c lex.ppl.c
EXTRA_SRCS = parser.y parser.l
EXTRA_OBJS = y.tab.o lex.yy.o

all: $(PROGRAMS)

@MAKE_RULES@

wrc: $(OBJS) $(TOPOBJDIR)/libwine_unicode.$(LIBEXT)
	$(CC) $(CFLAGS) -o wrc $(OBJS) -L$(TOPOBJDIR) -lwine_unicode $(LEXLIB) $(LDFLAGS)

$(TOPOBJDIR)/libwine_unicode.$(LIBEXT):
	cd $(TOPOBJDIR) && $(MAKE) libwine_unicode.$(LIBEXT)

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

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

lex.yy.c: parser.l
	$(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l

lex.ppl.c: ppl.l
	$(LEX) $(LEXOPT) -d -Ppp -8 -olex.ppl.c $(SRCDIR)/ppl.l

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

install:: $(PROGRAMS)
	[ -d $(bindir) ] || $(MKDIR) $(bindir)
	[ -d $(mandir)/man$(prog_manext) ] || $(MKDIR) $(mandir)/man$(prog_manext)
	$(INSTALL_DATA) $(SRCDIR)/wrc.man $(mandir)/man$(prog_manext)/wrc.$(prog_manext)
	$(INSTALL_PROGRAM) wrc $(bindir)/wrc

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

### Dependencies:
