DEFS      = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
LIBEXT    = @LIBEXT@
MODULE    = none
SOVERSION = 1.0
SONAME    = libwine_unicode.so

CODEPAGES = \
	037 \
	042 \
	424 \
	437 \
	500 \
	737 \
	775 \
	850 \
	852 \
	855 \
	856 \
	857 \
	860 \
	861 \
	862 \
	863 \
	864 \
	865 \
	866 \
	869 \
	874 \
	875 \
	878 \
	932 \
	936 \
	949 \
	950 \
	1006 \
	1026 \
	1250 \
	1251 \
	1252 \
	1253 \
	1254 \
	1255 \
	1256 \
	1257 \
	1258 \
	10000 \
	10006 \
	10007 \
	10029 \
	10079 \
	10081 \
	20866 \
	28591 \
	28592 \
	28593 \
	28594 \
	28595 \
	28596 \
	28597 \
	28598 \
	28599 \
	28600 \
	28603 \
	28604 \
	28605

C_SRCS = \
	casemap.c \
	compose.c \
	cptable.c \
	mbtowc.c \
	string.c \
	utf8.c \
	wctomb.c \
	wctype.c \
	$(CODEPAGES:%=c_%.c)

all: libwine_unicode.$(LIBEXT)

@MAKE_RULES@

libwine_unicode.so.$(SOVERSION): $(OBJS)
	$(LDSHARED) $(OBJS) -o $@

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

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

# --export-all don't work correctly because of dllwrap's bug
libwine_unicode.dll: $(OBJS) wine_unicode.def
	$(DLLWRAP) $(DLLWRAPFLAGS) --def wine_unicode.def --implib libwine_unicode.a -o libwine_unicode.dll $(OBJS)

install_so: libwine_unicode.so.$(SOVERSION)
	[ -d $(libdir) ] || $(MKDIR) $(libdir)
	$(INSTALL_PROGRAM) libwine_unicode.so.$(SOVERSION) $(libdir)/libwine_unicode.so.$(SOVERSION)
	cd $(libdir) && $(RM) libwine_unicode.so && $(LN_S) libwine_unicode.so.$(SOVERSION) libwine_unicode.so

install_a: libwine_unicode.a
	[ -d $(libdir) ] || $(MKDIR) $(libdir)
	$(INSTALL_DATA) libwine_unicode.a $(libdir)/libwine_unicode.a

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

uninstall::
	cd $(libdir) && $(RM) libwine_unicode.a libwine_unicode.so libwine_unicode.so.$(SOVERSION)

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

### Dependencies:
