152 lines
4.1 KiB
Makefile
152 lines
4.1 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
|
|
|
|
# Sub-directories to run make depend/clean into
|
|
SUBDIRS = \
|
|
dlls \
|
|
documentation \
|
|
fonts \
|
|
include \
|
|
libs \
|
|
loader \
|
|
programs \
|
|
server \
|
|
tools
|
|
|
|
# Sub-directories to run make install/uninstall into
|
|
INSTALLSUBDIRS = @ALL_TOP_DIRS@
|
|
|
|
# Sub-directories to run make test into
|
|
TESTSUBDIRS = dlls
|
|
|
|
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
|
|
|
|
# Dependencies between directories
|
|
|
|
all: $(INSTALLSUBDIRS)
|
|
dlls: include libs tools
|
|
fonts loader server: libs tools
|
|
programs: dlls include libs tools
|
|
include: libs tools
|
|
tools: libs
|
|
|
|
dlls/__install__ dlls/__install-lib__ dlls/__install-dev__: libs tools include
|
|
fonts/__install__ fonts/__install-lib__: libs tools
|
|
include/__install__ include/__install-dev__: include libs tools
|
|
libs/__install__ libs/__install-lib__ libs/__install-dev__: libs
|
|
loader/__install__ loader/__install-lib__: libs tools
|
|
server/__install__ server/__install-lib__: libs tools
|
|
programs/__install__: libs tools include dlls/__install__
|
|
programs/__install-lib__: libs tools include dlls/__install-lib__
|
|
tools/__install__ tools/__install-lib__ tools/__install-dev__: tools
|
|
|
|
RECURSE_TARGETS = \
|
|
$(SUBDIRS) \
|
|
$(SUBDIRS:%=%/__clean__) \
|
|
$(SUBDIRS:%=%/__depend__) \
|
|
$(SUBDIRS:%=%/__install-dev__) \
|
|
$(SUBDIRS:%=%/__install-lib__) \
|
|
$(SUBDIRS:%=%/__install__) \
|
|
$(SUBDIRS:%=%/__uninstall__) \
|
|
$(TESTSUBDIRS:%=%/__crosstest__) \
|
|
$(TESTSUBDIRS:%=%/__test__) \
|
|
$(TESTSUBDIRS:%=%/__testclean__)
|
|
|
|
depend $(RECURSE_TARGETS): $(MAKEDEP)
|
|
|
|
$(MAKEDEP): include/config.h
|
|
@cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
|
|
|
|
# Test rules
|
|
|
|
$(TESTSUBDIRS:%=%/__test__): wine
|
|
$(TESTSUBDIRS:%=%/__crosstest__): tools include
|
|
|
|
# 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:
|
|
|
|
$(RECURSE_TARGETS) $(MAKEDEP): $(ALL_MAKEFILES)
|
|
|
|
distclean::
|
|
$(RM) $(ALL_CONFIGS)
|
|
|
|
@ALL_MAKEFILE_DEPENDS@
|