Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 1 | # This Makefile understands the following targets: |
| 2 | # |
Alexandre Julliard | 13b0c09 | 2002-01-10 03:30:21 +0000 | [diff] [blame] | 3 | # 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 Riekenberg | 79d72ce | 2005-08-03 19:15:03 +0000 | [diff] [blame] | 8 | # crosstest: build tests as native windows applications (requires MinGW) |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 9 | # install-lib: install libraries needed to run applications |
| 10 | # install-dev: install development environment |
Alexandre Julliard | 13b0c09 | 2002-01-10 03:30:21 +0000 | [diff] [blame] | 11 | # install: install everything |
| 12 | # uninstall: uninstall everything |
| 13 | # depend: create the dependencies |
Detlef Riekenberg | 5e5a8df | 2006-06-21 21:43:00 +0200 | [diff] [blame] | 14 | # ctags: create a tags file for vim and others. |
Alexandre Julliard | 13b0c09 | 2002-01-10 03:30:21 +0000 | [diff] [blame] | 15 | # etags: create a TAGS file for Emacs. |
| 16 | # manpages: compile manpages for Wine API |
Jon Griffiths | 35345f2 | 2003-03-15 19:48:34 +0000 | [diff] [blame] | 17 | # htmlpages: compile html pages for Wine API |
Hans Leidekker | 14a9216 | 2003-04-14 21:35:14 +0000 | [diff] [blame] | 18 | # sgmlpages: compile sgml source for the Wine API Guide |
Stefan Stranz | c89c2dd | 2009-06-05 20:57:24 -0600 | [diff] [blame] | 19 | # xmlpages: compile xml source for the Wine API Guide |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 20 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 21 | TOPSRCDIR = @top_srcdir@ |
| 22 | TOPOBJDIR = . |
| 23 | SRCDIR = @srcdir@ |
| 24 | VPATH = @srcdir@ |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 25 | |
Alexandre Julliard | bb26242 | 2010-02-08 20:43:03 +0100 | [diff] [blame] | 26 | # Sub-directories that don't have a makefile |
Alexandre Julliard | 718ea42 | 2010-03-26 09:29:10 +0100 | [diff] [blame] | 27 | EXTRASUBDIRS = dlls libs programs |
Alexandre Julliard | bb26242 | 2010-02-08 20:43:03 +0100 | [diff] [blame] | 28 | |
Alexandre Julliard | 2fb3021 | 2010-03-26 09:24:33 +0100 | [diff] [blame] | 29 | # Destination directories for make install |
| 30 | INSTALLDIRS = $(DESTDIR)$(bindir) |
| 31 | |
Alexandre Julliard | 7d020c9 | 2010-02-03 13:12:12 +0100 | [diff] [blame] | 32 | all: wine |
Pavel Roskin | 74197cb | 1999-07-31 19:25:22 +0000 | [diff] [blame] | 33 | @echo "Wine build complete." |
Alexandre Julliard | 808cb04 | 1995-08-17 17:11:36 +0000 | [diff] [blame] | 34 | |
Patrik Stridvall | 385dc18 | 1999-09-29 10:24:19 +0000 | [diff] [blame] | 35 | WINAPI_CHECK_EXTRA_FLAGS = --global |
| 36 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 37 | @MAKE_RULES@ |
| 38 | |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 39 | # Rules for re-running configure |
| 40 | |
Alexandre Julliard | 69b032b | 2008-03-20 13:01:31 +0100 | [diff] [blame] | 41 | $(SRCDIR)/configure: @MAINTAINER_MODE@ configure.ac aclocal.m4 |
| 42 | cd $(SRCDIR) && autoconf --warnings=all |
| 43 | |
| 44 | $(SRCDIR)/include/config.h.in: @MAINTAINER_MODE@ include/stamp-h.in |
| 45 | $(SRCDIR)/include/stamp-h.in: configure.ac aclocal.m4 |
| 46 | cd $(SRCDIR) && autoheader --warnings=all |
| 47 | @echo timestamp > $@ |
| 48 | |
Alexandre Julliard | 5ea4e5b | 2006-09-14 09:41:21 +0200 | [diff] [blame] | 49 | config.status: configure |
Alexandre Julliard | 397e569 | 2006-09-14 09:41:33 +0200 | [diff] [blame] | 50 | @./config.status --recheck |
Marcus Meissner | ca004e5 | 1999-01-03 12:26:22 +0000 | [diff] [blame] | 51 | |
Alexandre Julliard | c4704c2 | 2006-09-22 09:33:00 +0200 | [diff] [blame] | 52 | include/config.h: include/stamp-h |
| 53 | include/stamp-h: include/config.h.in config.status |
| 54 | @./config.status include/config.h include/stamp-h |
| 55 | |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 56 | # Rules for cleaning |
| 57 | |
Alexandre Julliard | 3cc14dc | 2010-03-25 22:12:12 +0100 | [diff] [blame] | 58 | .PHONY: __clean__ |
| 59 | clean:: __clean__ |
| 60 | $(RM) tools/makedep$(EXEEXT) |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 61 | |
| 62 | distclean:: clean |
Alexandre Julliard | 39b4ba2 | 2010-03-25 22:13:03 +0100 | [diff] [blame] | 63 | $(RM) config.* configure.lineno TAGS tags include/config.h include/stamp-h Makefile Make.tmp |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 64 | $(RM) -r autom4te.cache |
| 65 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 66 | # Dependencies between directories |
| 67 | |
Alexandre Julliard | 4d3b020 | 2010-02-08 20:47:07 +0100 | [diff] [blame] | 68 | # dependencies needed to build any dll or program |
Alexandre Julliard | 6dbe7a0 | 2010-03-25 11:51:24 +0100 | [diff] [blame] | 69 | __tooldeps__: libs/port libs/wine libs/wpp |
Alexandre Julliard | e55ff7f | 2010-03-25 11:02:52 +0100 | [diff] [blame] | 70 | __builddeps__ __buildcrossdeps__: __tooldeps__ include |
Alexandre Julliard | eab7efd | 2010-03-25 21:42:54 +0100 | [diff] [blame] | 71 | .PHONY: test crosstest __tooldeps__ __builddeps__ __buildcrossdeps__ |
Alexandre Julliard | bb26242 | 2010-02-08 20:43:03 +0100 | [diff] [blame] | 72 | |
Alexandre Julliard | 4d3b020 | 2010-02-08 20:47:07 +0100 | [diff] [blame] | 73 | loader server: libs/port libs/wine tools |
| 74 | fonts: tools |
| 75 | include: tools/widl |
Alexandre Julliard | 6dbe7a0 | 2010-03-25 11:51:24 +0100 | [diff] [blame] | 76 | libs/wine: libs/port |
Alexandre Julliard | 4d3b020 | 2010-02-08 20:47:07 +0100 | [diff] [blame] | 77 | tools/wmc tools/wrc: tools |
| 78 | tools tools/wmc tools/wrc: libs/wine |
| 79 | tools/widl tools/wmc tools/wrc: libs/wpp |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 80 | |
Alexandre Julliard | 5496636 | 2010-02-08 20:47:41 +0100 | [diff] [blame] | 81 | $(MAKEDEP): include/config.h tools/Makefile |
Alexandre Julliard | b860c4a | 2009-09-01 22:36:13 +0200 | [diff] [blame] | 82 | @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT) |
Alexandre Julliard | 4746120 | 2004-09-21 00:35:02 +0000 | [diff] [blame] | 83 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 84 | # Misc rules |
| 85 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 86 | TAGS etags: |
Alexandre Julliard | 7b28982 | 2007-03-27 21:45:54 +0200 | [diff] [blame] | 87 | $(RM) TAGS |
Alexandre Julliard | e43004a | 2008-07-07 12:17:00 +0200 | [diff] [blame] | 88 | (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs etags -a |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 89 | |
Christoph Frick | db9692d | 2003-01-05 01:05:13 +0000 | [diff] [blame] | 90 | tags ctags: |
Alexandre Julliard | 7b28982 | 2007-03-27 21:45:54 +0200 | [diff] [blame] | 91 | $(RM) tags |
Alexandre Julliard | e43004a | 2008-07-07 12:17:00 +0200 | [diff] [blame] | 92 | (test -d .git && git ls-files '*.[chly]' '*.idl' || find -L $(TOPSRCDIR) -name '*.[ch]' -print) | xargs ctags -a |