wdm.h: Define IoGetNextIrpStackLocation.
[wine] / Makefile.in
1 # This Makefile understands the following targets:
2 #
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
20
21 TOPSRCDIR = @top_srcdir@
22 TOPOBJDIR = .
23 SRCDIR    = @srcdir@
24 VPATH     = @srcdir@
25
26 # Sub-directories that don't have a makefile
27 EXTRASUBDIRS = dlls libs programs
28
29 # Destination directories for make install
30 INSTALLDIRS = $(DESTDIR)$(bindir)
31
32 all: wine
33         @echo "Wine build complete."
34
35 WINAPI_CHECK_EXTRA_FLAGS = --global
36
37 @MAKE_RULES@
38
39 # Rules for re-running configure
40
41 $(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4
42         cd $(SRCDIR) && autoconf --warnings=all
43
44 $(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in
45 $(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4
46         cd $(SRCDIR) && autoheader --warnings=all
47         @echo timestamp > $@
48
49 config.status: configure
50         @./config.status --recheck
51
52 include/config.h: include/stamp-h
53 include/stamp-h: include/config.h.in config.status
54         @./config.status include/config.h include/stamp-h
55
56 # Rules for cleaning
57
58 .PHONY: __clean__
59 clean:: __clean__
60         $(RM) tools/makedep$(EXEEXT)
61
62 distclean:: clean
63         $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp
64         $(RM) -r autom4te.cache
65
66 # Dependencies between directories
67
68 # dependencies needed to build any dll or program
69 __tooldeps__: libs/port libs/wine libs/wpp
70 __builddeps__ __buildcrossdeps__: __tooldeps__ include
71 .PHONY: test crosstest __tooldeps__ __builddeps__ __buildcrossdeps__
72
73 loader server: libs/port libs/wine tools
74 fonts: tools
75 include: tools/widl
76 libs/wine: libs/port
77 tools/wmc tools/wrc: tools
78 tools tools/wmc tools/wrc: libs/wine
79 tools/widl tools/wmc tools/wrc: libs/wpp
80
81 $(MAKEDEP): include/config.h tools/Makefile
82         @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
83
84 # Misc rules
85
86 TAGS etags:
87         $(RM) TAGS
88         (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a
89
90 tags ctags:
91         $(RM) tags
92         (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a