makefiles: Fix test rules to allow parallel makes again.
[wine/multimedia.git] / Makefile.in
blob1df64c25525fe1660c302ce87012d567f98fb8ae
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_DIRS = @ALL_DIRS@
31 ALL_TOP_DIRS = @ALL_TOP_DIRS@
33 # Sub-directories to run make all into
34 BUILDSUBDIRS = \
35 libs/wine \
36 $(ALL_TOP_DIRS)
38 # Sub-directories to run make install/uninstall into
39 INSTALLSUBDIRS = \
40 libs/wine \
41 $(ALL_TOP_DIRS)
43 # Sub-directories that don't have a makefile
44 EXTRASUBDIRS = dlls libs
46 all: wine
47 @echo "Wine build complete."
49 WINAPI_CHECK_EXTRA_FLAGS = --global
51 @MAKE_RULES@
53 # Rules for re-running configure
55 ALL_CONFIGS = Makefile @ALL_MAKERULES@ @ALL_SYMLINKS@
57 $(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4
58 cd $(SRCDIR) && autoconf --warnings=all
60 $(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in
61 $(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4
62 cd $(SRCDIR) && autoheader --warnings=all
63 @echo timestamp > $@
65 config.status: configure
66 @./config.status --recheck
68 include/config.h: include/stamp-h
69 include/stamp-h: include/config.h.in config.status
70 @./config.status include/config.h include/stamp-h
72 $(ALL_CONFIGS):
73 @./config.status $@
75 # Rules for building
77 all: $(BUILDSUBDIRS)
79 $(ALL_DIRS): dummy
80 @cd $@ && $(MAKE)
82 .PHONY: $(ALL_DIRS)
84 # Rules for dependencies
86 depend: $(ALL_DIRS:%=%/__depend__) dummy
87 .PHONY: $(ALL_DIRS:%=%/__depend__)
89 # Rules for cleaning
91 $(ALL_DIRS:%=%/__clean__): dummy
92 @cd `dirname $@` && $(MAKE) clean
94 clean:: $(ALL_DIRS:%=%/__clean__)
95 $(RM) $(ALL_DIRS:%=%/Makefile) tools/makedep$(EXEEXT)
97 distclean:: clean
98 $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h $(ALL_CONFIGS)
99 $(RM) -r autom4te.cache
101 .PHONY: distclean $(ALL_DIRS:%=%/__clean__)
103 # Rules for installing
105 $(INSTALLSUBDIRS:%=%/__install__): dummy
106 @cd `dirname $@` && $(MAKE) install
108 $(INSTALLSUBDIRS:%=%/__install-lib__): dummy
109 @cd `dirname $@` && $(MAKE) install-lib
111 $(INSTALLSUBDIRS:%=%/__install-dev__): dummy
112 @cd `dirname $@` && $(MAKE) install-dev
114 $(INSTALLSUBDIRS:%=%/__uninstall__): dummy
115 @cd `dirname $@` && $(MAKE) uninstall
117 install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
118 install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
119 install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
120 uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
122 .PHONY: $(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__uninstall__) \
123 $(INSTALLSUBDIRS:%=%/__install-lib__) $(INSTALLSUBDIRS:%=%/__install-dev__)
125 # Dependencies between directories
127 # dependencies needed to build any dll or program
128 __tooldeps__: libs/port libs/wine libs/wpp
129 __builddeps__ __buildcrossdeps__: __tooldeps__ include
130 .PHONY: test crosstest __tooldeps__ __builddeps__ __buildcrossdeps__
132 loader server: libs/port libs/wine tools
133 fonts: tools
134 include: tools/widl
135 libs/wine: libs/port
136 tools/wmc tools/wrc: tools
137 tools tools/wmc tools/wrc: libs/wine
138 tools/widl tools/wmc tools/wrc: libs/wpp
140 fonts/__install__ fonts/__install-lib__: tools
141 include/__install__ include/__install-dev__: include
142 libs/wine/__install__ libs/wine/__install-lib__ libs/wine/__install-dev__: libs/wine
143 loader/__install__ loader/__install-lib__: libs/port libs/wine tools
144 server/__install__ server/__install-lib__: libs/port libs/wine tools
145 tools/__depend__: $(MAKEDEP)
147 $(MAKEDEP): include/config.h tools/Makefile
148 @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
150 # Misc rules
152 TAGS etags:
153 $(RM) TAGS
154 (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a
156 tags ctags:
157 $(RM) tags
158 (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a
160 # Makefile rules
162 .INIT: Makefile
163 .BEGIN: Makefile
164 .MAKEFILEDEPS:
166 @ALL_MAKEFILE_DEPENDS@
168 uninstall::
169 -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)