1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# This Makefile understands the following targets:
#
# all (default): build wine
# clean: remove all intermediate files
# distclean: also remove all files created by configure
# test: run tests
# testclean: clean test results to force running all tests again
# crosstest: build tests as native windows applications (requires MinGW)
# install-lib: install libraries needed to run applications
# install-dev: install development environment
# install: install everything
# uninstall: uninstall everything
# depend: create the dependencies
# ctags: create a tags file for vim and others.
# etags: create a TAGS file for Emacs.
# manpages: compile manpages for Wine API
# htmlpages: compile html pages for Wine API
# sgmlpages: compile sgml source for the Wine API Guide
# Directories
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = .
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = none
PROGRAMS = wine
# Sub-directories to run make depend/clean into
SUBDIRS = \
dlls \
documentation \
fonts \
include \
libs \
loader \
programs \
server \
tools
# Sub-directories to run make install/uninstall into
INSTALLSUBDIRS = @ALL_TOP_DIRS@
# Sub-directories to run make test into
TESTSUBDIRS = dlls
all: Make.rules $(PROGRAMS)
@echo "Wine build complete."
WINAPI_CHECK_EXTRA_FLAGS = --global
INSTALLDIRS = $(DESTDIR)$(datadir)/aclocal
@MAKE_RULES@
$(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4
cd $(SRCDIR) && autoconf --warnings=all
$(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in
$(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4
cd $(SRCDIR) && autoheader --warnings=all
@echo timestamp > $@
config.status: configure
@./config.status --recheck
include/config.h: include/stamp-h
include/stamp-h: include/config.h.in config.status
@./config.status include/config.h include/stamp-h
wine: $(WINEWRAPPER)
$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
# Installation rules
install install-dev:: $(DESTDIR)$(datadir)/aclocal dummy
$(INSTALL_DATA) $(SRCDIR)/aclocal.m4 $(DESTDIR)$(datadir)/aclocal/wine.m4
uninstall::
$(RM) $(DESTDIR)$(datadir)/aclocal/wine.m4
-rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(datadir)/aclocal
# Dependencies between directories
all: $(INSTALLSUBDIRS)
dlls: include libs tools
fonts loader server: libs tools
programs: dlls include libs tools
include: libs tools
tools: libs
dlls/__install__ dlls/__install-lib__ dlls/__install-dev__: libs tools include
fonts/__install__ fonts/__install-lib__: libs tools
include/__install__ include/__install-dev__: include libs tools
libs/__install__ libs/__install-lib__ libs/__install-dev__: libs
loader/__install__ loader/__install-lib__: libs tools
server/__install__ server/__install-lib__: libs tools
programs/__install__: libs tools include dlls/__install__
programs/__install-lib__: libs tools include dlls/__install-lib__
tools/__install__ tools/__install-lib__ tools/__install-dev__: tools
RECURSE_TARGETS = \
$(SUBDIRS) \
$(SUBDIRS:%=%/__clean__) \
$(SUBDIRS:%=%/__depend__) \
$(SUBDIRS:%=%/__install-dev__) \
$(SUBDIRS:%=%/__install-lib__) \
$(SUBDIRS:%=%/__install__) \
$(SUBDIRS:%=%/__uninstall__) \
$(TESTSUBDIRS:%=%/__crosstest__) \
$(TESTSUBDIRS:%=%/__test__) \
$(TESTSUBDIRS:%=%/__testclean__)
depend $(RECURSE_TARGETS): $(MAKEDEP)
$(MAKEDEP): include/config.h
@cd $(TOOLSDIR)/tools && $(MAKE) makedep
# Test rules
$(TESTSUBDIRS:%=%/__test__): wine
$(TESTSUBDIRS:%=%/__crosstest__): tools include
# Misc rules
TAGS etags:
$(RM) TAGS
(test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a
tags ctags:
$(RM) tags
(test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a
manpages htmlpages sgmlpages: dummy
@cd documentation && $(MAKE) $@
distclean:: clean
$(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h
$(RM) -r autom4te.cache
.PHONY: manpages htmlpages sgmlpages distclean
# Makefile rules
ALL_MAKERULES = @ALL_MAKERULES@
ALL_MAKEFILES = @ALL_MAKEFILES@
Makefile $(ALL_MAKERULES) $(ALL_MAKEFILES): config.status
@./config.status $@
.INIT: Makefile
.BEGIN: Makefile
.MAKEFILEDEPS:
$(RECURSE_TARGETS) $(MAKEDEP): $(ALL_MAKEFILES)
distclean::
$(RM) Makefile $(ALL_MAKERULES) $(ALL_MAKEFILES)
@ALL_MAKEFILE_DEPENDS@