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 \
	smb.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) $(LIBWINE) $(LIBUNICODE) $(LIBS) $(LDFLAGS)

install:: $(PROGRAMS)
	$(MKINSTALLDIRS) $(bindir)
	$(INSTALL_PROGRAM) wineserver $(bindir)/wineserver

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

### Dependencies:
