shell32: Add a stub for InvalidateDriveType.
[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
20 # Directories
21
22 TOPSRCDIR = @top_srcdir@
23 TOPOBJDIR = .
24 SRCDIR    = @srcdir@
25 VPATH     = @srcdir@
26 LIBEXT    = @LIBEXT@
27 MODULE    = none
28
29 FONTSSUBDIRS = @FONTSSUBDIRS@
30
31 # Sub-directories to run make depend/clean into
32 SUBDIRS = \
33         dlls \
34         documentation \
35         fonts \
36         include \
37         libs \
38         loader \
39         programs \
40         server \
41         tools
42
43 # Sub-directories to install for install-lib
44 INSTALLLIBSUBDIRS = \
45         $(FONTSSUBDIRS) \
46         loader \
47         programs \
48         server
49
50 # Sub-directories to install for install-dev
51 INSTALLDEVSUBDIRS = include
52
53 # Sub-directories to install for both install-lib and install-dev
54 INSTALLBOTHSUBDIRS = dlls libs tools
55
56 INSTALLSUBDIRS = $(INSTALLDEVSUBDIRS) $(INSTALLLIBSUBDIRS)
57
58 # Sub-directories to run make test into
59 TESTSUBDIRS = dlls
60
61 all: Make.rules wine
62         @echo "Wine build complete."
63
64 WINAPI_CHECK_EXTRA_FLAGS = --global
65
66 @MAKE_RULES@
67
68 Make.rules: Make.rules.in configure
69         @echo $? is newer than 'Make.rules', please rerun ./configure!
70         @exit 1
71
72 wine: $(WINEWRAPPER)
73         $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
74
75 # Installation rules
76
77 install-aclocal: dummy
78         $(MKINSTALLDIRS) $(DESTDIR)$(datadir)/aclocal
79         $(INSTALL_DATA) $(SRCDIR)/aclocal.m4 $(DESTDIR)$(datadir)/aclocal/wine.m4
80
81 install-lib:: $(INSTALLLIBSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-lib__)
82
83 install-dev:: $(INSTALLDEVSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-dev__) install-aclocal
84
85 install:: install-lib install-dev install-aclocal
86
87 uninstall:: $(INSTALLBOTHSUBDIRS:%=%/__uninstall__)
88         $(RM) $(DESTDIR)$(datadir)/aclocal/wine.m4
89         -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(datadir)/aclocal
90
91 .PHONY: install-aclocal
92
93 # Dependencies between directories
94
95 all: $(INSTALLSUBDIRS) $(INSTALLBOTHSUBDIRS)
96 dlls: include libs tools
97 fonts loader server: libs tools
98 programs: dlls include libs tools
99 include: libs tools
100 tools: libs
101
102 dlls/__install-lib__ dlls/__install-dev__: libs tools include
103 include/__install__: include libs tools
104 libs/__install-lib__ libs/__install-dev__: libs
105 fonts/__install__ loader/__install__ server/__install__: libs tools
106 programs/__install__: libs tools include dlls/__install-lib__
107 tools/__install-lib__ tools/__install-dev__: tools
108
109 $(SUBDIRS:%=%/__depend__): tools include
110
111 # Test rules
112
113 checklink:: $(TESTSUBDIRS:%=%/__checklink__)
114
115 check test:: $(TESTSUBDIRS:%=%/__test__)
116 $(TESTSUBDIRS:%=%/__test__): wine
117
118 crosstest:: $(TESTSUBDIRS:%=%/__crosstest__)
119 $(TESTSUBDIRS:%=%/__crosstest__): tools include
120
121 # Misc rules
122
123 TAGS etags:
124         find $(TOPSRCDIR)/ -name '*.[ch]' -print | etags -
125
126 tags ctags:
127         find $(TOPSRCDIR)/ -name '*.[ch]' -print | ctags --c-types=+px -L -
128
129 manpages htmlpages sgmlpages:
130         cd documentation && $(MAKE) $@
131
132 clean::
133         $(RM) wine
134
135 distclean: clean
136         $(RM) config.* configure.lineno TAGS tags Make.rules dlls/Makedll.rules dlls/Makeimplib.rules dlls/Maketest.rules programs/Makeprog.rules libs/Makelib.rules include/config.h
137         $(RM) -r autom4te.cache
138         $(RM) `find . \( -name Makefile -o -size 0 \) -print`
139
140 .PHONY: manpages htmlpages sgmlpages distclean
141
142 ### Dependencies: