blob: 6f1af8cfa714e74a1790c5635a6ca03c3a7b7577 [file] [log] [blame]
# 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@
CROSSCFLAGS = @CROSSCFLAGS@
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@
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,@srcdir\@,$(srcdir),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@
WINELOADER_LDFLAGS = @WINELOADER_LDFLAGS@
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@
DISABLED_SUBDIRS = @DISABLED_SUBDIRS@
CONFIGURE_TARGETS = @CONFIGURE_TARGETS@
@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) -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 po
.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)