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 # install: install everything
9 # uninstall: uninstall everything
10 # depend: create the dependencies
11 # etags: create a TAGS file for Emacs.
12 # manpages: compile manpages for Wine API
17 TOPSRCDIR
= @top_srcdir@
25 # Sub-directories containing stand-alone programs
29 # Sub-directories containing programs that use some Wine dlls
34 # Sub-directories containing libraries (not dlls) to build
41 # Sub-directories to run make depend/clean/install into
51 # Sub-directories to run make test into
59 all: Make.rules
$(PROGSUBDIRS
) $(LIBPROGSUBDIRS
) wine
60 @echo
"Wine build complete."
62 WINAPI_CHECK_EXTRA_FLAGS
= --global
66 Make.rules
: Make.rules.in configure
67 @echo
$? is newer than
'Make.rules', please rerun .
/configure
!
71 $(RM
) $@
&& $(LN_S
) $(WINEWRAPPER
) $@
73 install:: all $(SUBDIRS
:%=%/__install__
)
76 uninstall:: $(SUBDIRS
:%=%/__uninstall__
)
78 # Dependencies between directories
80 $(LIBPROGSUBDIRS
): tools dlls
$(LIBSUBDIRS
)
82 $(PROGSUBDIRS
): tools
$(LIBSUBDIRS
)
84 dlls
: tools
$(LIBSUBDIRS
)
89 $(CC
) -o checklink
$(TOPSRCDIR
)/library
/checklink.c
&& $(RM
) checklink
92 @cd dlls
&& $(MAKE
) checklink
93 @cd programs
&& $(MAKE
) checklink
95 test_environment
: dummy
96 @cd programs
/winetest
&& $(MAKE
) all
98 $(TESTSUBDIRS
:%=%/__test__
): test_environment
100 check test:: $(TESTSUBDIRS
:%=%/__test__
)
103 etags
`find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.glue.c' -a -not -name '*.dbg.c' -print`
106 $(MKINSTALLDIRS
) $(TOPOBJDIR
)/documentation
/man3w
107 for i in
$(SUBDIRS
); do
(cd
$$i && $(MAKE
) man
); done
110 $(MKINSTALLDIRS
) $(TOPOBJDIR
)/documentation
/html
111 for i in
$(SUBDIRS
); do
(cd
$$i && $(MAKE
) html
); done
117 $(RM
) config.
* TAGS Make.rules dlls
/Makedll.rules programs
/Makeprog.rules
include/config.h
118 $(RM
) -r autom4te.cache
119 $(RM
) `find . \( -name Makefile -o -size 0 \) -print`