Newer
Older
# 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

Alexandre Julliard
committed
# Sub-directories that don't have a makefile

Alexandre Julliard
committed
EXTRASUBDIRS = \
dlls \
libs \

Alexandre Julliard
committed
programs

Alexandre Julliard
committed
# Destination directories for make install
INSTALLDIRS = \
$(DESTDIR)$(bindir) \
$(DESTDIR)$(dlldir) \

Alexandre Julliard
committed
$(DESTDIR)$(fakedlldir) \
$(DESTDIR)$(mandir)/man$(prog_manext)
@echo "Wine build complete."
WINAPI_CHECK_EXTRA_FLAGS = --global
# Rules for re-running configure

Alexandre Julliard
committed
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
# Rules for cleaning

Alexandre Julliard
committed
.PHONY: __clean__
clean:: __clean__
distclean:: clean

Alexandre Julliard
committed
$(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp
$(RM) -r autom4te.cache
# Rules for uninstalling
.PHONY: __uninstall__
uninstall:: __uninstall__
-rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
# Dependencies between directories

Alexandre Julliard
committed
# dependencies needed to build any dll or program

Alexandre Julliard
committed
__tooldeps__: libs/port libs/wine libs/wpp

Alexandre Julliard
committed
__builddeps__: __tooldeps__ include
.PHONY: test crosstest __tooldeps__ __builddeps__

Alexandre Julliard
committed

Alexandre Julliard
committed
loader server: libs/port libs/wine tools

Alexandre Julliard
committed
fonts: tools
include: tools tools/widl

Alexandre Julliard
committed
libs/wine: libs/port

Alexandre Julliard
committed
tools/wmc tools/wrc: tools
tools tools/wmc tools/wrc: libs/wine
tools/widl tools/wmc tools/wrc: libs/wpp

Alexandre Julliard
committed
dlls/shell32/Makefile dlls/shell32/__depend__: dlls/shell32/AUTHORS
$(MAKEDEP): include/config.h

Alexandre Julliard
committed
@cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
# Misc rules
TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)'
(test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS)
(test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)