makefiles: Build the programs directly from the top-level makefile.
[wine/multimedia.git] / Makefile.in
blobfa52f010c263af2d40719a37c82bcd64ce1ea3ec
1 # This Makefile understands the following targets:
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
21 # Directories
23 TOPSRCDIR = @top_srcdir@
24 TOPOBJDIR = .
25 SRCDIR = @srcdir@
26 VPATH = @srcdir@
27 LIBEXT = @LIBEXT@
28 MODULE = none
30 ALL_DLL_DIRS = @ALL_DLL_DIRS@
31 ALL_INSTALL_DIRS = @ALL_INSTALL_DIRS@
32 ALL_PROGRAM_DIRS = @ALL_PROGRAM_DIRS@
33 ALL_STATICLIB_DIRS = @ALL_STATICLIB_DIRS@
34 ALL_TEST_DIRS = @ALL_TEST_DIRS@
35 ALL_TOOL_DIRS = @ALL_TOOL_DIRS@
36 ALL_TOP_DIRS = @ALL_TOP_DIRS@
38 # Sub-directories to run make depend/clean into
39 SUBDIRS = \
40 documentation \
41 fonts \
42 include \
43 libs/port \
44 libs/wine \
45 libs/wpp \
46 loader \
47 programs \
48 server \
49 $(ALL_TOOL_DIRS) \
50 $(ALL_STATICLIB_DIRS) \
51 $(ALL_DLL_DIRS) \
52 $(ALL_PROGRAM_DIRS) \
53 $(ALL_TEST_DIRS)
55 # Sub-directories to run make all into
56 BUILDSUBDIRS = \
57 libs/wine \
58 $(ALL_TOOL_DIRS) \
59 $(ALL_TOP_DIRS) \
60 $(ALL_STATICLIB_DIRS) \
61 $(ALL_DLL_DIRS) \
62 $(ALL_PROGRAM_DIRS) \
63 $(ALL_TEST_DIRS)
65 # Sub-directories to run make install/uninstall into
66 INSTALLSUBDIRS = \
67 libs/wine \
68 $(ALL_TOOL_DIRS) \
69 $(ALL_TOP_DIRS) \
70 $(ALL_STATICLIB_DIRS) \
71 $(ALL_DLL_DIRS) \
72 $(ALL_INSTALL_DIRS)
74 # Sub-directories to run make test into
75 TESTSUBDIRS = $(ALL_TEST_DIRS)
77 # Sub-directories that contain documentation
78 DOCSUBDIRS = $(ALL_DLL_DIRS)
80 # Sub-directories that don't have a makefile
81 EXTRASUBDIRS = dlls libs
83 all: wine
84 @echo "Wine build complete."
86 WINAPI_CHECK_EXTRA_FLAGS = --global
88 @MAKE_RULES@
90 $(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4
91 cd $(SRCDIR) && autoconf --warnings=all
93 $(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in
94 $(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4
95 cd $(SRCDIR) && autoheader --warnings=all
96 @echo timestamp > $@
98 config.status: configure
99 @./config.status --recheck
101 include/config.h: include/stamp-h
102 include/stamp-h: include/config.h.in config.status
103 @./config.status include/config.h include/stamp-h
105 # Installation rules
107 uninstall::
108 -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
110 # Import libraries
112 STATIC_LIBS = @ALL_STATIC_LIBS@
113 IMPORT_LIBS = @ALL_IMPORT_LIBS@
115 implib: $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS)
116 .PHONY: implib
118 # Dependencies between directories
120 all: $(BUILDSUBDIRS)
122 # dependencies needed to build any dll or program
123 __builddeps__: libs/port libs/wine libs/wpp $(ALL_TOOL_DIRS) include $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS)
124 __buildcrossdeps__: libs/port libs/wine $(ALL_TOOL_DIRS) include $(STATIC_LIBS:.a=.cross.a) $(IMPORT_LIBS:.def=.cross.a)
125 .PHONY: __builddeps__ __buildcrossdeps__
127 loader server: libs/port libs/wine tools
128 fonts: tools
129 include: tools/widl
130 programs/winetest: $(ALL_TEST_DIRS)
131 libs/wine $(ALL_TOOL_DIRS): libs/port
132 tools/wmc tools/wrc: tools
133 tools tools/wmc tools/wrc: libs/wine
134 tools/widl tools/wmc tools/wrc: libs/wpp
136 fonts/__install__ fonts/__install-lib__: tools
137 include/__install__ include/__install-dev__: include
138 libs/wine/__install__ libs/wine/__install-lib__ libs/wine/__install-dev__: libs/wine
139 loader/__install__ loader/__install-lib__: libs/port libs/wine tools
140 server/__install__ server/__install-lib__: libs/port libs/wine tools
141 tools/__install__ tools/__install-lib__ tools/__install-dev__: tools
142 tools/widl/__install__ tools/widl/__install-dev__: tools/widl
143 tools/winebuild/__install__ tools/winebuild/__install-dev__: tools/winebuild
144 tools/winedump/__install__ tools/winedump/__install-dev__: tools/winedump
145 tools/winegcc/__install__ tools/winegcc/__install-dev__: tools/winegcc
146 tools/wmc/__install__ tools/wmc/__install-dev__: tools/wmc
147 tools/wrc/__install__ tools/wrc/__install-dev__: tools/wrc
149 RECURSE_TARGETS = \
150 __clean__ \
151 __depend__ \
152 __install__ \
153 __instal-dev__ \
154 __install-lib__ \
155 __uninstall__ \
156 __crosstest__
158 depend: $(MAKEDEP)
160 $(MAKEDEP): include/config.h tools/Makefile
161 @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
163 # Misc rules
165 TAGS etags:
166 $(RM) TAGS
167 (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a
169 tags ctags:
170 $(RM) tags
171 (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a
173 manpages htmlpages sgmlpages xmlpages: dummy
174 @cd documentation && $(MAKE) $@
176 distclean:: clean
177 $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h
178 $(RM) -r autom4te.cache
180 .PHONY: manpages htmlpages sgmlpages xmlpages distclean
182 # Makefile rules
184 ALL_MAKEFILES = @ALL_MAKEFILES@
185 ALL_CONFIGS = Makefile $(ALL_MAKEFILES) @ALL_MAKERULES@ @ALL_SYMLINKS@
187 $(ALL_CONFIGS):
188 @./config.status $@
189 .INIT: Makefile
190 .BEGIN: Makefile
191 .MAKEFILEDEPS:
193 distclean::
194 $(RM) $(ALL_CONFIGS)
196 @ALL_MAKEFILE_DEPENDS@