makedep: Add a helper function to open a file from the include path.
[wine.git] / Makefile.in
blob78a8c8cd29dfcb019edb78cfaabf788066a9be53
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
6 # test: run tests
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
24 prefix = @prefix@
25 exec_prefix = @exec_prefix@
26 bindir = @bindir@
27 libdir = @libdir@
28 datarootdir = @datarootdir@
29 datadir = @datadir@
30 mandir = @mandir@
31 fontdir = ${datadir}/wine/fonts
32 includedir = @includedir@/wine
33 dlldir = @dlldir@
34 fakedlldir = ${dlldir}/fakedlls
35 top_srcdir = @top_srcdir@
36 top_builddir = @top_builddir@
37 srcdir = @srcdir@
38 SHELL = /bin/sh
39 RM = rm -f
40 MV = mv
41 CC = @CC@
42 CXX = @CXX@
43 CPPBIN = @CPPBIN@
44 CROSSCC = @CROSSCC@
45 CFLAGS = @CFLAGS@
46 CPPFLAGS = @CPPFLAGS@
47 EXTRACFLAGS = @EXTRACFLAGS@
48 MSVCRTFLAGS = @BUILTINFLAG@
49 TARGETFLAGS = @TARGETFLAGS@
50 UNWINDFLAGS = @UNWINDFLAGS@
51 LIBS = @LIBS@
52 BISON = @BISON@
53 FLEX = @FLEX@
54 EXEEXT = @EXEEXT@
55 TOOLSEXT = @TOOLSEXT@
56 DLLTOOL = @DLLTOOL@
57 AR = @AR@
58 ARFLAGS = @ARFLAGS@
59 RANLIB = @RANLIB@
60 STRIP = @STRIP@
61 LN_S = @LN_S@
62 TOOLSDIR = @TOOLSDIR@
63 LD = @LD@
64 LDFLAGS = @LDFLAGS@
65 DLLFLAGS = @DLLFLAGS@
66 PRELINK = @PRELINK@
67 FONTFORGE = @FONTFORGE@
68 RSVG = @RSVG@
69 CONVERT = @CONVERT@
70 ICOTOOL = @ICOTOOL@
71 MSGFMT = @MSGFMT@
72 CROSSTARGET = @CROSSTARGET@
73 LINGUAS = @LINGUAS@
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)
88 prog_manext = 1
89 api_manext = 3w
90 conf_manext = 5
91 @ALL_VARS_RULES@
92 @SET_MAKE@
94 # End of common header
96 all: wine
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
108 # Rules for cleaning
110 .PHONY: clean distclean __clean__
112 clean:: __clean__
113 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)/windows/ddk \
122 $(DESTDIR)$(includedir)/windows $(DESTDIR)$(includedir)/msvcrt/sys $(DESTDIR)$(includedir)/msvcrt $(DESTDIR)$(includedir)
124 # Rules for API documentation
126 install-manpages:: manpages
127 for i in documentation/man$(api_manext)/*.$(api_manext); do $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/$$i; done
129 .PHONY: install-manpages
131 # Dependencies between directories
133 # dependencies needed to build any dll or program
134 __tooldeps__: libs/port libs/wine libs/wpp
135 __builddeps__: __tooldeps__ include
136 .PHONY: depend dummy check test testclean crosstest __tooldeps__ __builddeps__
138 dummy:
139 loader: libs/port libs/wine tools
140 server: libs/port libs/wine tools include
141 fonts: tools/sfnt2fon
142 include: tools tools/widl
143 libs/wine tools: libs/port
144 tools/wmc tools/wrc: tools
145 tools/sfnt2fon tools/wmc tools/wrc: libs/wine
146 tools/widl tools/wmc tools/wrc: libs/wpp
147 libs/port libs/wine libs/wpp: include/config.h
149 # Misc rules
151 TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)'
153 TAGS etags:
154 $(RM) TAGS
155 (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS)
157 tags ctags:
158 $(RM) tags
159 (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)