1 # This Makefile understands the following targets:
3 # all (default): build wine
4 # clean: remove all intermediate files
5 # distclean: also remove all files created by configure
7 # testclean: clean test results to force running all tests again
8 # crosstest: build tests as native windows applications (requires MinGW)
9 # install-lib: install libraries needed to run applications
10 # install-dev: install development environment
11 # install: install everything
12 # uninstall: uninstall everything
13 # depend: create the dependencies
14 # ctags: create a tags file for vim and others.
15 # etags: create a TAGS file for Emacs.
16 # manpages: compile manpages for Wine API
17 # htmlpages: compile html pages for Wine API
18 # sgmlpages: compile sgml source for the Wine API Guide
19 # xmlpages: compile xml source for the Wine API Guide
23 TOPSRCDIR
= @top_srcdir@
30 # Sub-directories to run make depend/clean into
44 # Sub-directories to run make install/uninstall into
45 INSTALLSUBDIRS
= libs
/wine @ALL_TOP_DIRS@
47 # Sub-directories to run make test into
50 # Sub-directories that don't have a makefile
54 @echo
"Wine build complete."
56 WINAPI_CHECK_EXTRA_FLAGS
= --global
60 $(SRCDIR
)/configure
: @MAINTAINER_MODE@ configure.ac aclocal.m4
61 cd
$(SRCDIR
) && autoconf
--warnings
=all
63 $(SRCDIR
)/include/config.h.in
: @MAINTAINER_MODE@
include/stamp-h.in
64 $(SRCDIR
)/include/stamp-h.in
: configure.ac aclocal.m4
65 cd
$(SRCDIR
) && autoheader
--warnings
=all
68 config.status
: configure
69 @.
/config.status
--recheck
71 include/config.h
: include/stamp-h
72 include/stamp-h
: include/config.h.in config.status
73 @.
/config.status
include/config.h
include/stamp-h
78 -rmdir
$(DESTDIR
)$(datadir)/wine
80 # Dependencies between directories
82 all: $(INSTALLSUBDIRS
)
84 dlls programs
: libs
/port libs
/wine libs
/wpp tools
include
85 loader server
: libs
/port libs
/wine tools
88 tools
: libs
/port libs
/wine libs
/wpp
91 dlls
/__install__ dlls
/__install-lib__ dlls
/__install-dev__
: libs
/port libs
/wine libs
/wpp tools
include
92 programs
/__install__ programs
/__install-lib__
: libs
/port libs
/wine libs
/wpp tools
include
93 fonts
/__install__ fonts
/__install-lib__
: tools
94 include/__install__
include/__install-dev__
: include
95 libs
/wine
/__install__ libs
/wine
/__install-lib__ libs
/wine
/__install-dev__
: libs
/wine
96 loader
/__install__ loader
/__install-lib__
: libs
/port libs
/wine tools
97 server
/__install__ server
/__install-lib__
: libs
/port libs
/wine tools
98 programs
/__install__
: dlls
/__install__
99 programs
/__install-lib__
: dlls
/__install-lib__
100 tools
/__install__ tools
/__install-lib__ tools
/__install-dev__
: tools
104 $(SUBDIRS
:%=%/__clean__
) \
105 $(SUBDIRS
:%=%/__depend__
) \
106 $(SUBDIRS
:%=%/__install-dev__
) \
107 $(SUBDIRS
:%=%/__install-lib__
) \
108 $(SUBDIRS
:%=%/__install__
) \
109 $(SUBDIRS
:%=%/__uninstall__
) \
110 $(TESTSUBDIRS
:%=%/__crosstest__
) \
111 $(TESTSUBDIRS
:%=%/__test__
) \
112 $(TESTSUBDIRS
:%=%/__testclean__
)
114 depend
$(RECURSE_TARGETS
): $(MAKEDEP
)
116 $(MAKEDEP
): include/config.h
117 @cd
$(TOOLSDIR
)/tools
&& $(MAKE
) makedep
$(TOOLSEXT
)
121 $(TESTSUBDIRS
:%=%/__test__
): wine
122 $(TESTSUBDIRS
:%=%/__crosstest__
): tools
include
128 (test -d .git
&& git ls-files
'*.[chly]' '*.idl' || find
-L
$(TOPSRCDIR
) -name
'*.[ch]' -print) | xargs etags
-a
132 (test -d .git
&& git ls-files
'*.[chly]' '*.idl' || find
-L
$(TOPSRCDIR
) -name
'*.[ch]' -print) | xargs ctags
-a
134 manpages htmlpages sgmlpages xmlpages
: dummy
135 @cd documentation
&& $(MAKE
) $@
138 $(RM
) config.
* configure.lineno TAGS
tags include/config.h
include/stamp-h
139 $(RM
) -r autom4te.cache
141 .PHONY
: manpages htmlpages sgmlpages xmlpages
distclean
145 ALL_MAKEFILES
= @ALL_MAKEFILES@
146 ALL_CONFIGS
= Makefile
$(ALL_MAKEFILES
) @ALL_MAKERULES@ @ALL_SYMLINKS@
154 $(RECURSE_TARGETS
) $(MAKEDEP
): $(ALL_MAKEFILES
)
159 @ALL_MAKEFILE_DEPENDS@