shell32: Don't build authors.c for make depend, it has no dependencies anyway.
[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
20 # Directories
21
22 TOPSRCDIR = @top_srcdir@
23 TOPOBJDIR = .
24 SRCDIR    = @srcdir@
25 VPATH     = @srcdir@
26 LIBEXT    = @LIBEXT@
27 MODULE    = none
28
29 FONTSSUBDIRS = @FONTSSUBDIRS@
30
31 # Sub-directories to run make depend/clean into
32 SUBDIRS = \
33         dlls \
34         documentation \
35         fonts \
36         include \
37         libs \
38         loader \
39         programs \
40         server \
41         tools
42
43 # Sub-directories to install for install-lib
44 INSTALLLIBSUBDIRS = \
45         $(FONTSSUBDIRS) \
46         loader \
47         programs \
48         server
49
50 # Sub-directories to install for install-dev
51 INSTALLDEVSUBDIRS = include
52
53 # Sub-directories to install for both install-lib and install-dev
54 INSTALLBOTHSUBDIRS = dlls libs tools
55
56 INSTALLSUBDIRS = $(INSTALLDEVSUBDIRS) $(INSTALLLIBSUBDIRS)
57
58 # Sub-directories to run make test into
59 TESTSUBDIRS = dlls
60
61 all: Make.rules wine
62         @echo "Wine build complete."
63
64 WINAPI_CHECK_EXTRA_FLAGS = --global
65
66 INSTALLDIRS = $(DESTDIR)$(datadir)/aclocal
67
68 @MAKE_RULES@
69
70 Make.rules: Make.rules.in configure
71         @echo $? is newer than 'Make.rules', please rerun ./configure!
72         @exit 1
73
74 wine: $(WINEWRAPPER)
75         $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
76
77 # Installation rules
78
79 install install-dev:: $(DESTDIR)$(datadir)/aclocal dummy
80         $(INSTALL_DATA) $(SRCDIR)/aclocal.m4 $(DESTDIR)$(datadir)/aclocal/wine.m4
81
82 install install-lib:: $(INSTALLLIBSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-lib__)
83
84 install install-dev:: $(INSTALLDEVSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-dev__)
85
86 uninstall:: $(INSTALLBOTHSUBDIRS:%=%/__uninstall__)
87         $(RM) $(DESTDIR)$(datadir)/aclocal/wine.m4
88         -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(datadir)/aclocal
89
90 # Dependencies between directories
91
92 all: $(INSTALLSUBDIRS) $(INSTALLBOTHSUBDIRS)
93 dlls: include libs tools
94 fonts loader server: libs tools
95 programs: dlls include libs tools
96 include: libs tools
97 tools: libs
98
99 dlls/__install-lib__ dlls/__install-dev__: libs tools include
100 include/__install__: include libs tools
101 libs/__install-lib__ libs/__install-dev__: libs
102 fonts/__install__ loader/__install__ server/__install__: libs tools
103 programs/__install__: libs tools include dlls/__install-lib__
104 tools/__install-lib__ tools/__install-dev__: tools
105
106 $(SUBDIRS:%=%/__depend__): tools
107
108 # Test rules
109
110 $(TESTSUBDIRS:%=%/__test__): wine
111 $(TESTSUBDIRS:%=%/__crosstest__): tools include
112
113 # Misc rules
114
115 TAGS etags:
116         find $(TOPSRCDIR)/ -name '*.[ch]' -print | etags -
117
118 tags ctags:
119         find $(TOPSRCDIR)/ -name '*.[ch]' -print | ctags --c-types=+px -L -
120
121 manpages htmlpages sgmlpages: dummy
122         @cd documentation && $(MAKE) $@
123
124 clean::
125         $(RM) wine
126
127 distclean: clean
128         $(RM) config.* configure.lineno TAGS tags Make.rules dlls/Makedll.rules dlls/Makeimplib.rules dlls/Maketest.rules programs/Makeprog.rules libs/Makelib.rules include/config.h
129         $(RM) -r autom4te.cache
130         $(RM) `find . \( -name Makefile -o -size 0 \) -print`
131
132 .PHONY: manpages htmlpages sgmlpages distclean
133
134 ### Dependencies: