blob: 72161fc3d529618c074a5fd638585ce5db699044 [file] [log] [blame]
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001# This Makefile understands the following targets:
2#
Alexandre Julliard13b0c092002-01-10 03:30:21 +00003# 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
Detlef Riekenberg79d72ce2005-08-03 19:15:03 +00008# crosstest: build tests as native windows applications (requires MinGW)
Alexandre Julliardf673b712002-06-14 23:48:27 +00009# install-lib: install libraries needed to run applications
10# install-dev: install development environment
Alexandre Julliard13b0c092002-01-10 03:30:21 +000011# install: install everything
12# uninstall: uninstall everything
13# depend: create the dependencies
Detlef Riekenberg5e5a8df2006-06-21 21:43:00 +020014# ctags: create a tags file for vim and others.
Alexandre Julliard13b0c092002-01-10 03:30:21 +000015# etags: create a TAGS file for Emacs.
16# manpages: compile manpages for Wine API
Jon Griffiths35345f22003-03-15 19:48:34 +000017# htmlpages: compile html pages for Wine API
Hans Leidekker14a92162003-04-14 21:35:14 +000018# sgmlpages: compile sgml source for the Wine API Guide
Stefan Stranzc89c2dd2009-06-05 20:57:24 -060019# xmlpages: compile xml source for the Wine API Guide
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +000020
Alexandre Julliardbb262422010-02-08 20:43:03 +010021# Sub-directories that don't have a makefile
Alexandre Julliard80d12c32011-01-01 17:49:38 +010022EXTRASUBDIRS = \
23 dlls \
24 libs \
Alexandre Julliarddcf55482011-01-04 11:20:30 +010025 po \
Alexandre Julliard80d12c32011-01-01 17:49:38 +010026 programs
Alexandre Julliardbb262422010-02-08 20:43:03 +010027
Alexandre Julliard2fb30212010-03-26 09:24:33 +010028# Destination directories for make install
Alexandre Julliardbf8f4352011-07-25 11:39:42 +020029INSTALLDIRS = \
30 $(DESTDIR)$(bindir) \
31 $(DESTDIR)$(dlldir) \
Alexandre Julliard41107a92011-08-01 13:40:19 +020032 $(DESTDIR)$(fakedlldir) \
33 $(DESTDIR)$(mandir)/man$(prog_manext)
Alexandre Julliard2fb30212010-03-26 09:24:33 +010034
Alexandre Julliard7d020c92010-02-03 13:12:12 +010035all: wine
Pavel Roskin74197cb1999-07-31 19:25:22 +000036 @echo "Wine build complete."
Alexandre Julliard808cb041995-08-17 17:11:36 +000037
Patrik Stridvall385dc181999-09-29 10:24:19 +000038WINAPI_CHECK_EXTRA_FLAGS = --global
39
Alexandre Julliard641ee761997-08-04 16:34:36 +000040@MAKE_RULES@
41
Alexandre Julliard93f03392010-02-10 20:27:52 +010042# Rules for re-running configure
43
Alexandre Julliard5ea4e5b2006-09-14 09:41:21 +020044config.status: configure
Alexandre Julliard397e5692006-09-14 09:41:33 +020045 @./config.status --recheck
Marcus Meissnerca004e51999-01-03 12:26:22 +000046
Alexandre Julliardc4704c22006-09-22 09:33:00 +020047include/config.h: include/stamp-h
48include/stamp-h: include/config.h.in config.status
49 @./config.status include/config.h include/stamp-h
50
Alexandre Julliard93f03392010-02-10 20:27:52 +010051# Rules for cleaning
52
Alexandre Julliard3cc14dc2010-03-25 22:12:12 +010053.PHONY: __clean__
54clean:: __clean__
Alexandre Julliard93f03392010-02-10 20:27:52 +010055distclean:: clean
Alexandre Julliard39b4ba22010-03-25 22:13:03 +010056 $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp
Alexandre Julliard93f03392010-02-10 20:27:52 +010057 $(RM) -r autom4te.cache
58
Alexandre Julliardbb86a352011-07-09 17:46:54 +020059# Rules for uninstalling
60
61.PHONY: __uninstall__
62uninstall:: __uninstall__
63 -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
64
Alexandre Julliard2fa4f762000-10-31 00:20:51 +000065# Dependencies between directories
66
Alexandre Julliard4d3b0202010-02-08 20:47:07 +010067# dependencies needed to build any dll or program
Alexandre Julliard6dbe7a02010-03-25 11:51:24 +010068__tooldeps__: libs/port libs/wine libs/wpp
Alexandre Julliardfaa7eae2010-07-26 12:38:11 +020069__builddeps__: __tooldeps__ include
70.PHONY: test crosstest __tooldeps__ __builddeps__
Alexandre Julliardbb262422010-02-08 20:43:03 +010071
Alexandre Julliard4d3b0202010-02-08 20:47:07 +010072loader server: libs/port libs/wine tools
73fonts: tools
Alexandre Julliard9f93b5f2011-05-13 10:45:02 +020074include: tools tools/widl
Alexandre Julliard6dbe7a02010-03-25 11:51:24 +010075libs/wine: libs/port
Alexandre Julliard4d3b0202010-02-08 20:47:07 +010076tools/wmc tools/wrc: tools
77tools tools/wmc tools/wrc: libs/wine
78tools/widl tools/wmc tools/wrc: libs/wpp
Alexandre Julliard2fa4f762000-10-31 00:20:51 +000079
Alexandre Julliard40977bf2010-11-11 12:24:46 +010080dlls/shell32/Makefile dlls/shell32/__depend__: dlls/shell32/AUTHORS
81
Alexandre Julliard84fd1f52011-05-10 11:59:43 +020082$(MAKEDEP): include/config.h
Alexandre Julliardb860c4a2009-09-01 22:36:13 +020083 @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT)
Alexandre Julliard47461202004-09-21 00:35:02 +000084
Alexandre Julliardf673b712002-06-14 23:48:27 +000085# Misc rules
86
Alexandre Julliardc360ee02011-11-22 18:20:05 +010087TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)'
88
Alexandre Julliard641ee761997-08-04 16:34:36 +000089TAGS etags:
Alexandre Julliard7b289822007-03-27 21:45:54 +020090 $(RM) TAGS
Alexandre Julliardc360ee02011-11-22 18:20:05 +010091 (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS)
Alexandre Julliard641ee761997-08-04 16:34:36 +000092
Christoph Frickdb9692d2003-01-05 01:05:13 +000093tags ctags:
Alexandre Julliard7b289822007-03-27 21:45:54 +020094 $(RM) tags
Alexandre Julliardc360ee02011-11-22 18:20:05 +010095 (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS)