mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-05 22:01:12 +00:00
194 lines
5.4 KiB
Makefile
194 lines
5.4 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_TEST_DIRS = @ALL_TEST_DIRS@
|
|
ALL_TOOL_DIRS = @ALL_TOOL_DIRS@
|
|
ALL_TOP_DIRS = @ALL_TOP_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) \
|
|
$(ALL_TEST_DIRS)
|
|
|
|
# Sub-directories to run make all into
|
|
BUILDSUBDIRS = \
|
|
libs/wine \
|
|
$(ALL_TOOL_DIRS) \
|
|
$(ALL_TOP_DIRS) \
|
|
$(ALL_STATICLIB_DIRS) \
|
|
$(ALL_TEST_DIRS)
|
|
|
|
# Sub-directories to run make install/uninstall into
|
|
INSTALLSUBDIRS = \
|
|
libs/wine \
|
|
$(ALL_TOOL_DIRS) \
|
|
$(ALL_TOP_DIRS) \
|
|
$(ALL_STATICLIB_DIRS)
|
|
|
|
# Sub-directories to run make test into
|
|
TESTSUBDIRS = $(ALL_TEST_DIRS)
|
|
|
|
# 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: $(BUILDSUBDIRS)
|
|
|
|
# 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: $(ALL_TEST_DIRS)
|
|
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)
|
|
|
|
# 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@
|