DEFS      = @DLLFLAGS@ -D__WINE__ -DDLLDIR="\"$(dlldir)\""
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
LIBEXT    = @LIBEXT@
MODULE    = none
SOVERSION = 1.0
SONAME    = libwine.so
EXTRALIBS = @DLLIBS@

C_SRCS = \
	debug.c \
	errno.c \
	ldt.c \
	loader.c \
	port.c

all: libwine.$(LIBEXT)

@MAKE_RULES@

libwine.so.$(SOVERSION): $(OBJS)
	$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LIBS) -o $@

libwine.so: libwine.so.$(SOVERSION)
	$(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@

libwine.a: $(OBJS)
	$(RM) $@
	$(AR) $@ $(OBJS)
	$(RANLIB) $@

libwine.dll: $(OBJS)
	$(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine.a -o libwine.dll $(OBJS)

install_so: libwine.so.$(SOVERSION)
	$(MKINSTALLDIRS) $(libdir)
	$(INSTALL_PROGRAM) libwine.so.$(SOVERSION) $(libdir)/libwine.so.$(SOVERSION)
	cd $(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(SOVERSION) libwine.so

install_a: libwine.a
	$(MKINSTALLDIRS) $(libdir)
	$(INSTALL_DATA) libwine.a $(libdir)/libwine.a

install_dll: libwine.dll
	$(MKINSTALLDIRS) $(libdir)
	$(INSTALL_DATA) libwine.dll $(libdir)/libwine.dll

install:: $(LIBEXT:%=install_%)

uninstall::
	$(RM) $(libdir)/libwine.a $(libdir)/libwine.dll $(libdir)/libwine.so $(libdir)/libwine.so.$(SOVERSION)

clean::
	$(RM) libwine.so.$(SOVERSION)

### Dependencies:
