# 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 # The following variable definitions are copied into all makefiles prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ datarootdir = @datarootdir@ datadir = @datadir@ mandir = @mandir@ fontdir = ${datadir}/wine/fonts includedir = @includedir@/wine dlldir = @dlldir@ fakedlldir = ${dlldir}/fakedlls top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ srcdir = @srcdir@ SHELL = /bin/sh RM = rm -f MV = mv CC = @CC@ CXX = @CXX@ CPPBIN = @CPPBIN@ CROSSCC = @CROSSCC@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ EXTRACFLAGS = @EXTRACFLAGS@ MSVCRTFLAGS = @BUILTINFLAG@ TARGETFLAGS = @TARGETFLAGS@ UNWINDFLAGS = @UNWINDFLAGS@ LDEXECFLAGS = @LDEXECFLAGS@ LIBS = @LIBS@ BISON = @BISON@ FLEX = @FLEX@ EXEEXT = @EXEEXT@ TOOLSEXT = @TOOLSEXT@ DLLTOOL = @DLLTOOL@ AR = @AR@ ARFLAGS = @ARFLAGS@ RANLIB = @RANLIB@ STRIP = @STRIP@ LN_S = @LN_S@ TOOLSDIR = @TOOLSDIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ DLLFLAGS = @DLLFLAGS@ PRELINK = @PRELINK@ FONTFORGE = @FONTFORGE@ RSVG = @RSVG@ CONVERT = @CONVERT@ ICOTOOL = @ICOTOOL@ MSGFMT = @MSGFMT@ CROSSTARGET = @CROSSTARGET@ LINGUAS = @LINGUAS@ SUBDIRS = @SUBDIRS@ RUNTESTFLAGS = -q -P wine MAKEDEP = $(TOOLSDIR)/tools/makedep$(TOOLSEXT) WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT) WRC = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT) PACKAGE_VERSION = @PACKAGE_VERSION@ SED_CMD = LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' -e 's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g' LDRPATH_INSTALL = @LDRPATH_INSTALL@ LDRPATH_LOCAL = @LDRPATH_LOCAL@ INSTALL_PROGRAM = STRIPPROG="$(STRIP)" $(top_srcdir)/tools/install-sh $(INSTALL_PROGRAM_FLAGS) INSTALL_SCRIPT = $(top_srcdir)/tools/install-sh $(INSTALL_SCRIPT_FLAGS) INSTALL_DATA = $(top_srcdir)/tools/install-sh -m 644 $(INSTALL_DATA_FLAGS) prog_manext = 1 api_manext = 3w conf_manext = 5 WINELOADER_PROGRAMS = @WINELOADER_PROGRAMS@ WINELOADER_DEPENDS = @WINELOADER_DEPENDS@ WINELOADER_INSTALL = @WINELOADER_INSTALL@ LIBWINE_SHAREDLIB = @LIBWINE_SHAREDLIB@ LIBWINE_IMPORTLIB = @LIBWINE_IMPORTLIB@ LIBWINE_INSTALL_LIB = @LIBWINE_INSTALL_LIB@ LIBWINE_INSTALL_DEV = @LIBWINE_INSTALL_DEV@ LIBWINE_LDFLAGS = @LIBWINE_LDFLAGS@ LIBWINE_DEPENDS = @LIBWINE_DEPENDS@ ALL_TEST_RESOURCES = @ALL_TEST_RESOURCES@ @ALL_VARS_RULES@ @SET_MAKE@ all: wine @echo "Wine build complete." # Rules for re-running configure config.status: $(srcdir)/configure @./config.status --recheck include/config.h: include/stamp-h include/stamp-h: $(srcdir)/include/config.h.in config.status @./config.status include/config.h include/stamp-h # Rules for cleaning .PHONY: clean distclean __clean__ clean:: __clean__ distclean:: clean $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp .gitignore $(RM) -r autom4te.cache documentation/html documentation/api-guide documentation/api-guide-xml documentation/man$(api_manext) # Rules for uninstalling .PHONY: install install-lib install-dev uninstall __uninstall__ uninstall:: __uninstall__ -rmdir $(DESTDIR)$(fontdir) $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir) $(DESTDIR)$(includedir)/windows/ddk \ $(DESTDIR)$(includedir)/windows $(DESTDIR)$(includedir)/msvcrt/sys $(DESTDIR)$(includedir)/msvcrt $(DESTDIR)$(includedir) # Rules for API documentation install-manpages:: manpages for i in documentation/man$(api_manext)/*.$(api_manext); do $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/$$i; done .PHONY: install-manpages # Dependencies between directories # dependencies needed to build any dll or program __tooldeps__: libs/port libs/wpp __builddeps__: __tooldeps__ libs/wine include .PHONY: depend dummy check test testclean crosstest __tooldeps__ __builddeps__ dummy: loader: libs/port libs/wine tools server: libs/port libs/wine tools include fonts: tools/sfnt2fon include: tools tools/widl libs/wine tools: libs/port tools/sfnt2fon tools/wmc tools/wrc: tools tools/widl tools/wmc tools/wrc: libs/wpp libs/port libs/wine libs/wpp: include/config.h # Misc rules TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)' TAGS etags: $(RM) TAGS (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS) tags ctags: $(RM) tags (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)