OSDN Git Service

* Makefile.in (libmingwex_a_SOURCES): Correct typo.
[mingw/mingw-org-wsl.git] / Makefile.in
1 VPATH=$(srcdir)
2 PACKAGE_TARNAME=@PACKAGE_TARNAME@
3 PACKAGE_VERSION=@PACKAGE_VERSION@
4 PACKAGE_RELEASE=@PACKAGE_RELEASE@
5 srcdir=@srcdir@
6 top_srcdir=@top_srcdir@
7 top_builddir=@top_builddir@
8
9 prefix=@prefix@
10 exec_prefix=@exec_prefix@
11 datarootdir=@datarootdir@
12 bindir=@bindir@
13 libdir=@libdir@
14 includedir=@includedir@
15 docdir=@docdir@
16
17 mkinstalldirs=@MKDIR_P@
18
19 CFLAGS=@CFLAGS@
20 RANLIB=@RANLIB@
21 AS=@AS@
22 DLLTOOL=@DLLTOOL@
23 DLLTOOL_FLAGS := --as $(AS) -k -U --dllname
24 INSTALL=@INSTALL@
25 MKDIR_P=@MKDIR_P@
26
27 INCLUDES=-I$(top_srcdir)/include -I$(srcdir)/include \
28   -I$(top_srcdir)/src/libcrt/include -nostdinc \
29   -iwithprefixbefore include
30 ALL_CFLAGS=$(CFLAGS) $(INCLUDES) -DNTDDI_VERSION=0x04000000
31
32 .SUFFIXES: .def.in .def
33
34 mingwrt_lib_LIBRARIES = \
35   libmsvcrt.a \
36   libmsvcrtd.a \
37   libmsvcr70.a \
38   libmsvcr70d.a \
39   libmsvcr71.a \
40   libmsvcr71d.a \
41   libmsvcr80.a \
42   libmsvcr80d.a \
43   libmsvcr90.a \
44   libmsvcr90d.a \
45   libmsvcr100.a \
46   libmsvcr100d.a \
47   libmingw32.a \
48   libmoldname.a \
49   libmoldnamed.a \
50   libmoldname70.a \
51   libmoldname70d.a \
52   libmoldname71.a \
53   libmoldname71d.a \
54   libmoldname80.a \
55   libmoldname80d.a \
56   libmoldname90.a \
57   libmoldname90d.a \
58   libmoldname100.a \
59   libmoldname100d.a \
60   libmingwthrd.a \
61   libmingwthrd_old.a \
62   libm.a \
63   libmingwex.a \
64   libgmon.a
65
66 winapi_DEF := $(notdir $(wildcard ${top_srcdir}/lib/lib32/*.def))
67 winapi_DDK_DEF := $(notdir $(wildcard $(top_srcdir)/lib/lib32/ddk/*.def))
68 winapi_DIRECTX_DEF := $(notdir $(wildcard $(top_srcdir)/lib/lib32/directx/*.def))
69 winapi_DIRECTX_DEF := $(subst dinput.def ,,$(winapi_DIRECTX_DEF))
70 winapi_DIRECTX_DEF := $(subst dinput8.def ,,$(winapi_DIRECTX_DEF))
71 winapi_DIRECTX_DINPUT_DEF := dinput.def dinput8.def
72 winapi_MRI := $(notdir $(wildcard ${top_srcdir}/lib/lib32/*.mri))
73 winapi_lib_LIBRARIES := $(addprefix lib,$(winapi_DEF:.def=.a))
74 winapi_lib_DDK_LIBRARIES := $(addprefix lib,$(winapi_DDK_DEF:.def=.a))
75 winapi_lib_DIRECTX_LIBRARIES := $(addprefix lib,$(winapi_DIRECTX_DEF:.def=.a))
76 winapi_lib_DIRECTX_DINPUT_LIBRARIES := $(addprefix lib,$(winapi_DIRECTX_DINPUT_DEF:.def=.a))
77 winapi_mri_LIBRARIES := $(addprefix lib,$(winapi_MRI:.mri=.a))
78 winapi_lib_EXTRA_LIBRARIES := libuuid.a libscrnsave.a libscrnsavw.a liblargeint.a libdmoguids.a libdxguid.a libstrmiids.a
79
80 lib_LIBRARIES := $(mingwrt_lib_LIBRARIES) $(winapi_lib_LIBRARIES) \
81   $(winapi_lib_EXTRA_LIBRARIES) $(winapi_mri_LIBRARIES) \
82   $(winapi_lib_DDK_LIBRARIES) $(winapi_lib_DIRECTX_LIBRARIES) \
83   $(winapi_lib_DIRECTX_DINPUT_LIBRARIES)
84
85 SRCDIR := src/libcrt/crt
86 crt0_SOURCES := \
87   $(SRCDIR)/crt1.c \
88   $(SRCDIR)/dllcrt1.c \
89   $(SRCDIR)/CRT_noglob.c \
90   $(SRCDIR)/crtmt.c \
91   $(SRCDIR)/crtst.c \
92   $(SRCDIR)/CRT_fp8.c \
93   $(SRCDIR)/CRT_fp10.c \
94   $(SRCDIR)/txtmode.c \
95   $(SRCDIR)/binmode.c
96 crt0_OBJECTS := $(crt0_SOURCES:.c=.o) $(SRCDIR)/crt2.o $(SRCDIR)/dllcrt2.o
97
98 SRCDIR := src/libcrt/crt
99 mingwm10_dll_SOURCES := \
100   $(SRCDIR)/mthr.c \
101   $(SRCDIR)/mthr_init.c
102 mingwm10_dll_OBJECTS := $(mingwm10_dll_SOURCES:.c=.o)
103 mingwm10_dll_FLAGS := -shared -Wl,--image-base,0x6FBC0000 \
104   -Wl,--entry,_DllMainCRTStartup@12 -L.
105
106 SRCDIR := src/libcrt/crt
107 mold_SOURCES := \
108   $(SRCDIR)/isascii.c \
109   $(SRCDIR)/iscsym.c \
110   $(SRCDIR)/iscsymf.c \
111   $(SRCDIR)/toascii.c \
112   $(SRCDIR)/strcasecmp.c \
113   $(SRCDIR)/strncasecmp.c \
114   $(SRCDIR)/wscmpi.c
115 mold_OBJECTS := $(mode_SOURCES:.c=.o)
116
117 SRCDIR := gpl/profile
118 gcrt0_SOURCES := $(SRCDIR)/gcrt0.c
119 gcrt0_OBJECTS := $(SRCDIR)/gcrt1.o $(SRCDIR)/gcrt2.o
120
121 lib_OBJECTS := $(crt0_OBJECTS) $(gcrt0_OBJECTS)
122
123 bin_LIBRARIES := mingwm10.dll
124 doc_DOCUMENTS := README LICENSE
125 doc_DOCUMENTS_EXTRA := doc/historical/mingw doc/historical/w32api
126
127 libuuid_a_SOURCES := $(addprefix src/libuuid/,$(notdir $(wildcard ${top_srcdir}/src/libuuid/*.c)))
128 libuuid_a_OBJECTS := $(libuuid_a_SOURCES:.c=.o)
129
130 libscrnsave_a_SOURCES := src/libscrnsave/scrnsave.c
131 libscrnsave_a_OBJECTS := $(libscrnsave_a_SOURCES:.c=.o)
132 scrnsave_o_CFLAGS := -UUNICODE
133
134 libscrnsavw_a_SOURCES := src/libscrnsave/scrnsave.c
135 libscrnsavw_a_OBJECTS := src/libscrnsave/srcnsavw.o
136 scrnsavw_o_CFLAGS := -DUNICODE
137
138 liblargeint_a_SOURCES := src/liblargeint/largeint.c
139 liblargeint_a_OBJECTS := $(liblargeint_a_SOURCES:.c=.o)
140
141 libdmoguids_a_SOURCES := src/libdmoguids/dmoguids.c
142 libdmoguids_a_OBJECTS := $(libdmoguids_a_SOURCES:.c=.o)
143
144 libdxguid_a_SOURCES := src/libdxguid/dxguid.c
145 libdxguid_a_OBJECTS := $(libdxguid_a_SOURCES:.c=.o)
146
147 libstrmiids_a_SOURCES := src/libstrmiids/strmiids.c
148 libstrmiids_a_OBJECTS := $(libstrmiids_a_SOURCES:.c=.o)
149
150 msvcrt_DEF = \
151   msvcrt.def msvcr70.def msvcr71.def msvcr80.def msvcr90.def msvcr100.def \
152   msvcrtd.def msvcr70d.def msvcr71d.def msvcr80d.def msvcr90d.def msvcr100d.def
153
154 moldname_DEF = \
155   moldname.def moldnamed.def moldname70.def moldname71.def moldname80.def \
156   moldname90.def moldname100.def moldname70d.def moldname71d.def \
157   moldname80d.def moldname90d.def moldname100d.def
158
159 SRCDIR := src/libcrt/crt
160 libmingw32_a_SOURCES := \
161   $(SRCDIR)/CRTglob.c \
162   $(SRCDIR)/CRTfmode.c \
163   $(SRCDIR)/CRTinit.c \
164   $(SRCDIR)/dllmain.c \
165   $(SRCDIR)/gccmain.c \
166   $(SRCDIR)/main.c \
167   $(SRCDIR)/crtst.c \
168   $(SRCDIR)/CRT_fp10.c \
169   $(SRCDIR)/txtmode.c \
170   $(SRCDIR)/pseudo-reloc.c \
171   $(SRCDIR)/pseudo-reloc-list.c \
172   $(SRCDIR)/cpu_features.c \
173   $(SRCDIR)/tlsmcrt.c \
174   $(SRCDIR)/tlsmthread.c \
175   $(SRCDIR)/tlssup.c \
176   $(SRCDIR)/tlsthrd.c
177 libmingw32_a_OBJECTS := $(libmingw32_a_SOURCES:.c=.o)
178
179 libmingwthrd_a_SOURCES := $(SRCDIR)/crtmt.c
180 libmingwthrd_a_OBJECTS := $(libmingwthrd_a_SOURCES:.c=.o)
181
182 SRCDIR := src/libcrt/complex
183 complex_SOURCES := \
184   $(SRCDIR)/cabs.c \
185   $(SRCDIR)/carg.c \
186   $(SRCDIR)/catan.c \
187   $(SRCDIR)/ccoshf.c \
188   $(SRCDIR)/clog.c \
189   $(SRCDIR)/creal.c \
190   $(SRCDIR)/csqrt.c \
191   $(SRCDIR)/cabsf.c \
192   $(SRCDIR)/cargf.c \
193   $(SRCDIR)/catanf.c \
194   $(SRCDIR)/ccoshl.c \
195   $(SRCDIR)/clogf.c \
196   $(SRCDIR)/crealf.c \
197   $(SRCDIR)/csqrtf.c \
198   $(SRCDIR)/cabsl.c \
199   $(SRCDIR)/cargl.c \
200   $(SRCDIR)/catanh.c \
201   $(SRCDIR)/ccosl.c\
202   $(SRCDIR)/clogl.c \
203   $(SRCDIR)/creall.c \
204   $(SRCDIR)/csqrtl.c \
205   $(SRCDIR)/cacos.c \
206   $(SRCDIR)/casin.c \
207   $(SRCDIR)/catanhf.c \
208   $(SRCDIR)/cexp.c \
209   $(SRCDIR)/cpow.c \
210   $(SRCDIR)/csin.c \
211   $(SRCDIR)/ctan.c \
212   $(SRCDIR)/cacosf.c \
213   $(SRCDIR)/casinf.c \
214   $(SRCDIR)/catanhl.c \
215   $(SRCDIR)/cexpf.c \
216   $(SRCDIR)/cpowf.c \
217   $(SRCDIR)/csinf.c \
218   $(SRCDIR)/ctanf.c \
219   $(SRCDIR)/cacosh.c \
220   $(SRCDIR)/casinh.c \
221   $(SRCDIR)/catanl.c \
222   $(SRCDIR)/cexpl.c \
223   $(SRCDIR)/cpowl.c \
224   $(SRCDIR)/csinh.c \
225   $(SRCDIR)/ctanh.c \
226   $(SRCDIR)/cacoshf.c \
227   $(SRCDIR)/casinhf.c \
228   $(SRCDIR)/ccos.c \
229   $(SRCDIR)/cimag.c \
230   $(SRCDIR)/cproj.c \
231   $(SRCDIR)/csinhf.c \
232   $(SRCDIR)/ctanhf.c \
233   $(SRCDIR)/cacoshl.c \
234   $(SRCDIR)/casinhl.c \
235   $(SRCDIR)/ccosf.c \
236   $(SRCDIR)/cimagf.c \
237   $(SRCDIR)/cprojf.c \
238   $(SRCDIR)/csinhl.c \
239   $(SRCDIR)/ctanhl.c \
240   $(SRCDIR)/cacosl.c \
241   $(SRCDIR)/casinl.c \
242   $(SRCDIR)/ccosh.c \
243   $(SRCDIR)/cimagl.c \
244   $(SRCDIR)/cprojl.c \
245   $(SRCDIR)/csinl.c \
246   $(SRCDIR)/ctanl.c
247 complex_SOURCES := $(wildcard src/libcrt/complex/*.c)
248
249 SRCDIR := src/libcrt/ctype
250 ctype_SOURCES := $(SRCDIR)/isblank.c $(SRCDIR)/iswblank.c
251
252 SRCDIR := src/libcrt/fenv
253 fenv_SOURCES := \
254   $(SRCDIR)/feclearexcept.c \
255   $(SRCDIR)/fegetround.c \
256   $(SRCDIR)/fesetenv.c \
257   $(SRCDIR)/fetestexcept.c \
258   $(SRCDIR)/fegetenv.c \
259   $(SRCDIR)/feholdexcept.c \
260   $(SRCDIR)/fesetexceptflag.c \
261   $(SRCDIR)/feupdateenv.c \
262   $(SRCDIR)/fegetexceptflag.c \
263   $(SRCDIR)/feraiseexcept.c \
264   $(SRCDIR)/fesetround.c
265
266 SRCDIR := src/libcrt/gdtoa
267 gdtoa_SOURCES := \
268   $(SRCDIR)/g__fmt.c \
269   $(SRCDIR)/gethex.c \
270   $(SRCDIR)/qnan.c \
271   $(SRCDIR)/strtopx.c \
272   $(SRCDIR)/g_dfmt.c \
273   $(SRCDIR)/gdtoa.c \
274   $(SRCDIR)/gmisc.c \
275   $(SRCDIR)/smisc.c \
276   $(SRCDIR)/sum.c \
277   $(SRCDIR)/arithchk.c \
278   $(SRCDIR)/g_ffmt.c \
279   $(SRCDIR)/hd_init.c \
280   $(SRCDIR)/strtodg.c \
281   $(SRCDIR)/ulp.c \
282   $(SRCDIR)/dmisc.c \
283   $(SRCDIR)/g_xfmt.c \
284   $(SRCDIR)/hexnan.c \
285   $(SRCDIR)/strtodnrp.c \
286   $(SRCDIR)/dtoa.c \
287   $(SRCDIR)/misc.c \
288   $(SRCDIR)/strtof.c
289
290 SRCDIR := src/libcrt/inttypes
291 inttypes_SOURCES := \
292   $(SRCDIR)/imaxabs.c \
293   $(SRCDIR)/imaxdiv.c \
294   $(SRCDIR)/strtoimax.c \
295   $(SRCDIR)/strtoumax.c \
296   $(SRCDIR)/wcstoimax.c \
297   $(SRCDIR)/wcstoumax.c
298
299 SRCDIR := src/libcrt/math
300 math_SOURCES := \
301   $(SRCDIR)/acosf.c \
302   $(SRCDIR)/acosh.c \
303   $(SRCDIR)/acoshf.c \
304   $(SRCDIR)/acoshl.c \
305   $(SRCDIR)/acosl.c \
306   $(SRCDIR)/asinf.c \
307   $(SRCDIR)/asinh.c \
308   $(SRCDIR)/asinhf.c \
309   $(SRCDIR)/asinhl.c \
310   $(SRCDIR)/asinl.c \
311   $(SRCDIR)/atan2f.c \
312   $(SRCDIR)/atan2l.c \
313   $(SRCDIR)/atanf.c \
314   $(SRCDIR)/atanh.c \
315   $(SRCDIR)/atanhf.c \
316   $(SRCDIR)/atanhl.c \
317   $(SRCDIR)/atanl.c \
318   $(SRCDIR)/cbrt.c \
319   $(SRCDIR)/cbrtf.c \
320   $(SRCDIR)/cbrtl.c \
321   $(SRCDIR)/ceilf.S \
322   $(SRCDIR)/ceill.S \
323   $(SRCDIR)/copysign.S \
324   $(SRCDIR)/copysignf.S \
325   $(SRCDIR)/copysignl.S \
326   $(SRCDIR)/cosf.S \
327   $(SRCDIR)/coshf.c \
328   $(SRCDIR)/coshl.c \
329   $(SRCDIR)/cosl.S \
330   $(SRCDIR)/erfl.c \
331   $(SRCDIR)/exp2.S \
332   $(SRCDIR)/exp2f.S \
333   $(SRCDIR)/exp2l.S \
334   $(SRCDIR)/expf.c \
335   $(SRCDIR)/expl.c \
336   $(SRCDIR)/expm1.c \
337   $(SRCDIR)/expm1f.c \
338   $(SRCDIR)/expm1l.c \
339   $(SRCDIR)/fabs.c \
340   $(SRCDIR)/fabsf.c \
341   $(SRCDIR)/fabsl.c \
342   $(SRCDIR)/fdim.c \
343   $(SRCDIR)/fdimf.c \
344   $(SRCDIR)/fdiml.c \
345   $(SRCDIR)/floorf.S \
346   $(SRCDIR)/floorl.S \
347   $(SRCDIR)/fma.S \
348   $(SRCDIR)/fmaf.S \
349   $(SRCDIR)/fmal.c \
350   $(SRCDIR)/fmax.c \
351   $(SRCDIR)/fmaxf.c \
352   $(SRCDIR)/fmaxl.c \
353   $(SRCDIR)/fmin.c \
354   $(SRCDIR)/fminf.c \
355   $(SRCDIR)/fminl.c \
356   $(SRCDIR)/fmodf.c \
357   $(SRCDIR)/fmodl.c \
358   $(SRCDIR)/fp_consts.c \
359   $(SRCDIR)/fp_constsf.c \
360   $(SRCDIR)/fp_constsl.c \
361   $(SRCDIR)/fpclassify.c \
362   $(SRCDIR)/fpclassifyf.c \
363   $(SRCDIR)/fpclassifyl.c \
364   $(SRCDIR)/frexpf.c \
365   $(SRCDIR)/frexpl.S \
366   $(SRCDIR)/fucom.c \
367   $(SRCDIR)/hypotf.c \
368   $(SRCDIR)/hypotl.c \
369   $(SRCDIR)/ilogb.S \
370   $(SRCDIR)/ilogbf.S \
371   $(SRCDIR)/ilogbl.S \
372   $(SRCDIR)/isnan.c \
373   $(SRCDIR)/isnanf.c \
374   $(SRCDIR)/isnanl.c \
375   $(SRCDIR)/ldexpf.c \
376   $(SRCDIR)/ldexpl.c \
377   $(SRCDIR)/lgamma.c \
378   $(SRCDIR)/lgammaf.c \
379   $(SRCDIR)/lgammal.c \
380   $(SRCDIR)/llrint.c \
381   $(SRCDIR)/llrintf.c \
382   $(SRCDIR)/llrintl.c \
383   $(SRCDIR)/log10f.S \
384   $(SRCDIR)/log10l.S \
385   $(SRCDIR)/log1p.S \
386   $(SRCDIR)/log1pf.S \
387   $(SRCDIR)/log1pl.S \
388   $(SRCDIR)/log2.S \
389   $(SRCDIR)/log2f.S \
390   $(SRCDIR)/log2l.S \
391   $(SRCDIR)/logb.c \
392   $(SRCDIR)/logbf.c \
393   $(SRCDIR)/logbl.c \
394   $(SRCDIR)/logf.S \
395   $(SRCDIR)/logl.S \
396   $(SRCDIR)/lrint.c \
397   $(SRCDIR)/lrintf.c \
398   $(SRCDIR)/lrintl.c \
399   $(SRCDIR)/lround_generic.c \
400   $(SRCDIR)/modff.c \
401   $(SRCDIR)/modfl.c \
402   $(SRCDIR)/nearbyint.S \
403   $(SRCDIR)/nearbyintf.S \
404   $(SRCDIR)/nearbyintl.S \
405   $(SRCDIR)/nextafterf.c \
406   $(SRCDIR)/nextafterl.c \
407   $(SRCDIR)/nexttoward.c \
408   $(SRCDIR)/nexttowardf.c \
409   $(SRCDIR)/pow.c \
410   $(SRCDIR)/powf.c \
411   $(SRCDIR)/powi.c \
412   $(SRCDIR)/powif.c \
413   $(SRCDIR)/powil.c \
414   $(SRCDIR)/powl.c \
415   $(SRCDIR)/remainder.S \
416   $(SRCDIR)/remainderf.S \
417   $(SRCDIR)/remainderl.S \
418   $(SRCDIR)/remquo.S \
419   $(SRCDIR)/remquof.S \
420   $(SRCDIR)/remquol.S \
421   $(SRCDIR)/rint.c \
422   $(SRCDIR)/rintf.c \
423   $(SRCDIR)/rintl.c \
424   $(SRCDIR)/round_generic.c \
425   $(SRCDIR)/s_erf.c \
426   $(SRCDIR)/scalbn.S \
427   $(SRCDIR)/scalbnf.S \
428   $(SRCDIR)/scalbnl.S \
429   $(SRCDIR)/sf_erf.c \
430   $(SRCDIR)/signbit.c \
431   $(SRCDIR)/signbitf.c \
432   $(SRCDIR)/signbitl.c \
433   $(SRCDIR)/sinf.S \
434   $(SRCDIR)/sinhf.c \
435   $(SRCDIR)/sinhl.c \
436   $(SRCDIR)/sinl.S \
437   $(SRCDIR)/sqrtf.c \
438   $(SRCDIR)/sqrtl.c \
439   $(SRCDIR)/tanf.S \
440   $(SRCDIR)/tanhf.c \
441   $(SRCDIR)/tanhl.c \
442   $(SRCDIR)/tanl.S \
443   $(SRCDIR)/tgamma.c \
444   $(SRCDIR)/tgammaf.c \
445   $(SRCDIR)/tgammal.c \
446   $(SRCDIR)/trunc.c \
447   $(SRCDIR)/truncf.c \
448   $(SRCDIR)/truncl.c
449
450 SRCDIR := src/libcrt/misc
451 misc_SOURCES := \
452   $(SRCDIR)/getopt.c \
453   $(SRCDIR)/membarrier.c \
454   $(SRCDIR)/mingw-aligned-malloc.c \
455   $(SRCDIR)/mingw-fseek.c
456
457 SRCDIR := src/libcrt/posix/libgen
458 posix_libgen_SOURCES := $(SRCDIR)/basename.c $(SRCDIR)/dirname.c
459 SRCDIR := src/libcrt/posix/unistd
460 posix_unistd_SOURCES := $(SRCDIR)/ftruncate.c $(SRCDIR)/usleep.c
461 posix_SOURCES := $(posix_libgen_SOURCES) $(posix_unistd_SOURCES)
462
463 SRCDIR := src/libcrt/profile
464 profile_SOURCES := \
465   $(SRCDIR)/gmon.c \
466   $(SRCDIR)/mcount.c \
467   gpl/profile/profil.c \
468 libgmon_a_SOURCES := $(profile_SOURCES)
469 libgmon_a_OBJECTS := $(libgmon_a_SOURCES:.c=.o)
470
471 SRCDIR := src/libcrt/search
472 search_SOURCES := \
473   $(SRCDIR)/tdelete.c \
474   $(SRCDIR)/tfind.c \
475   $(SRCDIR)/tsearch.c \
476   $(SRCDIR)/twalk.c
477
478 SRCDIR := src/libcrt/stdio
479 stdio_SOURCES := \
480   $(SRCDIR)/btowc.c \
481   $(SRCDIR)/fopen64.c \
482   $(SRCDIR)/fprintf.c \
483   $(SRCDIR)/fseeko64.c \
484   $(SRCDIR)/ftello64.c \
485   $(SRCDIR)/lseek64.c \
486   $(SRCDIR)/pformat.c \
487   $(SRCDIR)/printf.c \
488   $(SRCDIR)/snprintf.c \
489   $(SRCDIR)/snwprintf.c \
490   $(SRCDIR)/sprintf.c \
491   $(SRCDIR)/vfprintf.c \
492   $(SRCDIR)/vfscanf.c \
493   $(SRCDIR)/vfwscanf.c \
494   $(SRCDIR)/vprintf.c \
495   $(SRCDIR)/vscanf.c \
496   $(SRCDIR)/vsnprintf.c \
497   $(SRCDIR)/vsnwprintf.c \
498   $(SRCDIR)/vsprintf.c \
499   $(SRCDIR)/vsscanf.c \
500   $(SRCDIR)/vswscanf.c \
501   $(SRCDIR)/vwscanf.c
502
503 SRCDIR := src/libcrt/stdlib
504 stdlib_SOURCES := \
505   $(SRCDIR)/_Exit.c \
506   $(SRCDIR)/atoll.c \
507   $(SRCDIR)/lltoa.c \
508   $(SRCDIR)/lltow.c \
509   $(SRCDIR)/ulltoa.c \
510   $(SRCDIR)/ulltow.c \
511   $(SRCDIR)/wtoll.c
512
513 SRCDIR := src/libcrt/sys/time
514 sys_time_SOURCES := $(SRCDIR)/gettimeofday.c
515 sys_SOURCES := $(sys_time_SOURCES)
516
517 SRCDIR := src/libcrt/tchar
518 tchar_SOURCES := \
519   $(SRCDIR)/dirent.c \
520   $(SRCDIR)/wdirent.c
521
522 SRCDIR := src/libcrt/wchar
523 wchar_SOURCES := \
524   $(SRCDIR)/fwide.c \
525   $(SRCDIR)/mbrtowc.c \
526   $(SRCDIR)/mbsinit.c \
527   $(SRCDIR)/wcrtomb.c \
528   $(SRCDIR)/wcstof.c \
529   $(SRCDIR)/wcstold.c \
530   $(SRCDIR)/wctob.c \
531   $(SRCDIR)/wmemchr.c \
532   $(SRCDIR)/wmemcmp.c \
533   $(SRCDIR)/wmemcpy.c \
534   $(SRCDIR)/wmemmove.c \
535   $(SRCDIR)/wmemset.c
536
537 SRCDIR := src/libcrt/wctype
538 wctype_SOURCES := \
539   $(SRCDIR)/wctrans.c \
540   $(SRCDIR)/wctype.c
541
542 libmingwex_a_SOURCES := \
543   $(complex_SOURCES) \
544   $(ctype_SOURCES) \
545   $(fenv_SOURCES) \
546   $(gdtoa_SOURCES) \
547   $(inttypes_SOURCES) \
548   $(math_SOURCES) \
549   $(misc_SOURCES) \
550   $(posix_SOURCES) \
551   $(search_SOURCES) \
552   $(stdio_SOURCES) \
553   $(stdlib_SOURCES) \
554   $(sys_SOURCES) \
555   $(tchar_SOURCES) \
556   $(wchar_SOURCES) \
557   $(wctype_SOURCES)
558 libmingwex_a_OBJECTS := $(libmingwex_a_SOURCES:.c=.o)
559 libmingwex_a_OBJECTS := $(libmingwex_a_OBJECTS:.S=.o)
560
561 SRCDIR := src/libdinput
562 libdinput_a_SOURCES := \
563   $(SRCDIR)/dinput_joy.c \
564   $(SRCDIR)/dinput_joy2.c \
565   $(SRCDIR)/dinput_kbd.c \
566   $(SRCDIR)/dinput_mouse.c \
567   $(SRCDIR)/dinput_mouse2.c
568 libdinput_a_OBJECTS := $(libdinput_a_SOURCES:.c=.o)
569
570 SRCDIR := src/libdxerr8
571 libdxerr8_a_SOURCES := $(SRCDIR)/dxerr.c $(SRCDIR)/dxerr8.c $(SRCDIR)/dxerr8w.c
572 libdxerr8_a_OBJECTS := $(libdxerr8_a_SOURCES:.c=.o)
573
574 SRCDIR := src/libdxerr9
575 libdxerr9_a_SOURCES := $(SRCDIR)/dxerr.c $(SRCDIR)/dxerr9.c $(SRCDIR)/dxerr9w.c
576 libdxerr9_a_OBJECTS := $(libdxerr9_a_SOURCES:.c=.o)
577
578 ALL_SOURCES := \
579   $(libmingw32_a_SOURCES) \
580   $(libmingwthrd_a_SOURCES) \
581   $(libgmon_a_SOURCES) \
582   $(libmingwex_a_SOURCES) \
583   $(mingwm10_dll_SOURCES) \
584   $(libdinput_a_SOURCES) \
585   $(libdxerr8_a_SOURCES) \
586   $(libdxerr9_a_SOURCES)
587
588 all: $(msvcrt_DEF) $(moldname_DEF) $(lib_LIBRARIES) $(bin_LIBRARIES) $(lib_OBJECTS)
589
590 $(msvcrt_DEF): lib/lib32/msvcrt.def.in
591         N=`echo $@ | sed -e 's|\([a-z]*\)\([0-9]*\).*|\1|'`; \
592         test "$$N" == "msvcr" && N="msvcrt"; \
593         V=`echo $@ | sed -e 's|\([a-z]*\)\([0-9]*\).*|\2|'`; \
594         test -z "$$V" && V=60; \
595         test "$$V" != "100" && V="0$${V}"; \
596         V="0x$${V}0"; \
597         $(CC) -DRUNTIME=$(basename $(notdir $@)) \
598                 -D__FILENAME__=$@ \
599                 -D__$(basename $(notdir $@))__=1 \
600                 -D__MSVCRT__ -C -E -P -xc-header \
601                 $? > $@
602
603
604 $(moldname_DEF): lib/lib32/moldname.def.in
605         N=`echo $@ | sed -e 's|\([a-z]*\)\([0-9]*\).*|\1|'`; \
606         test "$$N" == "msvcr" && N="msvcrt"; \
607         V=`echo $@ | sed -e 's|\([a-z]*\)\([0-9]*\).*|\2|'`; \
608         test -z "$$V" && V=60; \
609         F="$@"; \
610         test "$$V" != "100" && V="0$${V}"; \
611         V="0x$${V}0"; \
612         $(CC) -DRUNTIME=$(basename $(notdir $@)) \
613                 -D__FILENAME__=$$F \
614                 -D__$(basename $(notdir $@))__=1 \
615                 -D__MSVCRT__ -C -E -P -xc-header \
616                 $? > $@
617
618 SRCDIR := lib/lib32
619 $(notdir $(winapi_lib_LIBRARIES)): $(addprefix lib/lib32/,$(winapi_DEF))
620         @echo Making library $@ from $(subst lib,,$(@:.a=.def)).
621         $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/,$(subst lib,,$(@:.a=.def))) --output-lib $@
622         $(RANLIB) $@
623
624 $(notdir $(winapi_mri_LIBRARIES)): $(addprefix lib/lib32/,$(winapi_MRI))
625         @echo Making library $@ from $<.
626         $(AR) -M < $<
627         $(RANLIB) $@
628
629 SRCDIR := lib/lib32/ddk
630 $(notdir $(winapi_lib_DDK_LIBRARIES)): $(addprefix lib/lib32/ddk/,$(winapi_DDK_DEF))
631         @echo Making library $@ from $(subst lib,,$(@:.a=.def)).
632         $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/ddk/,$(subst lib,,$(@:.a=.def))) --output-lib $@
633         $(RANLIB) $@
634
635 SRCDIR := lib/lib32/directx
636 $(notdir $(winapi_lib_DIRECTX_LIBRARIES)): $(addprefix lib/lib32/directx/,$(winapi_DIRECTX_DEF))
637         @echo Making library $@ from $(subst lib,,$(@:.a=.def)).
638         $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/directx/,$(subst lib,,$(@:.a=.def))) --output-lib $@
639         $(RANLIB) $@
640
641 lib%.a: %.def
642         @echo Making library $@ from $?.
643         N=`echo $@ | sed -e 's|lib\([a-z]*\)\([0-9]*\).*|\1|'`; \
644         V=`echo $@ | sed -e 's|lib\([a-z]*\)\([0-9]*\).*|\2|'`; \
645         DLLNAME="$${N}$${V}.dll"; \
646         $(DLLTOOL) $(DLLTOOL_FLAGS) $${DLLNAME} --def $< --output-lib $@
647         $(RANLIB) $@
648
649 lib%.a: %.o
650         @echo Making library $@ from $?.
651         $(AR) rc $@ $*.o
652         $(RANLIB) $@
653
654 %.o : %.c
655         $(MKDIR_P) $(@D)
656         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
657
658 SRCDIR := src/libcrt/crt
659 $(SRCDIR)/crt1.o $(SRCDIR)/dllcrt1.o:
660         $(MKDIR_P) $(@D)
661         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -U__MSVCRT__ -D__CRTDLL__ -o $@ $<
662
663 $(SRCDIR)/crt2.o $(SRCDIR)/dllcrt2.o:
664         $(MKDIR_P) $(@D)
665         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -D__MSVCRT__ -U__CRTDLL__ -o $@ $<
666
667 $(SRCDIR)/crt1.o: $(SRCDIR)/crt1.c
668 $(SRCDIR)/dllcrt1.o: $(SRCDIR)/dllcrt1.c
669 $(SRCDIR)/crt2.o: $(SRCDIR)/crt1.c
670 $(SRCDIR)/dllcrt2.o: $(SRCDIR)/dllcrt1.c
671
672 SRCDIR := src/libscrnsave
673 $(libscrnsave_a_OBJECTS): $(libscrnsave_a_SOURCES)
674         $(MKDIR_P) $(@D)
675         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(scrnsave_o_CFLAGS) -o $@ $<
676
677 $(libscrnsavw_a_OBJECTS): $(libscrnsavw_a_SOURCES)
678         $(MKDIR_P) $(@D)
679         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(scrnsavw_o_CFLAGS) -o $@ $<
680
681 SRCDIR := gpl/profile
682 $(SRCDIR)/gcrt1.o:
683         mkdir -p $(@D)
684         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -U__MSVCRT__ -D__CRTDLL__ -o $@ $<
685
686 $(SRCDIR)/gcrt2.o:
687         mkdir -p $(@D)
688         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -D__MSVCRT__ -U__CRTDLL__ -o $@ $<
689
690 $(SRCDIR)/gcrt1.o $(SRCDIR)/gcrt2.o: $(SRCDIR)/gcrt0.c
691
692 libmingw32.a: $(libmingw32_a_OBJECTS)
693         $(AR) rc $@ $(libmingw32_a_OBJECTS)
694         $(RANLIB) $@
695
696 libmingwex.a: $(libmingwex_a_OBJECTS) $(winapi_lib_LIBRARIES)
697         $(AR) rc $@ $(libmingwex_a_OBJECTS)
698         $(RANLIB) $@
699
700 libmingwthrd.a: $(libmingwthrd_a_OBJECTS)
701         $(AR) rc $@ $(libmingwthrd_a_OBJECTS)
702         $(RANLIB) $@
703
704 libmingwthrd_old.a: $(libmingwthrd_a_OBJECTS) mingwm10.dll mingwthrd.def
705         $(DLLTOOL) $(DLLTOOL_FLAGS) mingwm10.dll \
706           --def mingwthrd.def --output-lib $@
707         $(AR) rc $@ $(libmingwthrd_a_OBJECTS)
708         $(RANLIB) $@
709
710 libgmon.a: $(libgmon_a_OBJECTS)
711         $(AR) rc $@ $(libgmon_a_OBJECTS)
712         $(RANLIB) $@
713
714 libuuid.a: $(libuuid_a_OBJECTS)
715         $(AR) rc $@ $(libuuid_a_OBJECTS)
716         $(RANLIB) $@
717
718 libscrnsave.a: $(libscrnsave_a_OBJECTS)
719         $(AR) rc $@ $(libscrnsave_a_OBJECTS)
720         $(RANLIB) $@
721
722 libscrnsavw.a: $(libscrnsavw_a_OBJECTS)
723         $(AR) rc $@ $(libscrnsavw_a_OBJECTS)
724         $(RANLIB) $@
725
726 liblargeint.a: $(liblargeint_a_OBJECTS)
727         $(AR) rc $@ $(liblargeint_a_OBJECTS)
728         $(RANLIB) $@
729
730 libdinput.a libdinput8.a: $(libdinput_a_OBJECTS)
731         $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/directx/,$(subst lib,,$(@:.a=.def))) --output-lib $@
732         $(AR) rc $@ $(libdinput_a_OBJECTS)
733         $(RANLIB) $@
734
735 $(libdinput_a_OBJECTS) \
736 $(libdmoguids_a_OBJECTS) \
737 $(libdxguid_a_OBJECTS) \
738 $(libstrmiids_a_OBJECTS): \
739   $(libdinput_a_SOURCES) \
740   $(libdmoguids_a_SOURCES) \
741   $(libdxguid_a_SOURCES) \
742   $(libstrmiids_a_SOURCES)
743         $(MKDIR_P) $(@D)
744         $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
745
746 libdxerr8.a: $(libdxerr8_a_OBJECTS)
747         $(AR) rc $@ $(libdxerr8_a_OBJECTS)
748         $(RANLIB) $@
749
750 libdxerr9.a: $(libdxerr9_a_OBJECTS)
751         $(AR) rc $@ $(libdxerr9_a_OBJECTS)
752         $(RANLIB) $@
753
754 libdmoguids.a: $(libdmoguids_a_OBJECTS)
755         $(AR) rc $@ $(libdmoguids_a_OBJECTS)
756         $(RANLIB) $@
757
758 libdxguid.a: $(libdxguid_a_OBJECTS)
759         $(AR) rc $@ $(libdxguid_a_OBJECTS)
760         $(RANLIB) $@
761
762 libstrmiids.a: $(libstrmiids_a_OBJECTS)
763         $(AR) rc $@ $(libstrmiids_a_OBJECTS)
764         $(RANLIB) $@
765
766 _libm_dummy.c:
767         @echo "static int __mingw_libm_dummy;" > _libm_dummy.c
768
769 libm.a: _libm_dummy.o
770         $(AR) rc $@ _libm_dummy.o
771         $(RANLIB) $@
772
773 mingwthrd.def: $(mingwm10_dll_OBJECTS)
774         $(DLLTOOL) --as $(AS) --output-def mingwthrd.def $(mingwm10_dll_OBJECTS)
775
776 mingwm10.dll: $(mingwm10_dll_OBJECTS) mingwthrd.def libmingwex.a
777         $(CC) $(mingwm10_dll_FLAGS) $(mingwm10_dll_OBJECTS) mingwthrd.def \
778           -o mingwm10.dll -L .
779
780 clean:
781         rm -f *.def *.s *.a _libm_dummy.c stamp*
782         rm -rf .deps/
783         find . -type f -name \*.o -delete
784         find . -type f -name \*.dll -delete
785         test ! -f "Makefile.in" && find . -type d -delete
786
787 distclean: clean
788         rm -f config.log config.status config.cache config.h
789         rm -f core a.out *~ Makefile
790
791 need-DESTDIR-compatibility := prefix bindir includedir libdir mandir
792
793 $(need-DESTDIR-compatibility):
794         @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \
795           $(MAKE) --no-print-directory REJECT="$@" \
796             fail-DESTDIR-compatibility ;; \
797         esac
798
799 fail-DESTDIR-compatibility:
800         $(error DESTDIR is not supported when $(REJECT) contains a Windows \
801         path '$($(REJECT))'; \
802         try 'make install $(REJECT)=$(shell echo '$($(REJECT))' | \
803         sed s,:,:$(DESTDIR),) ...' instead)
804
805 check:
806         cd tests && $(MAKE) $@
807
808 install-dirs: $(need-DESTDIR-compatibility)
809         $(mkinstalldirs) $(DESTDIR)$(bindir)
810         $(mkinstalldirs) $(DESTDIR)$(libdir)
811         $(mkinstalldirs) $(DESTDIR)$(docdir)
812         $(mkinstalldirs) $(DESTDIR)$(docdir)/historical
813         $(mkinstalldirs) $(DESTDIR)$(docdir)/historical/mingw
814         $(mkinstalldirs) $(DESTDIR)$(docdir)/historical/mingw/man
815         $(mkinstalldirs) $(DESTDIR)$(docdir)/historical/w32api
816         $(mkinstalldirs) $(DESTDIR)$(includedir)
817         for I in `find $(top_srcdir)/include/* -type d`; do \
818           J=`basename $$I`; \
819           $(mkinstalldirs) $(DESTDIR)$(includedir)/$$J ; \
820         done
821
822 install-libs: all
823         for LIB in $(lib_LIBRARIES); do \
824           $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/$$LIB ; \
825         done
826
827 install-objs: all
828         for OBJ in $(lib_OBJECTS); do \
829           $(INSTALL) $(INSTALL_FLAGS) $$OBJ $(DESTDIR)$(libdir) ; \
830         done
831
832 install-docs:
833         for DOC in $(doc_DOCUMENTS); do \
834           $(INSTALL) $(INSTALL_FLAGS) $(top_srcdir)/$$DOC $(DESTDIR)$(docdir)/$$DOC ; \
835         done
836         cp -af $(top_srcdir)/doc/historical $(DESTDIR)$(docdir) ;
837
838 install-includes:
839         for INC in $(top_srcdir)/include/*.h; do \
840           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir) ; \
841         done
842         for I in `find $(top_srcdir)/include/* -type d`; do \
843           J=`basename $$I`; \
844           for INC in $$I/*.h; do \
845             $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/$$J ; \
846           done \
847         done
848
849 install-bins: all
850         for BIN in $(bin_LIBRARIES); do \
851           $(INSTALL) $(INSTALL_FLAGS) $$BIN $(DESTDIR)$(bindir)/$$BIN ; \
852         done
853
854 install: all \
855   install-dirs \
856   install-libs \
857   install-objs \
858   install-docs \
859   install-includes \
860   install-bins
861
862 install-mingwrt-dirs: $(need-DESTDIR-compatibility)
863         $(mkinstalldirs) $(DESTDIR)$(bindir)
864         $(mkinstalldirs) $(DESTDIR)$(libdir)
865         $(mkinstalldirs) $(DESTDIR)$(prefix)/share/doc/mingwrt
866         $(mkinstalldirs) $(DESTDIR)$(includedir)
867         $(mkinstalldirs) $(DESTDIR)$(includedir)/sys
868
869 mingwrt_bin_LIBRARIES := mingwm10.dll
870 mingwrt_lib_LIBRARIES := $(wildcard libmsvcr*.a)
871 mingwrt_lib_LIBRARIES += $(wildcard libmoldname*.a)
872 mingwrt_lib_INCLUDES := \
873   _mingw.h   dirent.h  getopt.h    math.h      setjmp.h  strings.h  varargs.h \
874   assert.h   dos.h     inttypes.h  mbctype.h   share.h   wchar.h \
875   complex.h  errno.h   io.h        mbstring.h  signal.h  tchar.h    wctype.h \
876   conio.h    excpt.h   libgen.h    mem.h       stdint.h  time.h \
877   ctype.h    fcntl.h   limits.h    memory.h    stdio.h   unistd.h \
878   dir.h      fenv.h    locale.h    process.h   stdlib.h  utime.h \
879   direct.h   float.h   malloc.h    search.h    string.h  values.h
880
881 mingwrt_lib_SYS_INCLUDES := \
882   fcntl.h  locking.h  stat.h  timeb.h  unistd.h \
883   file.h   param.h    time.h  types.h  utime.h
884
885
886 install-mingwrt: install-mingwrt-dirs
887         for BIN in $(mingwrt_bin_LIBRARIES); do \
888           $(INSTALL) $(INSTALL_FLAGS) $$BIN $(DESTDIR)$(bindir)/ ; \
889         done
890         for INC in $(addprefix $(top_srcdir)/include/,$(mingwrt_lib_INCLUDES)); do \
891           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
892         done
893         for INC in $(addprefix $(top_srcdir)/include/sys/,$(mingwrt_lib_SYS_INCLUDES)); do \
894           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/sys/ ; \
895         done
896         for LIB in $(mingwrt_lib_LIBRARIES); do \
897           $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/ ; \
898         done
899         for OBJ in $(mingwrt_lib_OBJECTS); do \
900           $(INSTALL) $(INSTALL_FLAGS) $$OBJ $(DESTDIR)$(libdir)/ ; \
901         done
902         cp -af $(top_srcdir)/doc/historical/mingw/* $(DESTDIR)$(prefix)/share/doc/mingwrt ;
903         rm -f $(DESTDIR)$(prefix)/share/doc/mingwrt/ChangeLog
904         rm -rf $(DESTDIR)$(prefix)/share/doc/mingwrt/man
905
906 dist: all dist-mingwrt dist-w32api dist-wsl
907
908 dist-mingwrt:
909         $(MAKE) prefix=./dist/mingwrt/installed _dist-mingwrt-all_
910
911 _dist-mingwrt-all_: all dist-mingwrt-dll dist-mingwrt-dev dist-mingwrt-lic dist-mingwrt-doc dist-mingwrt-src
912
913 dist-mingwrt-mkdir:
914         $(MKDIR_P) ./dist/mingwrt/packages
915
916 dist-mingwrt-install: all
917         $(MAKE) prefix=./dist/mingwrt/installed install-mingwrt
918
919 dist-mingwrt-dll: dist-mingwrt-mkdir dist-mingwrt-install
920         cd ./dist/mingwrt/installed ; \
921         tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dll.tar.lzma bin/*.dll
922
923 dist-mingwrt-dev: dist-mingwrt-mkdir dist-mingwrt-install
924         cd ./dist/mingwrt/installed ; \
925         tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
926
927 $(DESTDIR)$(prefix)/share/doc/mingwrt/DISCLAIMER: dist-mingwrt-mkdir dist-mingwrt-install
928         cp $(top_srcdir)/doc/historical/mingw/DISCLAIMER $(DESTDIR)$(prefix)/share/doc/mingwrt/
929
930 dist-mingwrt-lic: $(DESTDIR)$(prefix)/share/doc/mingwrt/DISCLAIMER
931         cd ./dist/mingwrt/installed ; \
932         tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/mingwrt/DISCLAIMER
933
934 dist-mingwrt-doc: dist-mingwrt-install
935         cd ./dist/mingwrt/installed ; \
936         rm -f share/doc/mingwrt/DISCLAIMER ; \
937         tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/mingwrt
938
939 dist-mingwrt-src:
940         cp -af $(top_srcdir) $(DESTDIR)$(prefix)
941         cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
942         rm -rf .git autom4te.cache ; \
943         rm -f config.log config.status config.cache config.h ; \
944         rm -f .gitignore core a.out Makefile ; \
945         find . -type f -name \*~ -delete ; \
946         find . -type f -name \*.log -delete ; \
947         find . -type f -name \*.bak -delete ; \
948         find . -type f -name .\*.swp -delete ; \
949         cd .. ; \
950         rm -rf mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
951         mv mingw.org-wsl mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
952         tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src.tar.lzma mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src
953
954 install-w32api-dirs: $(need-DESTDIR-compatibility)
955         $(mkinstalldirs) $(DESTDIR)$(bindir)
956         $(mkinstalldirs) $(DESTDIR)$(libdir)
957         $(mkinstalldirs) $(DESTDIR)$(prefix)/share/doc/w32api
958         $(mkinstalldirs) $(DESTDIR)$(includedir)
959         $(mkinstalldirs) $(DESTDIR)$(includedir)/ddk
960         $(mkinstalldirs) $(DESTDIR)$(includedir)/gdiplus
961         $(mkinstalldirs) $(DESTDIR)$(includedir)/GL
962
963 w32api_lib_INCLUDES := \
964   accctrl.h aclapi.h aclui.h adsprop.h afxres.h audevcod.h aviriff.h \
965   aygshell.h basetsd.h basetyps.h bdatypes.h cderr.h cguid.h cmnquery.h \
966   comcat.h commctrl.h commdlg.h control.h cpl.h cplext.h custcntl.h \
967   dbt.h dde.h ddeml.h devguid.h dhcpcsdk.h dlgs.h \
968   docobj.h dsadmin.h dsclient.h dsgetdc.h dshow.h dsquery.h dsrole.h \
969   dvdevcod.h dvdmedia.h edevdefs.h errorrep.h errors.h \
970   evcode.h exdisp.h exdispid.h fltdefs.h gdiplus.h httpext.h icm.h idispids.h \
971   il21dec.h imagehlp.h imm.h initguid.h intshcut.h ipexport.h iphlpapi.h \
972   ipifcons.h ipinfoid.h iprtrmib.h iptypes.h ipxconst.h ipxrtdef.h ipxtfflt.h \
973   isguids.h ks.h ksmedia.h largeint.h lm.h lmaccess.h lmalert.h lmapibuf.h \
974   lmat.h lmaudit.h lmbrowsr.h lmchdev.h lmconfig.h lmcons.h lmerr.h lmerrlog.h \
975   lmmsg.h lmremutl.h lmrepl.h lmserver.h lmshare.h lmsname.h lmstats.h lmsvc.h \
976   lmuse.h lmuseflg.h lmwksta.h lzexpand.h mapi.h mciavi.h mcx.h mgm.h \
977   mgmtapi.h mlang.h mmreg.h mmsystem.h mpegtype.h mprapi.h mq.h msacm.h \
978   mshtml.h mswsock.h nb30.h nddeapi.h nspapi.h ntdef.h ntdll.h ntdsapi.h \
979   ntdsbcli.h ntldap.h ntsecapi.h ntsecpkg.h oaidl.h objbase.h objfwd.h \
980   objidl.h objsafe.h objsel.h ocidl.h odbcinst.h ole.h ole2.h ole2ver.h \
981   oleacc.h oleauto.h olectl.h olectlid.h oledlg.h oleidl.h pbt.h poppack.h \
982   powrprof.h prsht.h psapi.h pshpack1.h pshpack2.h pshpack4.h pshpack8.h \
983   qedit.h rapi.h ras.h rasdlg.h raserror.h rassapi.h reason.h regstr.h \
984   richedit.h richole.h routprot.h rpc.h rpcdce.h rpcdce2.h rpcdcep.h rpcndr.h \
985   rpcnsi.h rpcnsip.h rpcnterr.h rpcproxy.h rtutils.h schannel.h schnlsp.h \
986   scrnsave.h sddl.h sdkddkver.h secext.h security.h servprov.h setupapi.h \
987   shellapi.h shldisp.h shlguid.h shlobj.h shlwapi.h shobjidl.h snmp.h \
988   specstrings.h sql.h sqlext.h sqltypes.h sqlucode.h sspi.h stm.h strmif.h \
989   subauth.h svcguid.h tlhelp32.h tmschema.h unknwn.h userenv.h usp10.h \
990   uxtheme.h vfw.h vidcap.h vmr9.h vptype.h w32api.h winable.h winbase.h \
991   winber.h wincon.h wincrypt.h windef.h windns.h windows.h windowsx.h \
992   winerror.h wingdi.h wininet.h winioctl.h winldap.h winnetwk.h winnls.h \
993   winnt.h winperf.h winreg.h winresrc.h winsnmp.h winsock.h winsock2.h \
994   winspool.h winsvc.h winuser.h winver.h ws2spi.h ws2tcpip.h wsahelp.h wsipx.h \
995   wsnetbs.h wtsapi32.h wtypes.h xprtdefs.h zmouse.h
996
997 w32api_lib_DDK_INCLUDES := \
998   atm.h batclass.h cfg.h cfgmgr32.h d4drvif.h d4iface.h ddkmapi.h hidclass.h \
999   hidpi.h hidsdi.h hidusage.h kbdmou.h mcd.h miniport.h minitape.h mountdev.h \
1000   mountmgr.h ndis.h ndisguid.h ndistapi.h ndiswan.h netevent.h netpnp.h \
1001   newdev.h ntapi.h ntdd8042.h ntddbeep.h ntddcdrm.h ntddcdvd.h ntddchgr.h \
1002   ntdddisk.h ntddk.h ntddkbd.h ntddmou.h ntddndis.h ntddpar.h ntddpcm.h \
1003   ntddscsi.h ntddser.h ntddstor.h ntddtape.h ntddtdi.h ntddvdeo.h ntddvol.h \
1004   ntifs.h ntpoapi.h ntstatus.h parallel.h pfhook.h poclass.h scsi.h scsiscan.h \
1005   scsiwmi.h smbus.h srb.h storport.h tdi.h tdiinfo.h tdikrnl.h tdistat.h \
1006   tvout.h upssvc.h usb.h usb100.h usbcamdi.h usbdi.h usbioctl.h usbiodef.h \
1007   usbscan.h usbuser.h video.h videoagp.h win2k.h winddi.h winddk.h winnt4.h \
1008   winxp.h ws2san.h xfilter.h
1009
1010 w32api_lib_GDIPLUS_INCLUDES := \
1011   gdiplus.h gdiplusbase.h gdiplusbrush.h gdipluscolor.h gdipluscolormatrix.h \
1012   gdipluseffects.h gdiplusenums.h gdiplusflat.h gdiplusgpstubs.h \
1013   gdiplusgraphics.h gdiplusheaders.h gdiplusimageattributes.h \
1014   gdiplusimagecodec.h gdiplusimaging.h gdiplusimpl.h gdiplusinit.h \
1015   gdipluslinecaps.h gdiplusmatrix.h gdiplusmem.h gdiplusmetafile.h \
1016   gdiplusmetaheader.h gdipluspath.h gdipluspen.h gdipluspixelformats.h \
1017   gdiplusstringformat.h gdiplustypes.h
1018
1019 w32api_lib_GL_INCLUDES := gl.h glext.h glu.h
1020
1021 w32api_lib_DIRECTX_INCLUDES := d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h
1022
1023 w32api_lib_LIBRARIES := \
1024   libaclui.a libadvapi32.a libapcups.a libavicap32.a libavifil32.a \
1025   libbthprops.a libcap.a libcfgmgr32.a libcomctl32.a libcomdlg32.a \
1026   libcrypt32.a libctl3d32.a libd3d8.a libd3d9.a libd3dim.a libd3drm.a \
1027   libd3dx8d.a libd3dx9d.a libd3dxof.a libddraw.a libdhcpcsvc.a libdinput.a \
1028   libdinput8.a libdlcapi.a libdmoguids.a libdnsapi.a libdplayx.a libdpnaddr.a \
1029   libdpnet.a libdpnlobby.a libdpvoice.a libdsetup.a libdsound.a libdxapi.a \
1030   libdxerr8.a libdxerr9.a libdxguid.a libfaultrep.a libgdi32.a libgdiplus.a \
1031   libglaux.a libglu32.a libhal.a libhid.a libhidparse.a libicmui.a \
1032   libigmpagnt.a libimagehlp.a libimm32.a libiphlpapi.a libkernel32.a \
1033   libksproxy.a libksuser.a liblargeint.a liblz32.a libmapi32.a libmcd.a \
1034   libmfcuia32.a libmgmtapi.a libmpr.a libmprapi.a libmqrt.a libmsacm32.a \
1035   libmscms.a libmsdmo.a libmsimg32.a libmsvcp60.a libmsvfw32.a libmswsock.a \
1036   libnddeapi.a libndis.a libnetapi32.a libnewdev.a libntdll.a libntoskrnl.a \
1037   libodbc32.a libodbccp32.a libole32.a liboleacc.a liboleaut32.a libolecli32.a \
1038   liboledlg.a libolepro32.a libolesvr32.a libopengl32.a libpenwin32.a \
1039   libpkpd32.a libpowrprof.a libpsapi.a libquartz.a librapi.a librasapi32.a \
1040   librasdlg.a librpcdce4.a librpcns4.a librpcrt4.a librtm.a librtutils.a \
1041   libscrnsave.a libscrnsavw.a libscsiport.a libsecur32.a libsetupapi.a \
1042   libshell32.a libshfolder.a libshlwapi.a libsnmpapi.a libstrmiids.a \
1043   libsvrapi.a libtapi32.a libtdi.a libthunk32.a liburl.a libusbcamd.a \
1044   libusbcamd2.a libuser32.a libuserenv.a libusp10.a libuuid.a libuxtheme.a \
1045   libvdmdbg.a libversion.a libvfw32.a libvideoprt.a libwin32k.a libwin32spl.a \
1046   libwininet.a libwinmm.a libwinspool.a libwinstrm.a libwldap32.a libwow32.a \
1047   libws2_32.a libwsnmp32.a libwsock32.a libwst.a libwtsapi32.a
1048
1049 install-w32api: install-w32api-dirs
1050         for INC in $(addprefix $(top_srcdir)/include/,$(w32api_lib_INCLUDES)); do \
1051           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
1052         done
1053         for INC in $(addprefix $(top_srcdir)/include/ddk/,$(w32api_lib_DDK_INCLUDES)); do \
1054           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ddk/ ; \
1055         done
1056         for INC in $(addprefix $(top_srcdir)/include/gdiplus/,$(w32api_lib_GDIPLUS_INCLUDES)); do \
1057           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/gdiplus/ ; \
1058         done
1059         for INC in $(addprefix $(top_srcdir)/include/GL/,$(w32api_lib_GL_INCLUDES)); do \
1060           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/GL/ ; \
1061         done
1062         for INC in $(addprefix $(top_srcdir)/include/directx/,$(w32api_lib_DIRECTX_INCLUDES)); do \
1063           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir) ; \
1064         done
1065         for LIB in $(w32api_lib_LIBRARIES); do \
1066           $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/ ; \
1067         done
1068         cp -af $(top_srcdir)/doc/historical/w32api/* $(DESTDIR)$(prefix)/share/doc/w32api ;
1069         rm -f $(DESTDIR)$(prefix)/share/doc/w32api/ChangeLog
1070
1071 dist-w32api:
1072         $(MAKE) prefix=./dist/w32api/installed _dist-w32api-all_
1073
1074 _dist-w32api-all_: all dist-w32api-dev dist-w32api-lic dist-w32api-doc dist-w32api-src
1075
1076 dist-w32api-mkdir:
1077         $(MKDIR_P) ./dist/w32api/packages
1078
1079 dist-w32api-install: all dist-w32api-mkdir
1080         $(MAKE) prefix=./dist/w32api/installed install-w32api
1081
1082 dist-w32api-dev: dist-w32api-install
1083         cd ./dist/w32api/installed ; \
1084         tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
1085
1086 dist-w32api-lic: dist-w32api-install
1087         cd ./dist/w32api/installed ; \
1088         tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/w32api/README.w32api
1089
1090 dist-w32api-doc: dist-w32api-install
1091         cd ./dist/w32api/installed ; \
1092         tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/w32api/CONTRIBUTIONS share/doc/w32api/TODO
1093
1094 dist-w32api-src:
1095         cp -af $(top_srcdir) $(DESTDIR)$(prefix)
1096         cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
1097         rm -rf .git autom4te.cache ; \
1098         rm -f config.log config.status config.cache config.h ; \
1099         rm -f .gitignore core a.out Makefile ; \
1100         find . -type f -name \*~ -delete ; \
1101         find . -type f -name \*.log -delete ; \
1102         find . -type f -name \*.bak -delete ; \
1103         find . -type f -name .\*.swp -delete ; \
1104         cd .. ; \
1105         rm -rf w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
1106         mv mingw.org-wsl w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
1107         tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src.tar.lzma w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src
1108
1109 install-wsl-dirs: $(need-DESTDIR-compatibility)
1110         $(mkinstalldirs) $(DESTDIR)$(bindir)
1111         $(mkinstalldirs) $(DESTDIR)$(libdir)
1112         $(mkinstalldirs) $(DESTDIR)$(docdir)
1113         $(mkinstalldirs) $(DESTDIR)$(includedir)
1114         $(mkinstalldirs) $(DESTDIR)$(includedir)/sys
1115         $(mkinstalldirs) $(DESTDIR)$(includedir)/ddk
1116         $(mkinstalldirs) $(DESTDIR)$(includedir)/gdiplus
1117         $(mkinstalldirs) $(DESTDIR)$(includedir)/GL
1118
1119 install-wsl: install-wsl-dirs
1120         for BIN in $(mingwrt_bin_LIBRARIES); do \
1121           $(INSTALL) $(INSTALL_FLAGS) $$BIN $(DESTDIR)$(bindir)/ ; \
1122         done
1123         for INC in $(addprefix $(top_srcdir)/include/,$(mingwrt_lib_INCLUDES)); do \
1124           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
1125         done
1126         for INC in $(addprefix $(top_srcdir)/include/sys/,$(mingwrt_lib_SYS_INCLUDES)); do \
1127           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/sys/ ; \
1128         done
1129         for INC in $(addprefix $(top_srcdir)/include/,$(w32api_lib_INCLUDES)); do \
1130           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
1131         done
1132         for INC in $(addprefix $(top_srcdir)/include/ddk/,$(w32api_lib_DDK_INCLUDES)); do \
1133           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ddk/ ; \
1134         done
1135         for INC in $(addprefix $(top_srcdir)/include/gdiplus/,$(w32api_lib_GDIPLUS_INCLUDES)); do \
1136           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/gdiplus/ ; \
1137         done
1138         for INC in $(addprefix $(top_srcdir)/include/GL/,$(w32api_lib_GL_INCLUDES)); do \
1139           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/GL/ ; \
1140         done
1141         for INC in $(addprefix $(top_srcdir)/include/directx/,$(w32api_lib_DIRECTX_INCLUDES)); do \
1142           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir) ; \
1143         done
1144         for LIB in $(mingwrt_lib_LIBRARIES) $(w32api_lib_LIBRARIES); do \
1145           $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/ ; \
1146         done
1147         for OBJ in $(mingwrt_lib_OBJECTS); do \
1148           $(INSTALL) $(INSTALL_FLAGS) $$OBJ $(DESTDIR)$(libdir)/ ; \
1149         done
1150         cp -af $(top_srcdir)/LICENSE $(DESTDIR)$(docdir)
1151         cp -af $(top_srcdir)/README $(DESTDIR)$(docdir)
1152         cp -af $(top_srcdir)/doc/historical $(DESTDIR)$(docdir)
1153
1154 dist-wsl:
1155         $(MAKE) prefix=./dist/wsl/installed _dist-wsl-all_
1156
1157 _dist-wsl-all_: all dist-wsl-dll dist-wsl-dev dist-wsl-doc dist-wsl-lic dist-wsl-src
1158
1159 dist-wsl-mkdir:
1160         $(MKDIR_P) ./dist/wsl/packages
1161
1162 dist-wsl-install: all dist-wsl-mkdir
1163         $(MAKE) prefix=./dist/wsl/installed install-wsl
1164
1165 dist-wsl-dll: dist-wsl-install
1166         cd ./dist/wsl/installed ; \
1167         tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dll.tar.lzma bin/*.dll ;
1168
1169 dist-wsl-dev: dist-wsl-install
1170         cd ./dist/wsl/installed ; \
1171         tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
1172
1173 dist-wsl-lic: dist-wsl-install
1174         cd ./dist/wsl/installed ; \
1175         tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/mingw.org-wsl/LICENSE
1176
1177 dist-wsl-doc: dist-wsl-install
1178         cd ./dist/wsl/installed ; \
1179         tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/mingw.org-wsl/README
1180
1181 dist-wsl-src: dist-wsl-install
1182         cp -af $(top_srcdir) $(DESTDIR)$(prefix)
1183         cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
1184         rm -rf .git autom4te.cache ; \
1185         rm -f config.log config.status config.cache config.h ; \
1186         rm -f .gitignore core a.out Makefile ; \
1187         find . -type f -name \*~ -delete ; \
1188         find . -type f -name \*.log -delete ; \
1189         find . -type f -name \*.bak -delete ; \
1190         find . -type f -name .\*.swp -delete ; \
1191         cd .. ; \
1192         rm -rf mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
1193         mv mingw.org-wsl mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
1194         tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src.tar.lzma mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src