DEFS      = -D__WINE__ -D__WINE_SERVER__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = none

C_SRCS = \
	async.c \
	atom.c \
	change.c \
	console.c \
	context_i386.c \
	context_sparc.c \
	debugger.c \
	device.c \
	event.c \
	file.c \
	handle.c \
	main.c \
	mapping.c \
	mutex.c \
	object.c \
	pipe.c \
	process.c \
	ptrace.c \
	queue.c \
	registry.c \
	request.c \
	select.c \
	semaphore.c \
	serial.c \
	snapshot.c \
	sock.c \
	thread.c \
	timer.c \
	trace.c \
	unicode.c

PROGRAMS = wineserver

all: $(PROGRAMS)

@MAKE_RULES@

wineserver: $(OBJS)
	$(CC) -o $(PROGRAMS) $(OBJS) -L$(TOPOBJDIR) -lwine_unicode $(LIBS) $(LDFLAGS)

install:: $(PROGRAMS)
	[ -d $(bindir) ] || $(MKDIR) $(bindir)
	$(INSTALL_PROGRAM) wineserver $(bindir)/wineserver

uninstall::
	$(RM) $(bindir)/wineserver

### Dependencies:
