| # This Makefile understands the following targets: |
| # |
| # all (default): build wine |
| # clean: remove all intermediate files |
| # distclean: also remove all files created by configure |
| # test: run tests |
| # testclean: clean test results to force running all tests again |
| # crosstest: build tests as native windows applications (requires MinGW) |
| # install-lib: install libraries needed to run applications |
| # install-dev: install development environment |
| # install: install everything |
| # uninstall: uninstall everything |
| # depend: create the dependencies |
| # ctags: create a tags file for vim and others. |
| # etags: create a TAGS file for Emacs. |
| # manpages: compile manpages for Wine API |
| # htmlpages: compile html pages for Wine API |
| # sgmlpages: compile sgml source for the Wine API Guide |
| # xmlpages: compile xml source for the Wine API Guide |
| |
| # Directories |
| |
| TOPSRCDIR = @top_srcdir@ |
| TOPOBJDIR = . |
| SRCDIR = @srcdir@ |
| VPATH = @srcdir@ |
| LIBEXT = @LIBEXT@ |
| MODULE = none |
| |
| ALL_DIRS = @ALL_DIRS@ |
| ALL_DLL_DIRS = @ALL_DLL_DIRS@ |
| ALL_INSTALL_DIRS = @ALL_INSTALL_DIRS@ |
| ALL_PROGRAM_DIRS = @ALL_PROGRAM_DIRS@ |
| ALL_STATICLIB_DIRS = @ALL_STATICLIB_DIRS@ |
| ALL_TEST_DIRS = @ALL_TEST_DIRS@ |
| ALL_TOOL_DIRS = @ALL_TOOL_DIRS@ |
| ALL_TOP_DIRS = @ALL_TOP_DIRS@ |
| |
| # Sub-directories to run make all into |
| BUILDSUBDIRS = \ |
| libs/wine \ |
| $(ALL_TOOL_DIRS) \ |
| $(ALL_TOP_DIRS) \ |
| $(ALL_STATICLIB_DIRS) \ |
| $(ALL_DLL_DIRS) \ |
| $(ALL_PROGRAM_DIRS) \ |
| $(ALL_TEST_DIRS) |
| |
| # Sub-directories to run make install/uninstall into |
| INSTALLSUBDIRS = \ |
| libs/wine \ |
| $(ALL_TOOL_DIRS) \ |
| $(ALL_TOP_DIRS) \ |
| $(ALL_STATICLIB_DIRS) \ |
| $(ALL_DLL_DIRS) \ |
| $(ALL_INSTALL_DIRS) |
| |
| # Sub-directories that don't have a makefile |
| EXTRASUBDIRS = dlls libs |
| |
| all: wine |
| @echo "Wine build complete." |
| |
| WINAPI_CHECK_EXTRA_FLAGS = --global |
| |
| @MAKE_RULES@ |
| |
| # Rules for re-running configure |
| |
| ALL_CONFIGS = Makefile @ALL_MAKERULES@ @ALL_SYMLINKS@ |
| |
| $(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4 |
| cd $(SRCDIR) && autoconf --warnings=all |
| |
| $(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in |
| $(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4 |
| cd $(SRCDIR) && autoheader --warnings=all |
| @echo timestamp > $@ |
| |
| config.status: configure |
| @./config.status --recheck |
| |
| include/config.h: include/stamp-h |
| include/stamp-h: include/config.h.in config.status |
| @./config.status include/config.h include/stamp-h |
| |
| $(ALL_CONFIGS): |
| @./config.status $@ |
| |
| # Rules for building |
| |
| all: $(BUILDSUBDIRS) |
| |
| $(ALL_DIRS): dummy |
| @cd $@ && $(MAKE) |
| |
| .PHONY: $(ALL_DIRS) |
| |
| # Rules for dependencies |
| |
| depend: $(ALL_DIRS:%=%/__depend__) dummy |
| .PHONY: $(ALL_DIRS:%=%/__depend__) |
| |
| # Rules for cleaning |
| |
| $(ALL_DIRS:%=%/__clean__): dummy |
| @cd `dirname $@` && $(MAKE) clean |
| |
| clean:: $(ALL_DIRS:%=%/__clean__) |
| $(RM) $(ALL_DIRS:%=%/Makefile) tools/makedep$(EXEEXT) |
| |
| distclean:: clean |
| $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h $(ALL_CONFIGS) |
| $(RM) -r autom4te.cache |
| |
| .PHONY: distclean $(ALL_DIRS:%=%/__clean__) |
| |
| # Rules for installing |
| |
| $(INSTALLSUBDIRS:%=%/__install__): dummy |
| @cd `dirname $@` && $(MAKE) install |
| |
| $(INSTALLSUBDIRS:%=%/__install-lib__): dummy |
| @cd `dirname $@` && $(MAKE) install-lib |
| |
| $(INSTALLSUBDIRS:%=%/__install-dev__): dummy |
| @cd `dirname $@` && $(MAKE) install-dev |
| |
| $(INSTALLSUBDIRS:%=%/__uninstall__): dummy |
| @cd `dirname $@` && $(MAKE) uninstall |
| |
| install:: $(INSTALLSUBDIRS:%=%/__install__) dummy |
| install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy |
| install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy |
| uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy |
| |
| .PHONY: $(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__uninstall__) \ |
| $(INSTALLSUBDIRS:%=%/__install-lib__) $(INSTALLSUBDIRS:%=%/__install-dev__) |
| |
| uninstall:: |
| -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir) |
| |
| # Rules for testing |
| |
| $(ALL_TEST_DIRS:%=%/__test__): dummy |
| @cd `dirname $@` && $(MAKE) test |
| |
| $(ALL_TEST_DIRS:%=%/__crosstest__): dummy |
| @cd `dirname $@` && $(MAKE) crosstest |
| |
| check test:: $(ALL_TEST_DIRS:%=%/__test__) |
| crosstest:: $(ALL_TEST_DIRS:%=%/__crosstest__) |
| |
| testclean:: |
| $(RM) $(ALL_TEST_DIRS:%=%/*.ok) |
| |
| .PHONY: check test testclean crosstest $(ALL_TEST_DIRS:%=%/__test__) $(ALL_TEST_DIRS:%=%/__crosstest__) |
| |
| # Rules for auto documentation |
| |
| DOCSUBDIRS = $(ALL_DLL_DIRS) |
| |
| $(DOCSUBDIRS:%=%/__man__): dummy |
| @cd `dirname $@` && $(MAKE) man |
| |
| $(DOCSUBDIRS:%=%/__doc_html__): dummy |
| @cd `dirname $@` && $(MAKE) doc-html |
| |
| $(DOCSUBDIRS:%=%/__doc_sgml__): dummy |
| @cd `dirname $@` && $(MAKE) doc-sgml |
| |
| $(DOCSUBDIRS:%=%/__doc_xml__): dummy |
| @cd `dirname $@` && $(MAKE) doc-xml |
| |
| man: $(DOCSUBDIRS:%=%/__man__) |
| doc-html: $(DOCSUBDIRS:%=%/__doc_html__) |
| doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__) |
| doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__) |
| |
| manpages htmlpages sgmlpages xmlpages: dummy |
| @cd documentation && $(MAKE) $@ |
| |
| .PHONY: man doc-html doc-sgml doc-xml manpages htmlpages sgmlpages xmlpages \ |
| $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__) |
| |
| # Rules for import libraries |
| |
| STATIC_LIBS = @ALL_STATIC_LIBS@ |
| IMPORT_LIBS = @ALL_IMPORT_LIBS@ |
| |
| implib: $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS) |
| .PHONY: implib |
| |
| # Dependencies between directories |
| |
| # dependencies needed to build any dll or program |
| __tooldeps__: libs/port libs/wine libs/wpp $(ALL_TOOL_DIRS) |
| __builddeps__: __tooldeps__ include $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS) |
| __buildcrossdeps__: __tooldeps__ include $(STATIC_LIBS:.a=.cross.a) $(IMPORT_LIBS:.def=.cross.a) |
| .PHONY: __tooldeps__ __builddeps__ __buildcrossdeps__ |
| |
| loader server: libs/port libs/wine tools |
| fonts: tools |
| include: tools/widl |
| programs/winetest: $(ALL_TEST_DIRS) |
| libs/wine $(ALL_TOOL_DIRS): libs/port |
| tools/wmc tools/wrc: tools |
| tools tools/wmc tools/wrc: libs/wine |
| tools/widl tools/wmc tools/wrc: libs/wpp |
| |
| fonts/__install__ fonts/__install-lib__: tools |
| include/__install__ include/__install-dev__: include |
| libs/wine/__install__ libs/wine/__install-lib__ libs/wine/__install-dev__: libs/wine |
| loader/__install__ loader/__install-lib__: libs/port libs/wine tools |
| server/__install__ server/__install-lib__: libs/port libs/wine tools |
| tools/__install__ tools/__install-lib__ tools/__install-dev__: tools |
| tools/widl/__install__ tools/widl/__install-dev__: tools/widl |
| tools/winebuild/__install__ tools/winebuild/__install-dev__: tools/winebuild |
| tools/winedump/__install__ tools/winedump/__install-dev__: tools/winedump |
| tools/winegcc/__install__ tools/winegcc/__install-dev__: tools/winegcc |
| tools/wmc/__install__ tools/wmc/__install-dev__: tools/wmc |
| tools/wrc/__install__ tools/wrc/__install-dev__: tools/wrc |
| tools/__depend__: $(MAKEDEP) |
| |
| RECURSE_TARGETS = \ |
| __clean__ \ |
| __install__ \ |
| __instal-dev__ \ |
| __install-lib__ \ |
| __uninstall__ \ |
| __crosstest__ |
| |
| $(MAKEDEP): include/config.h tools/Makefile |
| @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT) |
| |
| # Misc rules |
| |
| TAGS etags: |
| $(RM) TAGS |
| (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a |
| |
| tags ctags: |
| $(RM) tags |
| (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a |
| |
| # Makefile rules |
| |
| .INIT: Makefile |
| .BEGIN: Makefile |
| .MAKEFILEDEPS: |
| |
| @ALL_MAKEFILE_DEPENDS@ |