Makefile.in 2.72 KB
Newer Older
Alexandre Julliard's avatar
Alexandre Julliard committed
1 2
# This Makefile understands the following targets:
#
3 4 5 6 7
# 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
8
# crosstest:       build tests as native windows applications (requires MinGW)
9 10
# install-lib:     install libraries needed to run applications
# install-dev:     install development environment
11 12 13
# install:         install everything
# uninstall:       uninstall everything
# depend:          create the dependencies
14
# ctags:           create a tags file for vim and others.
15 16
# etags:           create a TAGS file for Emacs.
# manpages:        compile manpages for Wine API
17
# htmlpages:       compile html pages for Wine API
Hans Leidekker's avatar
Hans Leidekker committed
18
# sgmlpages:       compile sgml source for the Wine API Guide
19
# xmlpages:        compile xml source for the Wine API Guide
Alexandre Julliard's avatar
Alexandre Julliard committed
20

21
# Sub-directories that don't have a makefile
22 23 24
EXTRASUBDIRS = \
	dlls \
	libs \
25
	po \
26
	programs
27

28
# Destination directories for make install
29 30 31
INSTALLDIRS = \
	$(DESTDIR)$(bindir) \
	$(DESTDIR)$(dlldir) \
32 33
	$(DESTDIR)$(fakedlldir) \
	$(DESTDIR)$(mandir)/man$(prog_manext)
34

35
all: wine
36
	@echo "Wine build complete."
Alexandre Julliard's avatar
Alexandre Julliard committed
37

38 39
WINAPI_CHECK_EXTRA_FLAGS = --global

Alexandre Julliard's avatar
Alexandre Julliard committed
40 41
@MAKE_RULES@

42 43
# Rules for re-running configure

44
config.status: configure
45
	@./config.status --recheck
46

47 48 49 50
include/config.h: include/stamp-h
include/stamp-h: include/config.h.in config.status
	@./config.status include/config.h include/stamp-h

51 52
# Rules for cleaning

53 54
.PHONY: __clean__
clean:: __clean__
55
distclean:: clean
56
	$(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp
57 58
	$(RM) -r autom4te.cache

59 60 61 62 63 64
# Rules for uninstalling

.PHONY: __uninstall__
uninstall:: __uninstall__
	-rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)

65 66
# Dependencies between directories

67
# dependencies needed to build any dll or program
68
__tooldeps__: libs/port libs/wine libs/wpp
69 70
__builddeps__: __tooldeps__ include
.PHONY: test crosstest __tooldeps__ __builddeps__
71

72
loader server: libs/port libs/wine tools
73
fonts: tools
74
include: tools tools/widl
75
libs/wine: libs/port
76 77 78
tools/wmc tools/wrc: tools
tools tools/wmc tools/wrc: libs/wine
tools/widl tools/wmc tools/wrc: libs/wpp
79

80 81
dlls/shell32/Makefile dlls/shell32/__depend__: dlls/shell32/AUTHORS

82
$(MAKEDEP): include/config.h
83
	@cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
84

85 86
# Misc rules

87 88
TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)'

Alexandre Julliard's avatar
Alexandre Julliard committed
89
TAGS etags:
90
	$(RM) TAGS
91
	(test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS)
Alexandre Julliard's avatar
Alexandre Julliard committed
92

93
tags ctags:
94
	$(RM) tags
95
	(test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)