# 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 = \ documentation \ library \ miscemu \ programs \ server \ unicode # Sub-directories to install for install-dev INSTALLDEVSUBDIRS = \ include \ ole \ tools # Sub-directories to install for both install-lib and install-dev INSTALLBOTHSUBDIRS = dlls INSTALLSUBDIRS = $(INSTALLDEVSUBDIRS) $(INSTALLLIBSUBDIRS) # Sub-directories to run make test into TESTSUBDIRS = \ dlls \ programs 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__) $(INSTALLBOTHSUBDIRS:%=%/__install-lib__) install-dev:: $(INSTALLDEVSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-dev__) install-aclocal install:: install-lib install-dev 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:: $(INSTALLBOTHSUBDIRS:%=%/__uninstall__) $(RM) $(datadir)/aclocal/wine.m4 -rmdir $(datadir)/aclocal $(INSTALLBOTHSUBDIRS:%=%/__install-lib__): dummy cd `dirname $@` && $(MAKE) install-lib $(INSTALLBOTHSUBDIRS:%=%/__install-dev__): dummy cd `dirname $@` && $(MAKE) install-dev $(INSTALLBOTHSUBDIRS:%=%/__uninstall__): dummy cd `dirname $@` && $(MAKE) uninstall .PHONY: install-aclocal $(INSTALLBOTHSUBDIRS:%=%/__install-lib__) $(INSTALLBOTHSUBDIRS:%=%/__install-dev__) $(INSTALLBOTHSUBDIRS:%=%/__uninstall__) # 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-lib__ dlls/__install-dev__: library ole tools unicode server/__install__: library tools unicode miscemu/__install__ programs/__install__: library ole tools unicode dlls/__install-lib__ 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 check test:: wine $(TESTSUBDIRS:%=%/__test__) crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) # 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.* configure.lineno 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: