Makefile.in 5.61 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 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
# The following variable definitions are copied into all makefiles

prefix          = @prefix@
exec_prefix     = @exec_prefix@
bindir          = @bindir@
libdir          = @libdir@
datarootdir     = @datarootdir@
datadir         = @datadir@
mandir          = @mandir@
fontdir         = ${datadir}/wine/fonts
includedir      = @includedir@/wine
dlldir          = @dlldir@
fakedlldir      = ${dlldir}/fakedlls
top_srcdir      = @top_srcdir@
top_builddir    = @top_builddir@
srcdir          = @srcdir@
SHELL           = /bin/sh
RM              = rm -f
MV              = mv
CC              = @CC@
CXX             = @CXX@
CPPBIN          = @CPPBIN@
CROSSCC         = @CROSSCC@
CFLAGS          = @CFLAGS@
CPPFLAGS        = @CPPFLAGS@
EXTRACFLAGS     = @EXTRACFLAGS@
MSVCRTFLAGS     = @BUILTINFLAG@
TARGETFLAGS     = @TARGETFLAGS@
UNWINDFLAGS     = @UNWINDFLAGS@
50
LDEXECFLAGS     = @LDEXECFLAGS@
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
LIBS            = @LIBS@
BISON           = @BISON@
FLEX            = @FLEX@
EXEEXT          = @EXEEXT@
TOOLSEXT        = @TOOLSEXT@
DLLTOOL         = @DLLTOOL@
AR              = @AR@
ARFLAGS         = @ARFLAGS@
RANLIB          = @RANLIB@
STRIP           = @STRIP@
LN_S            = @LN_S@
TOOLSDIR        = @TOOLSDIR@
LD              = @LD@
LDFLAGS         = @LDFLAGS@
DLLFLAGS        = @DLLFLAGS@
PRELINK         = @PRELINK@
FONTFORGE       = @FONTFORGE@
RSVG            = @RSVG@
CONVERT         = @CONVERT@
ICOTOOL         = @ICOTOOL@
MSGFMT          = @MSGFMT@
CROSSTARGET     = @CROSSTARGET@
73
SUBDIRS         = @SUBDIRS@
74 75 76 77
RUNTESTFLAGS    = -q -P wine
MAKEDEP         = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
WINEBUILD       = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
WRC             = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
78
PACKAGE_VERSION = @PACKAGE_VERSION@
79 80 81 82 83 84 85 86 87
SED_CMD         = LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' -e 's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g'
LDRPATH_INSTALL = @LDRPATH_INSTALL@
LDRPATH_LOCAL   = @LDRPATH_LOCAL@
INSTALL_PROGRAM = STRIPPROG="$(STRIP)" $(top_srcdir)/tools/install-sh $(INSTALL_PROGRAM_FLAGS)
INSTALL_SCRIPT  = $(top_srcdir)/tools/install-sh $(INSTALL_SCRIPT_FLAGS)
INSTALL_DATA    = $(top_srcdir)/tools/install-sh -m 644 $(INSTALL_DATA_FLAGS)
prog_manext     = 1
api_manext      = 3w
conf_manext     = 5
88 89 90
WINELOADER_PROGRAMS = @WINELOADER_PROGRAMS@
WINELOADER_DEPENDS  = @WINELOADER_DEPENDS@
WINELOADER_INSTALL  = @WINELOADER_INSTALL@
91 92 93 94 95 96
LIBWINE_SHAREDLIB   = @LIBWINE_SHAREDLIB@
LIBWINE_IMPORTLIB   = @LIBWINE_IMPORTLIB@
LIBWINE_INSTALL_LIB = @LIBWINE_INSTALL_LIB@
LIBWINE_INSTALL_DEV = @LIBWINE_INSTALL_DEV@
LIBWINE_LDFLAGS     = @LIBWINE_LDFLAGS@
LIBWINE_DEPENDS     = @LIBWINE_DEPENDS@
97
ALL_TEST_RESOURCES  = @ALL_TEST_RESOURCES@
98
DISABLED_SUBDIRS    = @DISABLED_SUBDIRS@
99
CONFIGURE_TARGETS   = @CONFIGURE_TARGETS@
100 101 102
@ALL_VARS_RULES@
@SET_MAKE@

103
all: wine
104
	@echo "Wine build complete."
Alexandre Julliard's avatar
Alexandre Julliard committed
105

106 107
# Rules for re-running configure

108
config.status: $(srcdir)/configure
109
	@./config.status --recheck
110

111
include/config.h: include/stamp-h
112
include/stamp-h: $(srcdir)/include/config.h.in config.status
113 114
	@./config.status include/config.h include/stamp-h

115 116
# Rules for cleaning

117 118
.PHONY: clean distclean __clean__

119
clean:: __clean__
120
distclean:: clean
121
	$(RM) -r autom4te.cache documentation/html documentation/api-guide documentation/api-guide-xml documentation/man$(api_manext)
122

123
# Rules for uninstalling
124

125
.PHONY: install install-lib install-dev uninstall __uninstall__
126
uninstall:: __uninstall__
127 128
	-rmdir $(DESTDIR)$(fontdir) $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir) $(DESTDIR)$(includedir)/windows/ddk \
	       $(DESTDIR)$(includedir)/windows $(DESTDIR)$(includedir)/msvcrt/sys $(DESTDIR)$(includedir)/msvcrt $(DESTDIR)$(includedir)
129

130 131 132 133 134 135 136
# Rules for API documentation

install-manpages:: manpages
	for i in documentation/man$(api_manext)/*.$(api_manext); do $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/$$i; done

.PHONY: install-manpages

137 138
# Dependencies between directories

139
# dependencies needed to build any dll or program
140
__tooldeps__: libs/port libs/wpp
141
__builddeps__: __tooldeps__ libs/wine include po
142
.PHONY: depend dummy check test testclean crosstest __tooldeps__ __builddeps__
143

144
dummy:
145 146
loader: libs/port libs/wine tools
server: libs/port libs/wine tools include
147
fonts: tools/sfnt2fon
148
include: tools tools/widl
149
libs/wine tools: libs/port
150
tools/sfnt2fon tools/wmc tools/wrc: tools
151
tools/widl tools/wmc tools/wrc: libs/wpp
152
libs/port libs/wine libs/wpp: include/config.h
153

154 155
# Misc rules

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

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

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