blob: fe335958ad4bd5e4b5f10a24ebd5b3a006b47417 [file] [log] [blame]
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)
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)