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 | bb26242 | 2010-02-08 20:43:03 +0100 | [diff] [blame] | 21 | # Sub-directories that don't have a makefile |
Alexandre Julliard | 80d12c3 | 2011-01-01 17:49:38 +0100 | [diff] [blame] | 22 | EXTRASUBDIRS = \ |
| 23 | dlls \ |
| 24 | libs \ |
Alexandre Julliard | dcf5548 | 2011-01-04 11:20:30 +0100 | [diff] [blame] | 25 | po \ |
Alexandre Julliard | 80d12c3 | 2011-01-01 17:49:38 +0100 | [diff] [blame] | 26 | programs |
Alexandre Julliard | bb26242 | 2010-02-08 20:43:03 +0100 | [diff] [blame] | 27 | |
Alexandre Julliard | 2fb3021 | 2010-03-26 09:24:33 +0100 | [diff] [blame] | 28 | # Destination directories for make install |
Alexandre Julliard | bf8f435 | 2011-07-25 11:39:42 +0200 | [diff] [blame] | 29 | INSTALLDIRS = \ |
| 30 | $(DESTDIR)$(bindir) \ |
| 31 | $(DESTDIR)$(dlldir) \ |
Alexandre Julliard | 41107a9 | 2011-08-01 13:40:19 +0200 | [diff] [blame] | 32 | $(DESTDIR)$(fakedlldir) \ |
| 33 | $(DESTDIR)$(mandir)/man$(prog_manext) |
Alexandre Julliard | 2fb3021 | 2010-03-26 09:24:33 +0100 | [diff] [blame] | 34 | |
Alexandre Julliard | 7d020c9 | 2010-02-03 13:12:12 +0100 | [diff] [blame] | 35 | all: wine |
Pavel Roskin | 74197cb | 1999-07-31 19:25:22 +0000 | [diff] [blame] | 36 | @echo "Wine build complete." |
Alexandre Julliard | 808cb04 | 1995-08-17 17:11:36 +0000 | [diff] [blame] | 37 | |
Patrik Stridvall | 385dc18 | 1999-09-29 10:24:19 +0000 | [diff] [blame] | 38 | WINAPI_CHECK_EXTRA_FLAGS = --global |
| 39 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 40 | @MAKE_RULES@ |
| 41 | |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 42 | # Rules for re-running configure |
| 43 | |
Alexandre Julliard | 5ea4e5b | 2006-09-14 09:41:21 +0200 | [diff] [blame] | 44 | config.status: configure |
Alexandre Julliard | 397e569 | 2006-09-14 09:41:33 +0200 | [diff] [blame] | 45 | @./config.status --recheck |
Marcus Meissner | ca004e5 | 1999-01-03 12:26:22 +0000 | [diff] [blame] | 46 | |
Alexandre Julliard | c4704c2 | 2006-09-22 09:33:00 +0200 | [diff] [blame] | 47 | include/config.h: include/stamp-h |
| 48 | include/stamp-h: include/config.h.in config.status |
| 49 | @./config.status include/config.h include/stamp-h |
| 50 | |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 51 | # Rules for cleaning |
| 52 | |
Alexandre Julliard | 3cc14dc | 2010-03-25 22:12:12 +0100 | [diff] [blame] | 53 | .PHONY: __clean__ |
| 54 | clean:: __clean__ |
Alexandre Julliard | 93f0339 | 2010-02-10 20:27:52 +0100 | [diff] [blame] | 55 | distclean:: clean |
Alexandre Julliard | 39b4ba2 | 2010-03-25 22:13:03 +0100 | [diff] [blame] | 56 | $(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] | 57 | $(RM) -r autom4te.cache |
| 58 | |
Alexandre Julliard | bb86a35 | 2011-07-09 17:46:54 +0200 | [diff] [blame] | 59 | # Rules for uninstalling |
| 60 | |
| 61 | .PHONY: __uninstall__ |
| 62 | uninstall:: __uninstall__ |
| 63 | -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir) |
| 64 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 65 | # Dependencies between directories |
| 66 | |
Alexandre Julliard | 4d3b020 | 2010-02-08 20:47:07 +0100 | [diff] [blame] | 67 | # dependencies needed to build any dll or program |
Alexandre Julliard | 6dbe7a0 | 2010-03-25 11:51:24 +0100 | [diff] [blame] | 68 | __tooldeps__: libs/port libs/wine libs/wpp |
Alexandre Julliard | faa7eae | 2010-07-26 12:38:11 +0200 | [diff] [blame] | 69 | __builddeps__: __tooldeps__ include |
| 70 | .PHONY: test crosstest __tooldeps__ __builddeps__ |
Alexandre Julliard | bb26242 | 2010-02-08 20:43:03 +0100 | [diff] [blame] | 71 | |
Alexandre Julliard | 4d3b020 | 2010-02-08 20:47:07 +0100 | [diff] [blame] | 72 | loader server: libs/port libs/wine tools |
| 73 | fonts: tools |
Alexandre Julliard | 9f93b5f | 2011-05-13 10:45:02 +0200 | [diff] [blame] | 74 | include: tools tools/widl |
Alexandre Julliard | 6dbe7a0 | 2010-03-25 11:51:24 +0100 | [diff] [blame] | 75 | libs/wine: libs/port |
Alexandre Julliard | 4d3b020 | 2010-02-08 20:47:07 +0100 | [diff] [blame] | 76 | tools/wmc tools/wrc: tools |
| 77 | tools tools/wmc tools/wrc: libs/wine |
| 78 | tools/widl tools/wmc tools/wrc: libs/wpp |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 79 | |
Alexandre Julliard | 40977bf | 2010-11-11 12:24:46 +0100 | [diff] [blame] | 80 | dlls/shell32/Makefile dlls/shell32/__depend__: dlls/shell32/AUTHORS |
| 81 | |
Alexandre Julliard | 84fd1f5 | 2011-05-10 11:59:43 +0200 | [diff] [blame] | 82 | $(MAKEDEP): include/config.h |
Alexandre Julliard | b860c4a | 2009-09-01 22:36:13 +0200 | [diff] [blame] | 83 | @cd $(TOOLSDIR)/tools && $(MAKE) makedep$(TOOLSEXT) |
Alexandre Julliard | 4746120 | 2004-09-21 00:35:02 +0000 | [diff] [blame] | 84 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 85 | # Misc rules |
| 86 | |
Alexandre Julliard | c360ee0 | 2011-11-22 18:20:05 +0100 | [diff] [blame] | 87 | TAGSFLAGS = --langmap='c:+.idl.l.rh,make:(Make*.in)' |
| 88 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 89 | TAGS etags: |
Alexandre Julliard | 7b28982 | 2007-03-27 21:45:54 +0200 | [diff] [blame] | 90 | $(RM) TAGS |
Alexandre Julliard | c360ee0 | 2011-11-22 18:20:05 +0100 | [diff] [blame] | 91 | (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs etags -a $(TAGSFLAGS) |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 92 | |
Christoph Frick | db9692d | 2003-01-05 01:05:13 +0000 | [diff] [blame] | 93 | tags ctags: |
Alexandre Julliard | 7b28982 | 2007-03-27 21:45:54 +0200 | [diff] [blame] | 94 | $(RM) tags |
Alexandre Julliard | c360ee0 | 2011-11-22 18:20:05 +0100 | [diff] [blame] | 95 | (test -d .git && git ls-files || find -L $(top_srcdir) -name '*.[ch]' -print) | xargs ctags -a $(TAGSFLAGS) |