DLLFLAGS  = @DLLFLAGS@
MODULE    = libwine.$(LIBEXT)
VERSCRIPT = $(srcdir)/wine.map
EXTRALIBS = $(LIBPORT) @LIBDL@ @CRTLIBS@ @COREFOUNDATIONLIB@
DEFS      = -D__WINESRC__ -DWINE_UNICODE_API=""

VERSION   = 1.0
SOVERSION = 1
SONAME    = libwine.so.$(SOVERSION)
DYNAME    = libwine.$(SOVERSION).dylib

INSTALLDIRS = $(DESTDIR)$(libdir)

C_SRCS = \
	c_037.c \
	c_10000.c \
	c_10006.c \
	c_10007.c \
	c_10029.c \
	c_1006.c \
	c_10079.c \
	c_10081.c \
	c_1026.c \
	c_1250.c \
	c_1251.c \
	c_1252.c \
	c_1253.c \
	c_1254.c \
	c_1255.c \
	c_1256.c \
	c_1257.c \
	c_1258.c \
	c_1361.c \
	c_20127.c \
	c_20866.c \
	c_20932.c \
	c_21866.c \
	c_28591.c \
	c_28592.c \
	c_28593.c \
	c_28594.c \
	c_28595.c \
	c_28596.c \
	c_28597.c \
	c_28598.c \
	c_28599.c \
	c_28600.c \
	c_28603.c \
	c_28604.c \
	c_28605.c \
	c_28606.c \
	c_424.c \
	c_437.c \
	c_500.c \
	c_737.c \
	c_775.c \
	c_850.c \
	c_852.c \
	c_855.c \
	c_856.c \
	c_857.c \
	c_860.c \
	c_861.c \
	c_862.c \
	c_863.c \
	c_864.c \
	c_865.c \
	c_866.c \
	c_869.c \
	c_874.c \
	c_875.c \
	c_878.c \
	c_932.c \
	c_936.c \
	c_949.c \
	c_950.c \
	casemap.c \
	collation.c \
	compose.c \
	config.c \
	cptable.c \
	debug.c \
	fold.c \
	ldt.c \
	loader.c \
	mbtowc.c \
	mmap.c \
	port.c \
	sortkey.c \
	string.c \
	utf8.c \
	wctomb.c \
	wctype.c

EXTRA_OBJS = version.o

all: $(MODULE) $(MODULE:.dll=.a)

@MAKE_RULES@

# Special defines needed for config.c

CONFIGDIRS = \
	-DBINDIR='"$(bindir)"' \
	-DDLLDIR='"$(dlldir)"' \
	-DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
	-DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
	-DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
	-DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"

config.o: config.c $(RELPATH)
	$(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS)

# Linking rules

libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
	$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@

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

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

libwine.a: wine.def
	$(DLLTOOL) -l $@ -d $(srcdir)/wine.def

libwine.dll: $(OBJS) wine.def Makefile.in
	$(DLLWRAP) --def $(srcdir)/wine.def -o $@ $(OBJS) $(EXTRALIBS)

DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION) -Wl,-headerpad_max_install_names

libwine.$(VERSION).dylib: $(OBJS) $(RELPATH) Makefile.in
	$(LDSHARED) -install_name $(libdir)/$(DYNAME) $(DYLIB_LDFLAGS) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@

libwine.$(SOVERSION).dylib: libwine.$(VERSION).dylib
	cp -p libwine.$(VERSION).dylib $@ && install_name_tool -id @executable_path/`$(RELPATH) $(bindir) $(libdir)`/$(DYNAME) $@ || $(RM) $@

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

# Install rules

.PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib

install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
	$(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
	cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)

install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
	$(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll

install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
	$(INSTALL_PROGRAM) libwine.$(VERSION).dylib $(DESTDIR)$(libdir)/libwine.$(VERSION).dylib
	cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib

install-dev-so: $(DESTDIR)$(libdir) dummy
	cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so

install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
	$(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a

install-dev-dylib: $(DESTDIR)$(libdir) dummy
	cd $(DESTDIR)$(libdir) && $(RM) libwine.dylib && $(LN_S) libwine.$(VERSION).dylib libwine.dylib

install install-lib:: $(LIBEXT:%=install-lib-%)
install install-dev:: $(LIBEXT:%=install-dev-%)

uninstall::
	-cd $(DESTDIR)$(libdir) && $(RM) libwine.a libwine.dll libwine.so libwine.so.$(VERSION) \
		libwine.so.$(SOVERSION) libwine.dylib libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib

version.c: dummy
	version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)

clean::
	$(RM) libwine.so.$(SOVERSION) libwine.so.$(VERSION) version.c

$(RELPATH):
	@cd $(TOOLSDIR)/tools && $(MAKE) relpath$(TOOLSEXT)
