Portability fixes.
[wine.git] / Makefile.in
blob0b220525e9e6aa1586072f5771d95b9a87f6cb00
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 # 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
15 # Directories
17 TOPSRCDIR = @top_srcdir@
18 TOPOBJDIR = .
19 SRCDIR = @srcdir@
20 VPATH = @srcdir@
21 LIBEXT = @LIBEXT@
22 LDCONFIG = @LDCONFIG@
23 MODULE = none
25 # Sub-directories containing stand-alone programs
26 PROGSUBDIRS = \
27 server
29 # Sub-directories containing programs that use some Wine dlls
30 LIBPROGSUBDIRS = \
31 miscemu \
32 programs
34 # Sub-directories containing libraries (not dlls) to build
35 LIBSUBDIRS = \
36 library \
37 ole \
38 tsx11 \
39 unicode
41 # Sub-directories to run make depend/clean/install into
42 SUBDIRS = \
43 $(LIBPROGSUBDIRS) \
44 $(LIBSUBDIRS) \
45 $(PROGSUBDIRS) \
46 dlls \
47 documentation \
48 include \
49 tools
51 # Sub-directories to run make test into
52 TESTSUBDIRS = \
53 dlls \
54 programs
56 EMUOBJS = \
57 miscemu/miscemu.o
59 all: Make.rules $(PROGSUBDIRS) $(LIBPROGSUBDIRS) wine
60 @echo "Wine build complete."
62 WINAPI_CHECK_EXTRA_FLAGS = --global
64 @MAKE_RULES@
66 Make.rules: Make.rules.in configure
67 @echo $? is newer than 'Make.rules', please rerun ./configure!
68 @exit 1
70 wine: $(WINEWRAPPER)
71 $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
73 install:: all $(SUBDIRS:%=%/__install__)
74 -$(LDCONFIG)
76 uninstall:: $(SUBDIRS:%=%/__uninstall__)
78 # Dependencies between directories
80 $(LIBPROGSUBDIRS): tools dlls $(LIBSUBDIRS)
82 $(PROGSUBDIRS): tools $(LIBSUBDIRS)
84 dlls: tools $(LIBSUBDIRS)
86 tools: $(LIBSUBDIRS)
88 checklink::
89 $(CC) -o checklink $(TOPSRCDIR)/library/checklink.c && $(RM) checklink
91 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__)
102 TAGS etags:
103 etags `find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.glue.c' -a -not -name '*.dbg.c' -print`
105 manpages:
106 $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/man3w
107 for i in $(SUBDIRS); do (cd $$i && $(MAKE) man); done
109 htmlpages:
110 $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html
111 for i in $(SUBDIRS); do (cd $$i && $(MAKE) html); done
113 clean::
114 $(RM) wine
116 distclean: clean
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`
121 ### Dependencies: