DEFS      = -D__WINE__
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 \
	named_pipe.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 \
	user.c \
	window.c

PROGRAMS = wineserver

all: $(PROGRAMS)

@MAKE_RULES@

wineserver: $(OBJS)
	$(CC) -o $(PROGRAMS) $(OBJS) $(LIBUNICODE) $(LIBS) $(LDFLAGS)

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

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

### Dependencies:
