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
21 # Start of common header
22 # The following variable definitions are copied into all makefiles
25 exec_prefix = @
exec_prefix@
28 datarootdir
= @datarootdir@
31 fontdir
= ${datadir}/wine
/fonts
32 includedir = @
includedir@
/wine
34 fakedlldir
= ${dlldir}/fakedlls
35 top_srcdir
= @top_srcdir@
36 top_builddir
= @top_builddir@
47 EXTRACFLAGS
= @EXTRACFLAGS@
48 MSVCRTFLAGS
= @BUILTINFLAG@
49 TARGETFLAGS
= @TARGETFLAGS@
50 UNWINDFLAGS
= @UNWINDFLAGS@
67 FONTFORGE
= @FONTFORGE@
72 CROSSTARGET
= @CROSSTARGET@
74 RUNTESTFLAGS
= -q
-P wine
75 MAKEDEP
= $(TOOLSDIR
)/tools
/makedep
$(TOOLSEXT
)
76 WINEBUILD
= $(TOOLSDIR
)/tools
/winebuild
/winebuild
$(TOOLSEXT
)
77 WRC
= $(TOOLSDIR
)/tools
/wrc
/wrc
$(TOOLSEXT
)
78 LIBPORT
= $(top_builddir
)/libs
/port
/libwine_port.a
79 LIBWPP
= $(top_builddir
)/libs
/wpp
/libwpp.a
80 LIBWINE
= -L
$(top_builddir
)/libs
/wine
-lwine
81 LIBWINE_STATIC
= $(top_builddir
)/libs
/wine
/libwine_static.a
82 SED_CMD
= LC_ALL
=C sed
-e
's,@bindir\@,$(bindir),g' -e
's,@dlldir\@,$(dlldir),g' -e
's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' -e
's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g'
83 LDRPATH_INSTALL
= @LDRPATH_INSTALL@
84 LDRPATH_LOCAL
= @LDRPATH_LOCAL@
85 INSTALL_PROGRAM
= STRIPPROG
="$(STRIP)" $(top_srcdir
)/tools
/install-sh
$(INSTALL_PROGRAM_FLAGS
)
86 INSTALL_SCRIPT
= $(top_srcdir
)/tools
/install-sh
$(INSTALL_SCRIPT_FLAGS
)
87 INSTALL_DATA
= $(top_srcdir
)/tools
/install-sh
-m
644 $(INSTALL_DATA_FLAGS
)
94 # End of common header
97 @echo
"Wine build complete."
99 # Rules for re-running configure
101 config.status
: $(srcdir)/configure
102 @.
/config.status
--recheck
104 include/config.h
: include/stamp-h
105 include/stamp-h
: $(srcdir)/include/config.h.in config.status
106 @.
/config.status
include/config.h
include/stamp-h
110 .PHONY
: clean distclean __clean__
114 $(RM
) config.
* configure.lineno TAGS
tags include/config.h
include/stamp-h Makefile Make.tmp .gitignore
115 $(RM
) -r autom4te.cache documentation
/html documentation
/api-guide documentation
/api-guide-xml documentation
/man
$(api_manext
)
117 # Rules for uninstalling
119 .PHONY
: install install-lib install-dev
uninstall __uninstall__
120 uninstall:: __uninstall__
121 -rmdir
$(DESTDIR
)$(fontdir
) $(DESTDIR
)$(datadir)/wine
$(DESTDIR
)$(fakedlldir
) $(DESTDIR
)$(dlldir
) $(DESTDIR
)$(includedir)
123 # Rules for API documentation
125 install-manpages
:: manpages
126 for i in documentation
/man
$(api_manext
)/*.
$(api_manext
); do
$(INSTALL_DATA
) $$i $(DESTDIR
)$(mandir)/$$i; done
128 .PHONY
: install-manpages
130 # Dependencies between directories
132 # dependencies needed to build any dll or program
133 __tooldeps__
: libs
/port libs
/wine libs
/wpp
134 __builddeps__
: __tooldeps__
include
135 .PHONY
: depend dummy
check test testclean crosstest __tooldeps__ __builddeps__
138 loader
: libs
/port libs
/wine tools
139 server
: libs
/port libs
/wine tools
include
140 fonts
: tools
/sfnt2fon
141 include: tools tools
/widl
142 libs
/wine tools
: libs
/port
143 tools
/wmc tools
/wrc
: tools
144 tools
/sfnt2fon tools
/wmc tools
/wrc
: libs
/wine
145 tools
/widl tools
/wmc tools
/wrc
: libs
/wpp
146 libs
/port libs
/wine libs
/wpp
: include/config.h
150 TAGSFLAGS
= --langmap
='c:+.idl.l.rh,make:(Make*.in)'
154 (test -d .git
&& git ls-files || find
-L
$(top_srcdir
) -name
'*.[ch]' -print) | xargs etags
-a
$(TAGSFLAGS
)
158 (test -d .git
&& git ls-files || find
-L
$(top_srcdir
) -name
'*.[ch]' -print) | xargs ctags
-a
$(TAGSFLAGS
)