TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
YACCOPT   = #-v
EXEEXT    = @EXEEXT@

PROGRAMS = wmc$(EXEEXT)
MODULE   = none

C_SRCS = \
	lang.c \
	mcl.c \
	utils.c \
	wmc.c \
	write.c

EXTRA_SRCS = mcy.y
EXTRA_OBJS = y.tab.o

all: $(PROGRAMS)

mcl.o: y.tab.h

@MAKE_RULES@

wmc: $(OBJS)
	$(CC) $(CFLAGS) -o wmc $(OBJS) $(LIBWINE) $(LIBUNICODE) $(LEXLIB) $(LDFLAGS)

wmc.exe: $(OBJS)
	$(CC) $(CFLAGS) -o wmc.exe $(OBJS) $(LIBWINE) $(LIBUNICODE) $(LEXLIB) -liberty $(LDFLAGS)

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

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

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

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

### Dependencies:
