TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
EXEEXT    = @EXEEXT@

PROGRAMS = winedump$(EXEEXT)
MANPAGES = winedump.man
MODULE   = none

C_SRCS = \
	debug.c \
	dump.c \
	emf.c \
	le.c \
	lnk.c \
	main.c \
	minidump.c \
	misc.c \
	msmangle.c \
	ne.c \
	output.c \
	pe.c \
	search.c \
	symbol.c

all: $(PROGRAMS) $(MANPAGES)

@MAKE_RULES@

winedump$(EXEEXT): $(OBJS)
	$(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)

install:: $(PROGRAMS) $(MANPAGES)
	$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
	$(INSTALL_PROGRAM) winedump$(EXEEXT) $(bindir)/winedump$(EXEEXT)
	$(INSTALL_DATA) winedump.man $(mandir)/man$(prog_manext)/winedump.$(prog_manext)
	$(INSTALL_SCRIPT) $(SRCDIR)/function_grep.pl $(bindir)/function_grep.pl

uninstall::
	$(RM) $(bindir)/function_grep.pl $(bindir)/winedump$(EXEEXT)
	$(RM) $(mandir)/man$(prog_manext)/winedump.$(prog_manext)

### Dependencies:
