Makefile.in 4.55 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 9
# install-lib:     install libraries needed to run applications
# install-dev:     install development environment
10 11 12
# install:         install everything
# uninstall:       uninstall everything
# depend:          create the dependencies
13
# ctags:           create a tags file for vim and others.
14 15
# etags:           create a TAGS file for Emacs.
# manpages:        compile manpages for Wine API
16
# htmlpages:       compile html pages for Wine API
Hans Leidekker's avatar
Hans Leidekker committed
17
# sgmlpages:       compile sgml source for the Wine API Guide
18
# xmlpages:        compile xml source for the Wine API Guide
Alexandre Julliard's avatar
Alexandre Julliard committed
19

20 21 22 23 24 25 26 27 28
# 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@
29
includedir      = @includedir@
30
fontdir         = ${datadir}/wine/fonts
31
nlsdir          = ${datadir}/wine/nls
32
dlldir          = ${libdir}/wine
33 34 35 36 37 38 39 40 41 42
top_srcdir      = @top_srcdir@
top_builddir    = @top_builddir@
srcdir          = @srcdir@
SHELL           = /bin/sh
CC              = @CC@
CXX             = @CXX@
CPPBIN          = @CPPBIN@
CROSSCC         = @CROSSCC@
CFLAGS          = @CFLAGS@
CPPFLAGS        = @CPPFLAGS@
43
CROSSCFLAGS     = @CROSSCFLAGS@
44
CROSSLDFLAGS    = @CROSSLDFLAGS@
45
EXTRACFLAGS     = @EXTRACFLAGS@
46
EXTRACROSSCFLAGS= @EXTRACROSSCFLAGS@
47
MSVCRTFLAGS     = @MSVCRTFLAGS@
48
TARGETFLAGS     = @TARGETFLAGS@
49
LDDLLFLAGS      = @LDDLLFLAGS@
50
LDEXECFLAGS     = @LDEXECFLAGS@
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
LIBS            = @LIBS@
BISON           = @BISON@
FLEX            = @FLEX@
EXEEXT          = @EXEEXT@
TOOLSEXT        = @TOOLSEXT@
DLLTOOL         = @DLLTOOL@
AR              = @AR@
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@
72
SUBDIRS         = @SUBDIRS@
73 74
RUNTESTFLAGS    = -q -P wine
MAKEDEP         = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
75
DELAYLOADFLAG   = @DELAYLOADFLAG@
76
PACKAGE_VERSION = @PACKAGE_VERSION@
77
SED_CMD         = LC_ALL=C sed -e 's,@bindir\@,${bindir},g' -e 's,@dlldir\@,${dlldir},g' -e 's,@srcdir\@,${srcdir},g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' -e 's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g'
78 79 80
LDRPATH_INSTALL = @LDRPATH_INSTALL@
LDRPATH_LOCAL   = @LDRPATH_LOCAL@
api_manext      = 3w
81 82
WINELOADER_PROGRAMS = @WINELOADER_PROGRAMS@
WINELOADER_DEPENDS  = @WINELOADER_DEPENDS@
83
WINELOADER_LDFLAGS  = @WINELOADER_LDFLAGS@
84
WINEPRELOADER_LDFLAGS = @WINEPRELOADER_LDFLAGS@
85 86 87
LIBWINE_SHAREDLIB   = @LIBWINE_SHAREDLIB@
LIBWINE_LDFLAGS     = @LIBWINE_LDFLAGS@
LIBWINE_DEPENDS     = @LIBWINE_DEPENDS@
88
DISABLED_SUBDIRS    = @DISABLED_SUBDIRS@
89
CONFIGURE_TARGETS   = @CONFIGURE_TARGETS@
90 91
TOP_INSTALL_LIB     = @TOP_INSTALL_LIB@
TOP_INSTALL_DEV     = @TOP_INSTALL_DEV@
92 93 94
@ALL_VARS_RULES@
@SET_MAKE@

95
all: wine
96
	@echo "Wine build complete."
Alexandre Julliard's avatar
Alexandre Julliard committed
97

98 99
# Rules for re-running configure

100
config.status: $(srcdir)/configure
101
	@./config.status --recheck
102

103
include/config.h: include/stamp-h
104
include/stamp-h: $(srcdir)/include/config.h.in config.status
105 106
	@./config.status include/config.h include/stamp-h

107 108 109
# Rules for cleaning

distclean:: clean
110
	rm -rf autom4te.cache documentation/html documentation/api-guide documentation/api-guide-xml documentation/man$(api_manext)
111

112 113 114
# Rules for API documentation

install-manpages:: manpages
115
	for i in documentation/man$(api_manext)/*.$(api_manext); do $(top_srcdir)/tools/install-sh -m 644 $(INSTALL_DATA_FLAGS) $$i $(DESTDIR)$(mandir)/$$i; done
116 117 118

.PHONY: install-manpages

119 120
# Dependencies between directories

121
# dependencies needed to build any dll or program
122
__tooldeps__: libs/wpp
123
__builddeps__: __tooldeps__ libs/wine include po
124
.PHONY: depend dummy install install-lib install-dev
125

126
dummy:
127
server: include
128
libs/port libs/wine libs/wpp: include/config.h
129

130 131
# Misc rules

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

Alexandre Julliard's avatar
Alexandre Julliard committed
134
TAGS etags:
135
	rm -f TAGS
136
	(test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS)
Alexandre Julliard's avatar
Alexandre Julliard committed
137

138
tags ctags:
139
	rm -f tags
140
	(test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)