Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 1 | # This Makefile understands the following targets: |
| 2 | # |
| 3 | # all (default): build wine |
| 4 | # clean: remove all intermediate files |
| 5 | # distclean: also remove all files created by configure |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 6 | # install: install everything |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 7 | # uninstall: uninstall everything |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 8 | # depend: create the dependencies |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 9 | # etags: create a TAGS file for Emacs. |
Alexandre Julliard | 44ed71f | 1997-12-21 19:17:50 +0000 | [diff] [blame] | 10 | # manpages: compile manpages for Wine API |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 11 | # |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 12 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 13 | # Directories |
| 14 | |
| 15 | TOPSRCDIR = @top_srcdir@ |
| 16 | TOPOBJDIR = . |
| 17 | SRCDIR = @srcdir@ |
| 18 | VPATH = @srcdir@ |
Alexandre Julliard | 318f4ce | 2000-01-31 05:02:49 +0000 | [diff] [blame] | 19 | LIBEXT = @LIBEXT@ |
Alexandre Julliard | d0edc5f | 2000-03-04 22:31:27 +0000 | [diff] [blame] | 20 | LDCONFIG = @LDCONFIG@ |
Alexandre Julliard | 0adad95 | 2000-01-26 01:45:58 +0000 | [diff] [blame] | 21 | MODULE = wine |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 22 | IMPORTS = ntdll |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 23 | |
Eric Pouech | e5efa0c | 2000-04-13 19:31:58 +0000 | [diff] [blame] | 24 | # Stand-alone programs |
Alexandre Julliard | d327fcb | 2000-01-29 20:02:49 +0000 | [diff] [blame] | 25 | PROGRAMS = \ |
| 26 | loader/dos/dosmod \ |
Alexandre Julliard | 59b0d7b | 2000-04-23 20:41:04 +0000 | [diff] [blame] | 27 | server/wineserver |
Alexandre Julliard | d327fcb | 2000-01-29 20:02:49 +0000 | [diff] [blame] | 28 | |
Eric Pouech | e5efa0c | 2000-04-13 19:31:58 +0000 | [diff] [blame] | 29 | # Programs that link with libwine |
| 30 | LIBPROGRAMS = \ |
| 31 | debugger/winedbg |
| 32 | |
Alexandre Julliard | 7e495e1 | 2000-07-25 21:01:59 +0000 | [diff] [blame] | 33 | # Libraries (not dlls) to build |
| 34 | LIBRARIES = \ |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 35 | library/libwine.$(LIBEXT) \ |
Alexandre Julliard | 7e495e1 | 2000-07-25 21:01:59 +0000 | [diff] [blame] | 36 | unicode/libwine_unicode.$(LIBEXT) |
| 37 | |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 38 | # Sub-directories to run make depend/clean into |
Alexandre Julliard | c53ceba | 2000-04-09 18:19:59 +0000 | [diff] [blame] | 39 | SUBDIRS = \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 40 | debugger \ |
| 41 | dlls \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 42 | documentation \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 43 | include \ |
| 44 | library \ |
| 45 | libtest \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 46 | miscemu \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 47 | programs \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 48 | server \ |
| 49 | tools \ |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 50 | unicode |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 51 | |
| 52 | # Sub-directories to run make install into |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 53 | INSTALLSUBDIRS = \ |
| 54 | debugger \ |
| 55 | dlls \ |
| 56 | documentation \ |
| 57 | include \ |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 58 | library \ |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 59 | server \ |
Alexandre Julliard | 7e495e1 | 2000-07-25 21:01:59 +0000 | [diff] [blame] | 60 | tools \ |
| 61 | unicode |
Patrik Stridvall | a9be64e | 1999-07-31 17:39:44 +0000 | [diff] [blame] | 62 | |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 63 | EMUOBJS = \ |
Alexandre Julliard | 60ce85c | 1998-02-01 18:33:27 +0000 | [diff] [blame] | 64 | miscemu/miscemu.o |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 65 | |
Alexandre Julliard | 318f4ce | 2000-01-31 05:02:49 +0000 | [diff] [blame] | 66 | DLLOBJS = $(DLLS:%=dlls/lib%.@LIBEXT@) |
| 67 | |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 68 | all: Make.rules $(PROGRAMS) $(LIBPROGRAMS) wine |
Pavel Roskin | 74197cb | 1999-07-31 19:25:22 +0000 | [diff] [blame] | 69 | @echo "Wine build complete." |
Alexandre Julliard | 808cb04 | 1995-08-17 17:11:36 +0000 | [diff] [blame] | 70 | |
Patrik Stridvall | 385dc18 | 1999-09-29 10:24:19 +0000 | [diff] [blame] | 71 | WINAPI_CHECK_EXTRA_FLAGS = --global |
| 72 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 73 | @MAKE_RULES@ |
| 74 | |
Marcus Meissner | ca004e5 | 1999-01-03 12:26:22 +0000 | [diff] [blame] | 75 | Make.rules: Make.rules.in configure |
| 76 | @echo $? is newer than 'Make.rules', please rerun ./configure! |
| 77 | @exit 1 |
| 78 | |
Alexandre Julliard | 7e495e1 | 2000-07-25 21:01:59 +0000 | [diff] [blame] | 79 | wine: libwine.$(LIBEXT) libwine_unicode.$(LIBEXT) dlls $(EMUOBJS) |
Marcus Meissner | a387aa4 | 2000-09-26 23:09:47 +0000 | [diff] [blame] | 80 | $(CC) -o wine $(EMUOBJS) $(DLL_LINK) $(LIBS) $(LDFLAGS) |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 81 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 82 | install:: all $(INSTALLSUBDIRS:%=%/__install__) |
Alexandre Julliard | 318f4ce | 2000-01-31 05:02:49 +0000 | [diff] [blame] | 83 | [ -d $(bindir) ] || $(MKDIR) $(bindir) |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 84 | $(INSTALL_PROGRAM) wine $(bindir)/wine |
Alexandre Julliard | 0adad95 | 2000-01-26 01:45:58 +0000 | [diff] [blame] | 85 | $(INSTALL_PROGRAM) loader/dos/dosmod $(bindir)/dosmod |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 86 | -$(LDCONFIG) |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 87 | |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 88 | uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 89 | cd $(bindir) && $(RM) wine dosmod |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 90 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 91 | $(EMUOBJS) $(DLLOBJS) $(PROGRAMS) $(LIBPROGRAMS) $(LIBRARIES): dummy |
Alexandre Julliard | 0adad95 | 2000-01-26 01:45:58 +0000 | [diff] [blame] | 92 | @cd `dirname $@` && $(MAKE) `basename $@` |
Marcus Meissner | a4d0319 | 1999-07-24 12:12:43 +0000 | [diff] [blame] | 93 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 94 | libwine.$(LIBEXT): library/libwine.$(LIBEXT) |
| 95 | $(RM) $@ && $(LN_S) library/libwine.$(LIBEXT) $@ |
Alexandre Julliard | 7e495e1 | 2000-07-25 21:01:59 +0000 | [diff] [blame] | 96 | |
| 97 | libwine_unicode.$(LIBEXT): unicode/libwine_unicode.$(LIBEXT) |
| 98 | $(RM) $@ && $(LN_S) unicode/libwine_unicode.$(LIBEXT) $@ |
Eric Pouech | e5efa0c | 2000-04-13 19:31:58 +0000 | [diff] [blame] | 99 | |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 100 | # Dependencies between directories |
| 101 | |
Alexandre Julliard | 000c13a | 2000-11-09 20:31:18 +0000 | [diff] [blame] | 102 | $(DLLOBJS) $(PROGRAMS): tools |
| 103 | |
| 104 | $(EMUOBJS): tools dlls |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 105 | |
| 106 | $(LIBPROGRAMS): tools dlls libwine.$(LIBEXT) libwine_unicode.$(LIBEXT) |
| 107 | |
| 108 | server tools: libwine_unicode.$(LIBEXT) |
| 109 | |
| 110 | dlls: tools libwine.$(LIBEXT) libwine_unicode.$(LIBEXT) |
Patrik Stridvall | a9be64e | 1999-07-31 17:39:44 +0000 | [diff] [blame] | 111 | |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 112 | checklink:: |
Alexandre Julliard | 7e495e1 | 2000-07-25 21:01:59 +0000 | [diff] [blame] | 113 | $(CC) -o checklink $(TOPSRCDIR)/library/checklink.c -L. -lwine -lwine_unicode $(LIBS) && $(RM) checklink |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 114 | |
Alexandre Julliard | 1285c2f | 1996-05-06 16:06:24 +0000 | [diff] [blame] | 115 | install_programs: dummy |
Alexandre Julliard | 0adad95 | 2000-01-26 01:45:58 +0000 | [diff] [blame] | 116 | @cd programs && $(MAKE) install |
Alexandre Julliard | 1285c2f | 1996-05-06 16:06:24 +0000 | [diff] [blame] | 117 | |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 118 | uninstall_programs: dummy |
Alexandre Julliard | 0adad95 | 2000-01-26 01:45:58 +0000 | [diff] [blame] | 119 | @cd programs && $(MAKE) uninstall |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 120 | |
Alexandre Julliard | 318f4ce | 2000-01-31 05:02:49 +0000 | [diff] [blame] | 121 | checklink:: |
| 122 | @cd dlls && $(MAKE) checklink |
| 123 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 124 | TAGS etags: |
| 125 | etags `find $(TOPSRCDIR) -name '*.[chS]' -print | grep -v dbgmain` |
| 126 | |
Alexandre Julliard | 44ed71f | 1997-12-21 19:17:50 +0000 | [diff] [blame] | 127 | manpages: |
| 128 | -$(MKDIR) $(TOPOBJDIR)/documentation/man3w |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 129 | for i in $(SUBDIRS); do (cd $$i && $(MAKE) man); done |
Alexandre Julliard | 44ed71f | 1997-12-21 19:17:50 +0000 | [diff] [blame] | 130 | |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 131 | htmlpages: |
| 132 | -$(MKDIR) $(TOPOBJDIR)/documentation/html |
Alexandre Julliard | 2f158c2 | 2000-06-14 21:45:38 +0000 | [diff] [blame] | 133 | for i in $(SUBDIRS); do (cd $$i && $(MAKE) html); done |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 134 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 135 | clean:: |
Alexandre Julliard | 2fa4f76 | 2000-10-31 00:20:51 +0000 | [diff] [blame] | 136 | $(RM) wine |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 137 | |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 138 | distclean: clean |
Jeremy White | f9f030b | 2000-11-05 20:06:56 +0000 | [diff] [blame] | 139 | $(RM) config.* TAGS Make.rules dlls/Makedll.rules include/config.h documentation/wine.man documentation/wine.conf.man tools/winelauncher |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 140 | $(RM) `find . \( -name Makefile -o -size 0 \) -print` |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 141 | |
Marcus Meissner | ab55442 | 1999-01-23 13:59:51 +0000 | [diff] [blame] | 142 | # We depend on configure above for checks, so we better don't use this rule. |
| 143 | #configure: configure.in |
| 144 | # autoconf |
Alexandre Julliard | 8cc3a5e | 1996-08-11 15:49:51 +0000 | [diff] [blame] | 145 | |
| 146 | include/config.h.in: configure.in include/acconfig.h |
| 147 | autoheader -l include |
| 148 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 149 | ### Dependencies: |