wine/Makefile.in

187 lines
5.3 KiB
Makefile

# 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
# Directories
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = .
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = none
ALL_STATICLIB_DIRS = @ALL_STATICLIB_DIRS@
ALL_TOOL_DIRS = @ALL_TOOL_DIRS@
# Sub-directories to run make depend/clean into
SUBDIRS = \
dlls \
documentation \
fonts \
include \
libs/port \
libs/wine \
libs/wpp \
loader \
programs \
server \
$(ALL_TOOL_DIRS) \
$(ALL_STATICLIB_DIRS)
# Sub-directories to run make install/uninstall into
INSTALLSUBDIRS = @ALL_TOP_DIRS@ \
libs/wine \
$(ALL_TOOL_DIRS) \
$(ALL_STATICLIB_DIRS)
# Sub-directories to run make test into
TESTSUBDIRS = dlls
# Sub-directories that don't have a makefile
EXTRASUBDIRS = libs
all: wine
@echo "Wine build complete."
WINAPI_CHECK_EXTRA_FLAGS = --global
@MAKE_RULES@
$(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4
cd $(SRCDIR) && autoconf --warnings=all
$(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in
$(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4
cd $(SRCDIR) && autoheader --warnings=all
@echo timestamp > $@
config.status: configure
@./config.status --recheck
include/config.h: include/stamp-h
include/stamp-h: include/config.h.in config.status
@./config.status include/config.h include/stamp-h
# Installation rules
uninstall::
-rmdir $(DESTDIR)$(datadir)/wine
# Import libraries
STATIC_LIBS = @ALL_STATIC_LIBS@
IMPORT_LIBS = @ALL_IMPORT_LIBS@
implib: $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS)
.PHONY: implib
# Dependencies between directories
all: $(INSTALLSUBDIRS)
# dependencies needed to build any dll or program
__builddeps__: libs/port libs/wine libs/wpp $(ALL_TOOL_DIRS) include $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS)
__buildcrossdeps__: libs/port libs/wine $(ALL_TOOL_DIRS) include $(STATIC_LIBS:.a=.cross.a) $(IMPORT_LIBS:.def=.cross.a)
.PHONY: __builddeps__ __buildcrossdeps__
dlls programs: __builddeps__
loader server: libs/port libs/wine tools
fonts: tools
include: tools/widl
programs: dlls
libs/wine $(ALL_TOOL_DIRS): libs/port
tools/wmc tools/wrc: tools
tools tools/wmc tools/wrc: libs/wine
tools/widl tools/wmc tools/wrc: libs/wpp
dlls/__install__ dlls/__install-lib__ dlls/__install-dev__: __builddeps__
programs/__install__ programs/__install-lib__: __builddeps__
fonts/__install__ fonts/__install-lib__: tools
include/__install__ include/__install-dev__: include
libs/wine/__install__ libs/wine/__install-lib__ libs/wine/__install-dev__: libs/wine
loader/__install__ loader/__install-lib__: libs/port libs/wine tools
server/__install__ server/__install-lib__: libs/port libs/wine tools
tools/__install__ tools/__install-lib__ tools/__install-dev__: tools
tools/widl/__install__ tools/widl/__install-dev__: tools/widl
tools/winebuild/__install__ tools/winebuild/__install-dev__: tools/winebuild
tools/winedump/__install__ tools/winedump/__install-dev__: tools/winedump
tools/winegcc/__install__ tools/winegcc/__install-dev__: tools/winegcc
tools/wmc/__install__ tools/wmc/__install-dev__: tools/wmc
tools/wrc/__install__ tools/wrc/__install-dev__: tools/wrc
RECURSE_TARGETS = \
__clean__ \
__depend__ \
__install__ \
__instal-dev__ \
__install-lib__ \
__uninstall__ \
__crosstest__
dlls $(RECURSE_TARGETS:%=dlls/%): $(MAKEDEP)
programs $(RECURSE_TARGETS:%=programs/%): $(MAKEDEP)
depend: $(MAKEDEP)
$(MAKEDEP): include/config.h tools/Makefile
@cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
# Test rules
$(TESTSUBDIRS:%=%/__test__): wine
$(TESTSUBDIRS:%=%/__crosstest__): __buildcrossdeps__
# Misc rules
TAGS etags:
$(RM) TAGS
(test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a
tags ctags:
$(RM) tags
(test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a
manpages htmlpages sgmlpages xmlpages: dummy
@cd documentation && $(MAKE) $@
distclean:: clean
$(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h
$(RM) -r autom4te.cache
.PHONY: manpages htmlpages sgmlpages xmlpages distclean
# Makefile rules
ALL_MAKEFILES = @ALL_MAKEFILES@
ALL_CONFIGS = Makefile $(ALL_MAKEFILES) @ALL_MAKERULES@ @ALL_SYMLINKS@
$(ALL_CONFIGS):
@./config.status $@
.INIT: Makefile
.BEGIN: Makefile
.MAKEFILEDEPS:
dlls $(RECURSE_TARGETS:%=dlls/%): $(ALL_MAKEFILES)
programs $(RECURSE_TARGETS:%=programs/%): $(ALL_MAKEFILES)
distclean::
$(RM) $(ALL_CONFIGS)
@ALL_MAKEFILE_DEPENDS@