TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
EXEEXT    = @EXEEXT@
DEFS      = -D__WINESRC__ $(EXTRADEFS)

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

C_SRCS = \
	import.c \
	main.c \
	parser.c \
	relay.c \
	res16.c \
	res32.c \
	spec16.c \
	spec32.c \
	utils.c

INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext)

all: $(PROGRAMS) $(MANPAGES)

@MAKE_RULES@

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

install install-dev:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
	$(INSTALL_PROGRAM) winebuild$(EXEEXT) $(DESTDIR)$(bindir)/winebuild$(EXEEXT)
	$(INSTALL_DATA) winebuild.man $(DESTDIR)$(mandir)/man$(prog_manext)/winebuild.$(prog_manext)

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

@DEPENDENCIES@  # everything below this line is overwritten by make depend
