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
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
23 TOPSRCDIR
= @top_srcdir@
31 ALL_TOP_DIRS
= @ALL_TOP_DIRS@
33 # Sub-directories to run make all into
38 # Sub-directories to run make install/uninstall into
43 # Sub-directories that don't have a makefile
44 EXTRASUBDIRS
= dlls libs
47 @echo
"Wine build complete."
49 WINAPI_CHECK_EXTRA_FLAGS
= --global
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
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
84 # Rules for dependencies
86 depend
: $(ALL_DIRS
:%=%/__depend__
) dummy
87 .PHONY
: $(ALL_DIRS
:%=%/__depend__
)
91 $(ALL_DIRS
:%=%/__clean__
): dummy
92 @cd
`dirname $@` && $(MAKE
) clean
94 clean:: $(ALL_DIRS
:%=%/__clean__
)
95 $(RM
) $(ALL_DIRS
:%=%/Makefile
) tools
/makedep
$(EXEEXT
)
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
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
)
154 (test -d .git
&& git ls-files
'*.[chly]' '*.idl' || find
-L
$(TOPSRCDIR
) -name
'*.[ch]' -print) | xargs etags
-a
158 (test -d .git
&& git ls-files
'*.[chly]' '*.idl' || find
-L
$(TOPSRCDIR
) -name
'*.[ch]' -print) | xargs ctags
-a
166 @ALL_MAKEFILE_DEPENDS@
169 -rmdir
$(DESTDIR
)$(datadir)/wine
$(DESTDIR
)$(fakedlldir
) $(DESTDIR
)$(dlldir
)