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 \
	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 wineserver.de.man wineserver.fr.man

INSTALLDIRS = \
	$(DESTDIR)$(bindir) \
	$(DESTDIR)$(mandir)/man$(prog_manext) \
	$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext) \
	$(DESTDIR)$(mandir)/fr.UTF-8/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 install-lib:: wineserver-installed $(MANPAGES) $(INSTALLDIRS)
	$(INSTALL_PROGRAM) wineserver-installed $(DESTDIR)$(bindir)/wineserver
	$(INSTALL_DATA) wineserver.man $(DESTDIR)$(mandir)/man$(prog_manext)/wineserver.$(prog_manext)
	$(INSTALL_DATA) wineserver.de.man $(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/wineserver.$(prog_manext)
	$(INSTALL_DATA) wineserver.fr.man $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/wineserver.$(prog_manext)

uninstall::
	$(RM) $(DESTDIR)$(bindir)/wineserver $(DESTDIR)$(mandir)/man$(prog_manext)/wineserver.$(prog_manext)
	$(RM) $(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/wineserver.$(prog_manext)
	$(RM) $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/wineserver.$(prog_manext)
