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 |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 19 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 20 | # Directories |
| 21 | |
| 22 | TOPSRCDIR = @top_srcdir@ |
| 23 | TOPOBJDIR = . |
| 24 | SRCDIR = @srcdir@ |
| 25 | VPATH = @srcdir@ |
Alexandre Julliard | 318f4ce | 2000-01-31 05:02:49 +0000 | [diff] [blame] | 26 | LIBEXT = @LIBEXT@ |
Alexandre Julliard | 3536316 | 2002-05-22 21:32:49 +0000 | [diff] [blame] | 27 | MODULE = none |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 28 | |
Huw Davies | 00acb5f | 2004-08-17 22:33:14 +0000 | [diff] [blame] | 29 | FONTSSUBDIRS = @FONTSSUBDIRS@ |
| 30 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 31 | # Sub-directories to run make depend/clean into |
Alexandre Julliard | c53ceba | 2000-04-09 18:19:59 +0000 | [diff] [blame] | 32 | SUBDIRS = \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 33 | dlls \ |
| 34 | documentation \ |
Huw Davies | 00acb5f | 2004-08-17 22:33:14 +0000 | [diff] [blame] | 35 | fonts \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 36 | include \ |
Alexandre Julliard | 6a9fe36 | 2003-03-19 22:09:16 +0000 | [diff] [blame] | 37 | libs \ |
Alexandre Julliard | 357c740 | 2003-11-06 01:17:56 +0000 | [diff] [blame] | 38 | loader \ |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 39 | programs \ |
| 40 | server \ |
Alexandre Julliard | 7ab9a71 | 2003-03-21 05:06:48 +0000 | [diff] [blame] | 41 | tools |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 42 | |
| 43 | # Sub-directories to install for install-lib |
| 44 | INSTALLLIBSUBDIRS = \ |
Huw Davies | 00acb5f | 2004-08-17 22:33:14 +0000 | [diff] [blame] | 45 | $(FONTSSUBDIRS) \ |
Alexandre Julliard | 357c740 | 2003-11-06 01:17:56 +0000 | [diff] [blame] | 46 | loader \ |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 47 | programs \ |
Alexandre Julliard | 7ab9a71 | 2003-03-21 05:06:48 +0000 | [diff] [blame] | 48 | server |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 49 | |
| 50 | # Sub-directories to install for install-dev |
Alexandre Julliard | beac194 | 2005-03-02 12:18:55 +0000 | [diff] [blame] | 51 | INSTALLDEVSUBDIRS = include |
Patrik Stridvall | a9be64e | 1999-07-31 17:39:44 +0000 | [diff] [blame] | 52 | |
Alexandre Julliard | ada5e65 | 2002-12-12 22:03:14 +0000 | [diff] [blame] | 53 | # Sub-directories to install for both install-lib and install-dev |
Alexandre Julliard | beac194 | 2005-03-02 12:18:55 +0000 | [diff] [blame] | 54 | INSTALLBOTHSUBDIRS = dlls libs tools |
Alexandre Julliard | ada5e65 | 2002-12-12 22:03:14 +0000 | [diff] [blame] | 55 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 56 | INSTALLSUBDIRS = $(INSTALLDEVSUBDIRS) $(INSTALLLIBSUBDIRS) |
| 57 | |
Alexandre Julliard | d7c606d | 2002-04-02 02:58:45 +0000 | [diff] [blame] | 58 | # Sub-directories to run make test into |
Alexandre Julliard | 15c52a7 | 2006-04-11 14:41:39 +0200 | [diff] [blame] | 59 | TESTSUBDIRS = dlls |
Alexandre Julliard | d7c606d | 2002-04-02 02:58:45 +0000 | [diff] [blame] | 60 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 61 | all: Make.rules wine |
Pavel Roskin | 74197cb | 1999-07-31 19:25:22 +0000 | [diff] [blame] | 62 | @echo "Wine build complete." |
Alexandre Julliard | 808cb04 | 1995-08-17 17:11:36 +0000 | [diff] [blame] | 63 | |
Patrik Stridvall | 385dc18 | 1999-09-29 10:24:19 +0000 | [diff] [blame] | 64 | WINAPI_CHECK_EXTRA_FLAGS = --global |
| 65 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 66 | @MAKE_RULES@ |
| 67 | |
Marcus Meissner | ca004e5 | 1999-01-03 12:26:22 +0000 | [diff] [blame] | 68 | Make.rules: Make.rules.in configure |
| 69 | @echo $? is newer than 'Make.rules', please rerun ./configure! |
| 70 | @exit 1 |
| 71 | |
Alexandre Julliard | 3536316 | 2002-05-22 21:32:49 +0000 | [diff] [blame] | 72 | wine: $(WINEWRAPPER) |
| 73 | $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 74 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 75 | # Installation rules |
| 76 | |
Alexandre Julliard | 1d8d017 | 2002-08-02 19:34:21 +0000 | [diff] [blame] | 77 | install-aclocal: dummy |
Mike Frysinger | 5392844 | 2006-02-14 13:51:38 +0100 | [diff] [blame] | 78 | $(MKINSTALLDIRS) $(DESTDIR)$(datadir)/aclocal |
| 79 | $(INSTALL_DATA) $(SRCDIR)/aclocal.m4 $(DESTDIR)$(datadir)/aclocal/wine.m4 |
Alexandre Julliard | 1d8d017 | 2002-08-02 19:34:21 +0000 | [diff] [blame] | 80 | |
Alexandre Julliard | ada5e65 | 2002-12-12 22:03:14 +0000 | [diff] [blame] | 81 | install-lib:: $(INSTALLLIBSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-lib__) |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 82 | |
Alexandre Julliard | ada5e65 | 2002-12-12 22:03:14 +0000 | [diff] [blame] | 83 | install-dev:: $(INSTALLDEVSUBDIRS:%=%/__install__) $(INSTALLBOTHSUBDIRS:%=%/__install-dev__) install-aclocal |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 84 | |
Alexandre Julliard | ada5e65 | 2002-12-12 22:03:14 +0000 | [diff] [blame] | 85 | install:: install-lib install-dev install-aclocal |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 86 | |
Alexandre Julliard | ada5e65 | 2002-12-12 22:03:14 +0000 | [diff] [blame] | 87 | uninstall:: $(INSTALLBOTHSUBDIRS:%=%/__uninstall__) |
Mike Frysinger | 5392844 | 2006-02-14 13:51:38 +0100 | [diff] [blame] | 88 | $(RM) $(DESTDIR)$(datadir)/aclocal/wine.m4 |
| 89 | -rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(datadir)/aclocal |
Alexandre Julliard | 1d8d017 | 2002-08-02 19:34:21 +0000 | [diff] [blame] | 90 | |
Alexandre Julliard | 2d1c790 | 2003-03-22 20:40:48 +0000 | [diff] [blame] | 91 | .PHONY: install-aclocal |
Alexandre Julliard | c1bfca0 | 2002-03-20 22:19:06 +0000 | [diff] [blame] | 92 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 93 | # Dependencies between directories |
| 94 | |
Huw Davies | 00acb5f | 2004-08-17 22:33:14 +0000 | [diff] [blame] | 95 | all: $(INSTALLSUBDIRS) $(INSTALLBOTHSUBDIRS) |
Alexandre Julliard | 233766a | 2004-09-20 21:48:42 +0000 | [diff] [blame] | 96 | dlls: include libs tools |
| 97 | fonts loader server: libs tools |
| 98 | programs: dlls include libs tools |
| 99 | include: libs tools |
Alexandre Julliard | 2d1c790 | 2003-03-22 20:40:48 +0000 | [diff] [blame] | 100 | tools: libs |
Alexandre Julliard | 000c13a | 2000-11-09 20:31:18 +0000 | [diff] [blame] | 101 | |
Francois Gouget | bff8cd1 | 2005-02-18 20:03:32 +0000 | [diff] [blame] | 102 | dlls/__install-lib__ dlls/__install-dev__: libs tools include |
Alexandre Julliard | 233766a | 2004-09-20 21:48:42 +0000 | [diff] [blame] | 103 | include/__install__: include libs tools |
Alexandre Julliard | 2d1c790 | 2003-03-22 20:40:48 +0000 | [diff] [blame] | 104 | libs/__install-lib__ libs/__install-dev__: libs |
Huw Davies | 00acb5f | 2004-08-17 22:33:14 +0000 | [diff] [blame] | 105 | fonts/__install__ loader/__install__ server/__install__: libs tools |
Francois Gouget | bff8cd1 | 2005-02-18 20:03:32 +0000 | [diff] [blame] | 106 | programs/__install__: libs tools include dlls/__install-lib__ |
Alexandre Julliard | beac194 | 2005-03-02 12:18:55 +0000 | [diff] [blame] | 107 | tools/__install-lib__ tools/__install-dev__: tools |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 108 | |
Alexandre Julliard | 3a3307d | 2004-10-07 03:12:44 +0000 | [diff] [blame] | 109 | $(SUBDIRS:%=%/__depend__): tools include |
Alexandre Julliard | 4746120 | 2004-09-21 00:35:02 +0000 | [diff] [blame] | 110 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 111 | # Test rules |
Patrik Stridvall | a9be64e | 1999-07-31 17:39:44 +0000 | [diff] [blame] | 112 | |
Alexandre Julliard | edeee89 | 2002-08-09 01:22:40 +0000 | [diff] [blame] | 113 | checklink:: $(TESTSUBDIRS:%=%/__checklink__) |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 114 | |
Hans Leidekker | 954a4f8 | 2004-10-05 04:10:27 +0000 | [diff] [blame] | 115 | check test:: $(TESTSUBDIRS:%=%/__test__) |
| 116 | $(TESTSUBDIRS:%=%/__test__): wine |
Alexandre Julliard | 13b0c09 | 2002-01-10 03:30:21 +0000 | [diff] [blame] | 117 | |
Hans Leidekker | 954a4f8 | 2004-10-05 04:10:27 +0000 | [diff] [blame] | 118 | crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) |
| 119 | $(TESTSUBDIRS:%=%/__crosstest__): tools include |
Alexandre Julliard | c3c587e | 2002-09-06 19:46:00 +0000 | [diff] [blame] | 120 | |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 121 | # Misc rules |
| 122 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 123 | TAGS etags: |
Detlef Riekenberg | 0076e33 | 2006-05-21 21:54:48 +0200 | [diff] [blame] | 124 | find $(TOPSRCDIR)/ -name '*.[ch]' -print | etags - |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 125 | |
Christoph Frick | db9692d | 2003-01-05 01:05:13 +0000 | [diff] [blame] | 126 | tags ctags: |
Detlef Riekenberg | 0076e33 | 2006-05-21 21:54:48 +0200 | [diff] [blame] | 127 | find $(TOPSRCDIR)/ -name '*.[ch]' -print | ctags --c-types=+px -L - |
Christoph Frick | db9692d | 2003-01-05 01:05:13 +0000 | [diff] [blame] | 128 | |
Alexandre Julliard | 078eb1f | 2005-06-15 18:12:15 +0000 | [diff] [blame] | 129 | manpages htmlpages sgmlpages: |
Alexandre Julliard | 5012c17 | 2006-08-07 13:54:09 +0200 | [diff] [blame^] | 130 | @cd documentation && $(MAKE) $@ |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 131 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 132 | clean:: |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 133 | $(RM) wine |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 134 | |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 135 | distclean: clean |
Alexandre Julliard | b7edbe6 | 2005-09-02 12:28:37 +0000 | [diff] [blame] | 136 | $(RM) config.* configure.lineno TAGS tags Make.rules dlls/Makedll.rules dlls/Makeimplib.rules dlls/Maketest.rules programs/Makeprog.rules libs/Makelib.rules include/config.h |
Alexandre Julliard | 9a2cc78 | 2002-04-12 00:11:57 +0000 | [diff] [blame] | 137 | $(RM) -r autom4te.cache |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 138 | $(RM) `find . \( -name Makefile -o -size 0 \) -print` |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 139 | |
Alexandre Julliard | 078eb1f | 2005-06-15 18:12:15 +0000 | [diff] [blame] | 140 | .PHONY: manpages htmlpages sgmlpages distclean |
Alexandre Julliard | f673b71 | 2002-06-14 23:48:27 +0000 | [diff] [blame] | 141 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 142 | ### Dependencies: |