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_OUTPUT_ROOT@.o

all: $(PROGRAMS)

@MAKE_RULES@

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

$(TOPOBJDIR)/unicode/libwine_unicode.$(LIBEXT):
	cd `dirname $@` && $(MAKE) `basename $@`

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_OUTPUT_ROOT@.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:
