| # 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 | |
| # install-lib: install libraries needed to run applications | |
| # install-dev: install development environment | |
| # install: install everything | |
| # uninstall: uninstall everything | |
| # depend: create the dependencies | |
| # etags: create a TAGS file for Emacs. | |
| # manpages: compile manpages for Wine API | |
| # | |
| # Directories | |
| TOPSRCDIR = @top_srcdir@ | |
| TOPOBJDIR = . | |
| SRCDIR = @srcdir@ | |
| VPATH = @srcdir@ | |
| LIBEXT = @LIBEXT@ | |
| LDCONFIG = @LDCONFIG@ | |
| LDD = @LDD@ | |
| MODULE = none | |
| # Sub-directories to run make depend/clean into | |
| SUBDIRS = \ | |
| dlls \ | |
| documentation \ | |
| include \ | |
| library \ | |
| miscemu \ | |
| ole \ | |
| programs \ | |
| server \ | |
| tools \ | |
| unicode | |
| # Sub-directories to install for install-lib | |
| INSTALLLIBSUBDIRS = \ | |
| dlls \ | |
| documentation \ | |
| library \ | |
| miscemu \ | |
| programs \ | |
| server \ | |
| unicode | |
| # Sub-directories to install for install-dev | |
| INSTALLDEVSUBDIRS = \ | |
| include \ | |
| ole \ | |
| tools | |
| INSTALLSUBDIRS = $(INSTALLDEVSUBDIRS) $(INSTALLLIBSUBDIRS) | |
| # Sub-directories to run make test into | |
| TESTSUBDIRS = \ | |
| dlls \ | |
| programs | |
| EMUOBJS = \ | |
| miscemu/miscemu.o | |
| all: Make.rules wine | |
| @echo "Wine build complete." | |
| WINAPI_CHECK_EXTRA_FLAGS = --global | |
| @MAKE_RULES@ | |
| Make.rules: Make.rules.in configure | |
| @echo $? is newer than 'Make.rules', please rerun ./configure! | |
| @exit 1 | |
| wine: $(WINEWRAPPER) | |
| $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ | |
| # Installation rules | |
| install-aclocal: dummy | |
| $(MKINSTALLDIRS) $(datadir)/aclocal | |
| $(INSTALL_DATA) $(SRCDIR)/aclocal.m4 $(datadir)/aclocal/wine.m4 | |
| install-lib:: $(INSTALLLIBSUBDIRS:%=%/__install__) | |
| install-dev:: $(INSTALLDEVSUBDIRS:%=%/__install__) install-aclocal | |
| install:: install-aclocal | |
| -$(LDCONFIG) | |
| @if test -n "`LANG=C $(LDD) $(bindir)/wine|grep not.found`"; \ | |
| then \ | |
| echo "*************************************************" ; \ | |
| echo "*************************************************" ; \ | |
| echo "The installed Wine libraries will not be found!" ; \ | |
| echo "You can either:" ; \ | |
| echo " Add the line '$(libdir)' to /etc/ld.so.conf" ; \ | |
| echo ' export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(libdir)' ; \ | |
| echo "*************************************************" ; \ | |
| echo "*************************************************" ; \ | |
| fi | |
| uninstall:: | |
| $(RM) $(datadir)/aclocal/wine.m4 | |
| -rmdir $(datadir)/aclocal | |
| .PHONY: install-aclocal install-lib install-dev | |
| # Dependencies between directories | |
| all: $(SUBDIRS) | |
| dlls: library ole tools unicode | |
| server: library tools unicode | |
| miscemu programs: dlls library ole tools unicode | |
| tools: library unicode | |
| dlls/__install__: library ole tools unicode | |
| server/__install__: library tools unicode | |
| miscemu/__install__ programs/__install__: library ole tools unicode dlls/__install__ | |
| library/__install__: library | |
| ole/__install__: ole | |
| tools/__install__: tools | |
| unicode/__install__: unicode | |
| # Test rules | |
| checklink:: $(TESTSUBDIRS:%=%/__checklink__) | |
| $(CC) -o checklink $(TOPSRCDIR)/library/checklink.c && $(RM) checklink | |
| test_environment: dummy | |
| @cd programs/winetest && $(MAKE) test_environment | |
| $(TESTSUBDIRS:%=%/__test__): test_environment | |
| check test:: $(TESTSUBDIRS:%=%/__test__) | |
| crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) | |
| .PHONY: test_environment | |
| # Misc rules | |
| TAGS etags: | |
| etags `find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.glue.c' -a -not -name '*.dbg.c' -print` | |
| manpages: | |
| $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/man3w | |
| for i in $(SUBDIRS); do (cd $$i && $(MAKE) man); done | |
| htmlpages: | |
| $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html | |
| for i in $(SUBDIRS); do (cd $$i && $(MAKE) html); done | |
| clean:: | |
| $(RM) wine | |
| distclean: clean | |
| $(RM) config.* TAGS Make.rules dlls/Makedll.rules dlls/Maketest.rules programs/Makeprog.rules include/config.h | |
| $(RM) -r autom4te.cache | |
| $(RM) `find . \( -name Makefile -o -size 0 \) -print` | |
| .PHONY: manpages htmlpages distclean | |
| ### Dependencies: |