windowscodecs: Do not assume that vtable is the first element of the object, avoid...
[wine] / Makefile.in
1 # This Makefile understands the following targets:
2 #
3 # all (default):   build wine
4 # clean:           remove all intermediate files
5 # distclean:       also remove all files created by configure
6 # test:            run tests
7 # testclean:       clean test results to force running all tests again
8 # crosstest:       build tests as native windows applications (requires MinGW)
9 # install-lib:     install libraries needed to run applications
10 # install-dev:     install development environment
11 # install:         install everything
12 # uninstall:       uninstall everything
13 # depend:          create the dependencies
14 # ctags:           create a tags file for vim and others.
15 # etags:           create a TAGS file for Emacs.
16 # manpages:        compile manpages for Wine API
17 # htmlpages:       compile html pages for Wine API
18 # sgmlpages:       compile sgml source for the Wine API Guide
19 # xmlpages:        compile xml source for the Wine API Guide
20
21 # Sub-directories that don't have a makefile
22 EXTRASUBDIRS = \
23         dlls \
24         libs \
25         po \
26         programs
27
28 # Destination directories for make install
29 INSTALLDIRS = \
30         $(DESTDIR)$(bindir) \
31         $(DESTDIR)$(dlldir) \
32         $(DESTDIR)$(fakedlldir) \
33         $(DESTDIR)$(mandir)/man$(prog_manext)
34
35 all: wine
36         @echo "Wine build complete."
37
38 WINAPI_CHECK_EXTRA_FLAGS = --global
39
40 @MAKE_RULES@
41
42 # Rules for re-running configure
43
44 config.status: configure
45         @./config.status --recheck
46
47 include/config.h: include/stamp-h
48 include/stamp-h: include/config.h.in config.status
49         @./config.status include/config.h include/stamp-h
50
51 # Rules for cleaning
52
53 .PHONY: __clean__
54 clean:: __clean__
55 distclean:: clean
56         $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp
57         $(RM) -r autom4te.cache
58
59 # Rules for uninstalling
60
61 .PHONY: __uninstall__
62 uninstall:: __uninstall__
63         -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
64
65 # Dependencies between directories
66
67 # dependencies needed to build any dll or program
68 __tooldeps__: libs/port libs/wine libs/wpp
69 __builddeps__: __tooldeps__ include
70 .PHONY: test crosstest __tooldeps__ __builddeps__
71
72 loader server: libs/port libs/wine tools
73 fonts: tools
74 include: tools tools/widl
75 libs/wine: libs/port
76 tools/wmc tools/wrc: tools
77 tools tools/wmc tools/wrc: libs/wine
78 tools/widl tools/wmc tools/wrc: libs/wpp
79
80 dlls/shell32/Makefile dlls/shell32/__depend__: dlls/shell32/AUTHORS
81
82 $(MAKEDEP): include/config.h
83         @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
84
85 # Misc rules
86
87 TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)'
88
89 TAGS etags:
90         $(RM) TAGS
91         (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS)
92
93 tags ctags:
94         $(RM) tags
95         (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)