libwine: Export functions that return the Wine version number and build id.
[wine] / libs / wine / Makefile.in
1 TOPSRCDIR = @top_srcdir@
2 TOPOBJDIR = ../..
3 SRCDIR    = @srcdir@
4 VPATH     = @srcdir@
5 DLLFLAGS  = @DLLFLAGS@
6 LIBEXT    = @LIBEXT@
7 MODULE    = libwine.$(LIBEXT)
8 VERSCRIPT = $(SRCDIR)/wine.map
9 EXTRALIBS = $(LIBPORT) @LIBDL@ @CRTLIBS@
10 DEFS      = -D__WINESRC__ -DWINE_UNICODE_API=""
11
12 VERSION   = 1.0
13 SOVERSION = 1
14 SONAME    = libwine.so.$(SOVERSION)
15 DYNAME    = libwine.$(SOVERSION).dylib
16
17 INSTALLDIRS = $(DESTDIR)$(libdir)
18
19 C_SRCS = \
20         casemap.c \
21         collation.c \
22         compose.c \
23         config.c \
24         cptable.c \
25         debug.c \
26         fold.c \
27         ldt.c \
28         loader.c \
29         mbtowc.c \
30         mmap.c \
31         port.c \
32         sortkey.c \
33         string.c \
34         utf8.c \
35         wctomb.c \
36         wctype.c \
37         c_037.c \
38         c_424.c \
39         c_437.c \
40         c_500.c \
41         c_737.c \
42         c_775.c \
43         c_850.c \
44         c_852.c \
45         c_855.c \
46         c_856.c \
47         c_857.c \
48         c_860.c \
49         c_861.c \
50         c_862.c \
51         c_863.c \
52         c_864.c \
53         c_865.c \
54         c_866.c \
55         c_869.c \
56         c_874.c \
57         c_875.c \
58         c_878.c \
59         c_932.c \
60         c_936.c \
61         c_949.c \
62         c_950.c \
63         c_1006.c \
64         c_1026.c \
65         c_1250.c \
66         c_1251.c \
67         c_1252.c \
68         c_1253.c \
69         c_1254.c \
70         c_1255.c \
71         c_1256.c \
72         c_1257.c \
73         c_1258.c \
74         c_10000.c \
75         c_10006.c \
76         c_10007.c \
77         c_10029.c \
78         c_10079.c \
79         c_10081.c \
80         c_20127.c \
81         c_20866.c \
82         c_20932.c \
83         c_21866.c \
84         c_28591.c \
85         c_28592.c \
86         c_28593.c \
87         c_28594.c \
88         c_28595.c \
89         c_28596.c \
90         c_28597.c \
91         c_28598.c \
92         c_28599.c \
93         c_28600.c \
94         c_28603.c \
95         c_28604.c \
96         c_28605.c \
97         c_28606.c
98
99 EXTRA_OBJS = version.o
100
101 all: $(MODULE) $(MODULE:.dll=.a)
102
103 @MAKE_RULES@
104
105 # Special defines needed for config.c
106
107 CONFIGDIRS = \
108         -DBINDIR='"$(bindir)"' \
109         -DDLLDIR='"$(dlldir)"' \
110         -DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
111         -DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
112         -DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
113         -DLIB_TO_DATADIR=\"`$(RELPATH) $(libdir) $(datadir)/wine`\" \
114         -DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"
115
116 config.o: config.c $(RELPATH)
117         $(CC) -c $(ALLCFLAGS) -o $@ $(SRCDIR)/config.c $(CONFIGDIRS)
118
119 # Linking rules
120
121 libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
122         $(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
123
124 libwine.so.$(SOVERSION): libwine.so.$(VERSION)
125         $(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@
126
127 libwine.so: libwine.so.$(SOVERSION)
128         $(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@
129
130 libwine.a: wine.def
131         $(DLLTOOL) -l $@ -d $(SRCDIR)/wine.def
132
133 libwine.dll: $(OBJS) wine.def Makefile.in
134         $(DLLWRAP) --def $(SRCDIR)/wine.def -o $@ $(OBJS) $(EXTRALIBS)
135
136 DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION)
137
138 libwine.$(VERSION).dylib: $(OBJS) $(RELPATH) Makefile.in
139         $(LDSHARED) -install_name $(libdir)/$(DYNAME) $(DYLIB_LDFLAGS) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
140
141 libwine.$(SOVERSION).dylib: libwine.$(VERSION).dylib
142         cp -p libwine.$(VERSION).dylib $@ && install_name_tool -id @executable_path/`$(RELPATH) $(bindir) $(libdir)`/$(DYNAME) $@ || $(RM) $@
143
144 libwine.dylib: libwine.$(SOVERSION).dylib
145         $(RM) $@ && $(LN_S) libwine.$(SOVERSION).dylib $@
146
147 # Install rules
148
149 .PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
150
151 install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
152         $(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
153         cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)
154
155 install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
156         $(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll
157
158 install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
159         $(INSTALL_PROGRAM) libwine.$(VERSION).dylib $(DESTDIR)$(libdir)/libwine.$(VERSION).dylib
160         cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib
161
162 install-dev-so: $(DESTDIR)$(libdir) dummy
163         cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so
164
165 install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
166         $(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a
167
168 install-dev-dylib: $(DESTDIR)$(libdir) dummy
169         cd $(DESTDIR)$(libdir) && $(RM) libwine.dylib && $(LN_S) libwine.$(VERSION).dylib libwine.dylib
170
171 install install-lib:: $(LIBEXT:%=install-lib-%)
172 install install-dev:: $(LIBEXT:%=install-dev-%)
173
174 uninstall::
175         -cd $(DESTDIR)$(libdir) && $(RM) libwine.a libwine.dll libwine.so libwine.so.$(VERSION) \
176                 libwine.so.$(SOVERSION) libwine.dylib libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib
177
178 version-stamp: dummy
179         (GIT_DIR=$(TOPSRCDIR)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -e 's/\(.*\)/const char wine_build[] = "\1";/' >$@ || ($(RM) $@ && exit 1)
180
181 version.c: version-stamp
182         @cmp -s version-stamp $@ || cp version-stamp $@
183
184 clean::
185         $(RM) libwine.so.$(SOVERSION) libwine.so.$(VERSION) version.c version-stamp
186
187 $(RELPATH):
188         @cd $(TOOLSDIR)/tools && $(MAKE) relpath
189
190 @DEPENDENCIES@  # everything below this line is overwritten by make depend