# 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 # htmlpages: compile html pages for Wine API # sgmlpages: compile sgml source for the Wine API Guide # Directories TOPSRCDIR = @top_srcdir@ TOPOBJDIR = . SRCDIR = @srcdir@ VPATH = @srcdir@ LIBEXT = @LIBEXT@ LDCONFIG = @LDCONFIG@ LDD = @LDD@ MODULE = none FONTSSUBDIRS = @FONTSSUBDIRS@ # Sub-directories to run make depend/clean into SUBDIRS = \ dlls \ documentation \ fonts \ include \ libs \ loader \ programs \ server \ tools # Sub-directories to install for install-lib INSTALLLIBSUBDIRS = \ documentation \ $(FONTSSUBDIRS) \ loader \ programs \ server # Sub-directories to install for install-dev INSTALLDEVSUBDIRS = include tools # Sub-directories to install for both install-lib and install-dev INSTALLBOTHSUBDIRS = dlls libs 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 and run /sbin/ldconfig" ; \ echo ' export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(libdir)' ; \ echo "*************************************************" ; \ echo "*************************************************" ; \ fi uninstall:: $(INSTALLBOTHSUBDIRS:%=%/__uninstall__) $(RM) $(datadir)/aclocal/wine.m4 -rmdir $(datadir)/wine $(datadir)/aclocal .PHONY: install-aclocal # Dependencies between directories all: $(INSTALLSUBDIRS) $(INSTALLBOTHSUBDIRS) dlls: include libs tools fonts loader server: libs tools programs: dlls include libs tools include: libs tools tools: libs dlls/__install-lib__ dlls/__install-dev__: libs tools include/__install__ include/__install__: include libs tools libs/__install-lib__ libs/__install-dev__: libs fonts/__install__ loader/__install__ server/__install__: libs tools programs/__install__: libs tools include/__install__ dlls/__install-lib__ tools/__install__: tools # Dependencies rules $(SUBDIRS:%=%/__depend__): idl idl: $(WIDL) dummy cd include && $(MAKE) all $(WIDL): $(TOOLSDIR)/libs/libwpp.a $(TOOLSDIR)/libs/libwine_port.a cd $(TOOLSDIR)/tools/widl && $(MAKE) `basename $@` $(TOOLSDIR)/libs/libwpp.a $(TOOLSDIR)/libs/libwine_port.a: cd $(TOOLSDIR)/libs && $(MAKE) `basename $@` .PHONY: idl # Test rules checklink:: $(TESTSUBDIRS:%=%/__checklink__) check test:: wine $(TESTSUBDIRS:%=%/__test__) crosstest:: tools $(TESTSUBDIRS:%=%/__crosstest__) # Misc rules TAGS etags: find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.dbg.c' -print | etags - tags ctags: find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.dbg.c' -print | ctags --c-types=+px -L - manpages: $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/man3w cd dlls && $(MAKE) man htmlpages: $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html cd dlls && $(MAKE) doc-html sgmlpages: $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/api-guide cd dlls && $(MAKE) doc-sgml clean:: $(RM) wine distclean: clean $(RM) config.* configure.lineno TAGS tags Make.rules dlls/Makedll.rules dlls/Maketest.rules programs/Makeprog.rules libs/Makelib.rules include/config.h $(RM) -r autom4te.cache $(RM) `find . \( -name Makefile -o -size 0 \) -print` .PHONY: manpages htmlpages distclean ### Dependencies: