Makefile.in 2.47 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 29 30
# Destination directories for make install
INSTALLDIRS = $(DESTDIR)$(bindir)

31
all: wine
32
	@echo "Wine build complete."
Alexandre Julliard's avatar
Alexandre Julliard committed
33

34 35
WINAPI_CHECK_EXTRA_FLAGS = --global

Alexandre Julliard's avatar
Alexandre Julliard committed
36 37
@MAKE_RULES@

38 39
# Rules for re-running configure

40
config.status: configure
41
	@./config.status --recheck
42

43 44 45 46
include/config.h: include/stamp-h
include/stamp-h: include/config.h.in config.status
	@./config.status include/config.h include/stamp-h

47 48
# Rules for cleaning

49 50 51
.PHONY: __clean__
clean:: __clean__
	$(RM) tools/makedep$(EXEEXT)
52 53

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

57 58
# Dependencies between directories

59
# dependencies needed to build any dll or program
60
__tooldeps__: libs/port libs/wine libs/wpp
61 62
__builddeps__: __tooldeps__ include
.PHONY: test crosstest __tooldeps__ __builddeps__
63

64
loader server: libs/port libs/wine tools
65 66
fonts: tools
include: tools/widl
67
libs/wine: libs/port
68 69 70
tools/wmc tools/wrc: tools
tools tools/wmc tools/wrc: libs/wine
tools/widl tools/wmc tools/wrc: libs/wpp
71

72 73
dlls/shell32/Makefile dlls/shell32/__depend__: dlls/shell32/AUTHORS

74
$(MAKEDEP): include/config.h tools/Makefile
75
	@cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
76

77 78
# Misc rules

Alexandre Julliard's avatar
Alexandre Julliard committed
79
TAGS etags:
80
	$(RM) TAGS
81
	(test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a
Alexandre Julliard's avatar
Alexandre Julliard committed
82

83
tags ctags:
84
	$(RM) tags
85
	(test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a