# 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 \ tsx11 \ unicode # Sub-directories to install for install-lib INSTALLLIBSUBDIRS = \ dlls \ documentation \ library \ miscemu \ programs \ server \ tsx11 \ 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 tsx11 unicode server: library tools unicode miscemu programs: dlls library ole tools tsx11 unicode tools: library unicode dlls/__install__: library ole tools tsx11 unicode server/__install__: library tools unicode miscemu/__install__ programs/__install__: library ole tools tsx11 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: