POSIX threads emulation, tricks glibc into being threadsafe.
[wine] / dlls / Makefile.in
1 TOPSRCDIR = @top_srcdir@
2 TOPOBJDIR = ..
3 SRCDIR    = @srcdir@
4 VPATH     = @srcdir@
5
6 DLLFILES = \
7         avifil32/libavifil32.@LIBEXT@ \
8         comctl32/libcomctl32.@LIBEXT@ \
9         commdlg/libcomdlg32.@LIBEXT@ \
10         dciman32/libdciman32.@LIBEXT@ \
11         ddraw/libddraw.@LIBEXT@ \
12         dinput/libdinput.@LIBEXT@ \
13         dplayx/libdplayx.@LIBEXT@ \
14         dsound/libdsound.@LIBEXT@ \
15         gdi/libgdi32.@LIBEXT@ \
16         icmp/libicmp.@LIBEXT@ \
17         imagehlp/libimagehlp.@LIBEXT@ \
18         imm32/libimm32.@LIBEXT@ \
19         lzexpand/liblz32.@LIBEXT@ \
20         mpr/libmpr.@LIBEXT@ \
21         msacm/libmsacm.@LIBEXT@ \
22         msacm32/libmsacm32.@LIBEXT@ \
23         msnet32/libmsnet32.@LIBEXT@ \
24         msvideo/libmsvfw32.@LIBEXT@ \
25         odbc32/libodbc32.@LIBEXT@ \
26         ole32/libole32.@LIBEXT@ \
27         oleaut32/liboleaut32.@LIBEXT@ \
28         olecli/libolecli32.@LIBEXT@ \
29         oledlg/liboledlg.@LIBEXT@ \
30         olepro32/libolepro32.@LIBEXT@ \
31         olesvr/libolesvr32.@LIBEXT@ \
32         psapi/libpsapi.@LIBEXT@ \
33         rasapi32/librasapi32.@LIBEXT@ \
34         setupx/libsetupx.@LIBEXT@ \
35         shell32/libshell32.@LIBEXT@ \
36         sound/libsound.@LIBEXT@ \
37         stress/libstress.@LIBEXT@ \
38         tapi32/libtapi32.@LIBEXT@ \
39         ttydrv/libttydrv.@LIBEXT@ \
40         urlmon/liburlmon.@LIBEXT@ \
41         user/libuser32.@LIBEXT@ \
42         version/libversion.@LIBEXT@ \
43         win32s/libw32skrnl.@LIBEXT@ \
44         win87em/libwin87em.@LIBEXT@ \
45         winaspi/libwnaspi32.@LIBEXT@ \
46         windebug/libwindebug.@LIBEXT@ \
47         wing/libwing.@LIBEXT@ \
48         wininet/libwininet.@LIBEXT@ \
49         winmm/joystick/libjoystick.drv.@LIBEXT@ \
50         winmm/libwinmm.@LIBEXT@ \
51         winmm/mcianim/libmcianim.drv.@LIBEXT@ \
52         winmm/mciavi/libmciavi.drv.@LIBEXT@ \
53         winmm/mcicda/libmcicda.drv.@LIBEXT@ \
54         winmm/mciseq/libmciseq.drv.@LIBEXT@ \
55         winmm/mciwave/libmciwave.drv.@LIBEXT@ \
56         winmm/midimap/libmidimap.drv.@LIBEXT@ \
57         winmm/wavemap/libmsacm.drv.@LIBEXT@ \
58         winmm/wineoss/libwineoss.drv.@LIBEXT@ \
59         winsock/libwsock32.@LIBEXT@ \
60         winspool/libwinspool.@LIBEXT@ \
61         x11drv/libx11drv.@LIBEXT@
62
63 # extra names for dlls containing multiple spec files
64 EXTRADLLNAMES = \
65         avifile \
66         commdlg \
67         compobj \
68         dplay \
69         gdi \
70         lzexpand \
71         mmsystem \
72         msvideo \
73         ole2 \
74         ole2disp \
75         olecli \
76         olesvr \
77         rasapi16 \
78         shell \
79         shlwapi \
80         storage \
81         typelib \
82         user \
83         ver \
84         w32sys \
85         win32s16 \
86         winaspi \
87         winsock
88
89 SUBDIRS = \
90         avifil32 \
91         comctl32 \
92         commdlg \
93         dciman32 \
94         ddraw \
95         dinput \
96         dplayx \
97         dsound \
98         gdi \
99         icmp \
100         imagehlp \
101         imm32 \
102         lzexpand \
103         mpr \
104         msacm \
105         msacm32 \
106         msnet32 \
107         msvideo \
108         odbc32 \
109         ole32 \
110         oleaut32 \
111         olecli \
112         oledlg \
113         olepro32 \
114         olesvr \
115         psapi \
116         rasapi32 \
117         setupx \
118         shell32 \
119         sound \
120         stress \
121         tapi32 \
122         ttydrv \
123         urlmon \
124         user \
125         version \
126         win32s \
127         win87em \
128         winaspi \
129         windebug \
130         wing \
131         wininet \
132         winmm \
133         winsock \
134         winspool \
135         x11drv
136
137 @MAKE_RULES@
138
139 all: $(DLLS:%=lib%.@LIBEXT@) $(EXTRADLLNAMES:%=lib%.@LIBEXT@)
140
141 # Map library name to directory
142
143 libavifil32.@LIBEXT@ libavifile.@LIBEXT@: avifil32/libavifil32.@LIBEXT@
144         $(RM) $@ && $(LN_S) avifil32/libavifil32.@LIBEXT@ $@
145
146 libcomctl32.@LIBEXT@: comctl32/libcomctl32.@LIBEXT@
147         $(RM) $@ && $(LN_S) comctl32/libcomctl32.@LIBEXT@ $@
148
149 libcomdlg32.@LIBEXT@ libcommdlg.@LIBEXT@: commdlg/libcomdlg32.@LIBEXT@
150         $(RM) $@ && $(LN_S) commdlg/libcomdlg32.@LIBEXT@ $@
151
152 libdciman32.@LIBEXT@: dciman32/libdciman32.@LIBEXT@
153         $(RM) $@ && $(LN_S) dciman32/libdciman32.@LIBEXT@ $@
154
155 libddraw.@LIBEXT@: ddraw/libddraw.@LIBEXT@
156         $(RM) $@ && $(LN_S) ddraw/libddraw.@LIBEXT@ $@
157
158 libdinput.@LIBEXT@: dinput/libdinput.@LIBEXT@
159         $(RM) $@ && $(LN_S) dinput/libdinput.@LIBEXT@ $@
160
161 libdplayx.@LIBEXT@ libdplay.@LIBEXT@: dplayx/libdplayx.@LIBEXT@
162         $(RM) $@ && $(LN_S) dplayx/libdplayx.@LIBEXT@ $@
163
164 libdsound.@LIBEXT@: dsound/libdsound.@LIBEXT@
165         $(RM) $@ && $(LN_S) dsound/libdsound.@LIBEXT@ $@
166
167 libgdi32.@LIBEXT@ libgdi.@LIBEXT@: gdi/libgdi32.@LIBEXT@
168         $(RM) $@ && $(LN_S) gdi/libgdi32.@LIBEXT@ $@
169
170 libicmp.@LIBEXT@: icmp/libicmp.@LIBEXT@
171         $(RM) $@ && $(LN_S) icmp/libicmp.@LIBEXT@ $@
172
173 libimagehlp.@LIBEXT@: imagehlp/libimagehlp.@LIBEXT@
174         $(RM) $@ && $(LN_S) imagehlp/libimagehlp.@LIBEXT@ $@
175
176 libimm32.@LIBEXT@: imm32/libimm32.@LIBEXT@
177         $(RM) $@ && $(LN_S) imm32/libimm32.@LIBEXT@ $@
178
179 libjoystick.drv.@LIBEXT@: winmm/joystick/libjoystick.drv.@LIBEXT@
180         $(RM) $@ && $(LN_S) winmm/joystick/libjoystick.drv.@LIBEXT@ $@
181
182 liblz32.@LIBEXT@ liblzexpand.@LIBEXT@: lzexpand/liblz32.@LIBEXT@
183         $(RM) $@ && $(LN_S) lzexpand/liblz32.@LIBEXT@ $@
184
185 libmcianim.drv.@LIBEXT@: winmm/mcianim/libmcianim.drv.@LIBEXT@
186         $(RM) $@ && $(LN_S) winmm/mcianim/libmcianim.drv.@LIBEXT@ $@
187
188 libmciavi.drv.@LIBEXT@: winmm/mciavi/libmciavi.drv.@LIBEXT@
189         $(RM) $@ && $(LN_S) winmm/mciavi/libmciavi.drv.@LIBEXT@ $@
190
191 libmcicda.drv.@LIBEXT@: winmm/mcicda/libmcicda.drv.@LIBEXT@
192         $(RM) $@ && $(LN_S) winmm/mcicda/libmcicda.drv.@LIBEXT@ $@
193
194 libmciseq.drv.@LIBEXT@: winmm/mciseq/libmciseq.drv.@LIBEXT@
195         $(RM) $@ && $(LN_S) winmm/mciseq/libmciseq.drv.@LIBEXT@ $@
196
197 libmciwave.drv.@LIBEXT@: winmm/mciwave/libmciwave.drv.@LIBEXT@
198         $(RM) $@ && $(LN_S) winmm/mciwave/libmciwave.drv.@LIBEXT@ $@
199
200 libmidimap.drv.@LIBEXT@: winmm/midimap/libmidimap.drv.@LIBEXT@
201         $(RM) $@ && $(LN_S) winmm/midimap/libmidimap.drv.@LIBEXT@ $@
202
203 libmpr.@LIBEXT@: mpr/libmpr.@LIBEXT@
204         $(RM) $@ && $(LN_S) mpr/libmpr.@LIBEXT@ $@
205
206 libmsacm.@LIBEXT@: msacm/libmsacm.@LIBEXT@
207         $(RM) $@ && $(LN_S) msacm/libmsacm.@LIBEXT@ $@
208
209 libmsacm.drv.@LIBEXT@: winmm/wavemap/libmsacm.drv.@LIBEXT@
210         $(RM) $@ && $(LN_S) winmm/wavemap/libmsacm.drv.@LIBEXT@ $@
211
212 libmsacm32.@LIBEXT@: msacm32/libmsacm32.@LIBEXT@
213         $(RM) $@ && $(LN_S) msacm32/libmsacm32.@LIBEXT@ $@
214
215 libmsnet32.@LIBEXT@: msnet32/libmsnet32.@LIBEXT@
216         $(RM) $@ && $(LN_S) msnet32/libmsnet32.@LIBEXT@ $@
217
218 libmsvfw32.@LIBEXT@ libmsvideo.@LIBEXT@: msvideo/libmsvfw32.@LIBEXT@
219         $(RM) $@ && $(LN_S) msvideo/libmsvfw32.@LIBEXT@ $@
220
221 libodbc32.@LIBEXT@: odbc32/libodbc32.@LIBEXT@
222         $(RM) $@ && $(LN_S) odbc32/libodbc32.@LIBEXT@ $@
223
224 libole32.@LIBEXT@ libole2.@LIBEXT@ libstorage.@LIBEXT@ libcompobj.@LIBEXT@: ole32/libole32.@LIBEXT@
225         $(RM) $@ && $(LN_S) ole32/libole32.@LIBEXT@ $@
226
227 liboleaut32.@LIBEXT@ libole2disp.@LIBEXT@ libtypelib.@LIBEXT@: oleaut32/liboleaut32.@LIBEXT@
228         $(RM) $@ && $(LN_S) oleaut32/liboleaut32.@LIBEXT@ $@
229
230 libolecli32.@LIBEXT@ libolecli.@LIBEXT@: olecli/libolecli32.@LIBEXT@
231         $(RM) $@ && $(LN_S) olecli/libolecli32.@LIBEXT@ $@
232
233 liboledlg.@LIBEXT@: oledlg/liboledlg.@LIBEXT@
234         $(RM) $@ && $(LN_S) oledlg/liboledlg.@LIBEXT@ $@
235
236 libolepro32.@LIBEXT@: olepro32/libolepro32.@LIBEXT@
237         $(RM) $@ && $(LN_S) olepro32/libolepro32.@LIBEXT@ $@
238
239 libolesvr32.@LIBEXT@ libolesvr.@LIBEXT@: olesvr/libolesvr32.@LIBEXT@
240         $(RM) $@ && $(LN_S) olesvr/libolesvr32.@LIBEXT@ $@
241
242 libpsapi.@LIBEXT@: psapi/libpsapi.@LIBEXT@
243         $(RM) $@ && $(LN_S) psapi/libpsapi.@LIBEXT@ $@
244
245 librasapi32.@LIBEXT@ librasapi16.@LIBEXT@: rasapi32/librasapi32.@LIBEXT@
246         $(RM) $@ && $(LN_S) rasapi32/librasapi32.@LIBEXT@ $@
247
248 libsetupx.@LIBEXT@: setupx/libsetupx.@LIBEXT@
249         $(RM) $@ && $(LN_S) setupx/libsetupx.@LIBEXT@ $@
250
251 libshell32.@LIBEXT@ libshell.@LIBEXT@ libshlwapi.@LIBEXT@: shell32/libshell32.@LIBEXT@
252         $(RM) $@ && $(LN_S) shell32/libshell32.@LIBEXT@ $@
253
254 libsound.@LIBEXT@: sound/libsound.@LIBEXT@
255         $(RM) $@ && $(LN_S) sound/libsound.@LIBEXT@ $@
256
257 libstress.@LIBEXT@: stress/libstress.@LIBEXT@
258         $(RM) $@ && $(LN_S) stress/libstress.@LIBEXT@ $@
259
260 libtapi32.@LIBEXT@: tapi32/libtapi32.@LIBEXT@
261         $(RM) $@ && $(LN_S) tapi32/libtapi32.@LIBEXT@ $@
262
263 libttydrv.@LIBEXT@: ttydrv/libttydrv.@LIBEXT@
264         $(RM) $@ && $(LN_S) ttydrv/libttydrv.@LIBEXT@ $@
265
266 liburlmon.@LIBEXT@: urlmon/liburlmon.@LIBEXT@
267         $(RM) $@ && $(LN_S) urlmon/liburlmon.@LIBEXT@ $@
268
269 libuser32.@LIBEXT@ libuser.@LIBEXT@: user/libuser32.@LIBEXT@
270         $(RM) $@ && $(LN_S) user/libuser32.@LIBEXT@ $@
271
272 libversion.@LIBEXT@ libver.@LIBEXT@: version/libversion.@LIBEXT@
273         $(RM) $@ && $(LN_S) version/libversion.@LIBEXT@ $@
274
275 libw32skrnl.@LIBEXT@ libw32sys.@LIBEXT@ libwin32s16.@LIBEXT@: win32s/libw32skrnl.@LIBEXT@
276         $(RM) $@ && $(LN_S) win32s/libw32skrnl.@LIBEXT@ $@
277
278 libwin87em.@LIBEXT@: win87em/libwin87em.@LIBEXT@
279         $(RM) $@ && $(LN_S) win87em/libwin87em.@LIBEXT@ $@
280
281 libwindebug.@LIBEXT@: windebug/libwindebug.@LIBEXT@
282         $(RM) $@ && $(LN_S) windebug/libwindebug.@LIBEXT@ $@
283
284 libwineoss.drv.@LIBEXT@: winmm/wineoss/libwineoss.drv.@LIBEXT@
285         $(RM) $@ && $(LN_S) winmm/wineoss/libwineoss.drv.@LIBEXT@ $@
286
287 libwing.@LIBEXT@: wing/libwing.@LIBEXT@
288         $(RM) $@ && $(LN_S) wing/libwing.@LIBEXT@ $@
289
290 libwininet.@LIBEXT@: wininet/libwininet.@LIBEXT@
291         $(RM) $@ && $(LN_S) wininet/libwininet.@LIBEXT@ $@
292
293 libwinmm.@LIBEXT@ libmmsystem.@LIBEXT@: winmm/libwinmm.@LIBEXT@
294         $(RM) $@ && $(LN_S) winmm/libwinmm.@LIBEXT@ $@
295
296 libwinspool.@LIBEXT@: winspool/libwinspool.@LIBEXT@
297         $(RM) $@ && $(LN_S) winspool/libwinspool.@LIBEXT@ $@
298
299 libwnaspi32.@LIBEXT@ libwinaspi.@LIBEXT@: winaspi/libwnaspi32.@LIBEXT@
300         $(RM) $@ && $(LN_S) winaspi/libwnaspi32.@LIBEXT@ $@
301
302 libwsock32.@LIBEXT@ libwinsock.@LIBEXT@: winsock/libwsock32.@LIBEXT@
303         $(RM) $@ && $(LN_S) winsock/libwsock32.@LIBEXT@ $@
304
305 libx11drv.@LIBEXT@: x11drv/libx11drv.@LIBEXT@
306         $(RM) $@ && $(LN_S) x11drv/libx11drv.@LIBEXT@ $@
307
308 $(DLLFILES): dummy
309         @cd `dirname $@` && $(MAKE)
310
311 $(DLLFILES:%=%_install_): dummy
312         @cd `dirname $@` && $(MAKE) install
313
314 $(DLLFILES:%=%_uninstall_): dummy
315         @cd `dirname $@` && $(MAKE) uninstall
316
317 $(DLLFILES:%=%_checklink_): dummy
318         @cd `dirname $@` && $(MAKE) checklink
319
320 install:: $(DLLFILES:%=%_install_)
321
322 uninstall:: $(DLLFILES:%=%_uninstall_)
323
324 checklink:: $(DLLFILES:%=%_checklink_)