DEFS      = -D__WINESRC__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = none
EXTRALIBS = @LIBPOLL@

C_SRCS = \
	async.c \
	atom.c \
	change.c \
	class.c \
	clipboard.c \
	completion.c \
	console.c \
	context_alpha.c \
	context_i386.c \
	context_powerpc.c \
	context_sparc.c \
	context_x86_64.c \
	debugger.c \
	device.c \
	directory.c \
	event.c \
	fd.c \
	file.c \
	handle.c \
	hook.c \
	mach.c \
	mailslot.c \
	main.c \
	mapping.c \
	mutex.c \
	named_pipe.c \
	object.c \
	process.c \
	procfs.c \
	ptrace.c \
	queue.c \
	region.c \
	registry.c \
	request.c \
	semaphore.c \
	serial.c \
	signal.c \
	snapshot.c \
	sock.c \
	symlink.c \
	thread.c \
	timer.c \
	token.c \
	trace.c \
	unicode.c \
	user.c \
	window.c \
	winstation.c

PROGRAMS = wineserver wineserver-installed
MANPAGES = wineserver.man

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

all: $(PROGRAMS) $(MANPAGES)

@MAKE_RULES@

wineserver: $(OBJS)
	$(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(LIBS) $(LDRPATH_LOCAL)

wineserver-installed: $(OBJS)
	$(CC) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(LIBS) $(LDRPATH_INSTALL)

install:: wineserver-installed $(MANPAGES) $(INSTALLDIRS)
	$(INSTALL_PROGRAM) wineserver-installed $(DESTDIR)$(bindir)/wineserver
	$(INSTALL_DATA) wineserver.man $(DESTDIR)$(mandir)/man$(prog_manext)/wineserver.$(prog_manext)

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

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