blob: ddc92744dc919a38b78b5da6ba37c637a7fa5fbe [file] [log] [blame]
Alexandre Julliard139a4b11996-11-02 14:24:07 +00001# Global rules shared by all makefiles -*-Makefile-*-
Alexandre Julliardbf9130a1996-10-13 17:45:47 +00002#
Alexandre Julliardc53ceba2000-04-09 18:19:59 +00003# Each individual makefile must define the following variables:
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +00004# TOPSRCDIR : top-level source directory
5# TOPOBJDIR : top-level object directory
6# SRCDIR : source directory for this module
7# MODULE : name of the module being built
Alexandre Julliardc53ceba2000-04-09 18:19:59 +00008#
9# Each individual makefile may define the following additional variables:
10# C_SRCS : C sources for the module
Alexandre Julliardc728efc2002-10-02 02:34:09 +000011# C_SRCS16 : 16-bit C sources for the module
Alexandre Julliardc53ceba2000-04-09 18:19:59 +000012# RC_SRCS : resource source files
Alexandre Julliardc53ceba2000-04-09 18:19:59 +000013# EXTRA_SRCS : extra source files for make depend
14# EXTRA_OBJS : extra object files
Alexandre Julliard32459912002-05-09 00:05:48 +000015# IMPORTS : dlls to import
16# DELAYIMPORTS : dlls to import in delayed mode
Alexandre Julliardc53ceba2000-04-09 18:19:59 +000017# SUBDIRS : subdirectories that contain a Makefile
18# EXTRASUBDIRS : subdirectories that do not contain a Makefile
Alexandre Julliardf673b712002-06-14 23:48:27 +000019# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
Mike McCormackb7443722005-08-11 17:12:18 +000020# MODCFLAGS : extra CFLAGS for this module
Alexandre Julliardff8331e1995-09-18 11:19:54 +000021
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +000022# First some useful definitions
23
Alexandre Julliard8664b891996-04-05 14:58:24 +000024SHELL = /bin/sh
25CC = @CC@
Alexandre Julliardfc094232003-04-14 21:46:41 +000026CFLAGS = @CFLAGS@
Alexandre Julliard15566392003-06-13 23:26:01 +000027CPPFLAGS = @CPPFLAGS@
Alexandre Julliard02e90081998-01-04 17:49:09 +000028LIBS = @LIBS@
Mike McCormackc068f672004-03-16 03:11:39 +000029BISON = @BISON@
Alexandre Julliardff8331e1995-09-18 11:19:54 +000030LEX = @LEX@
31LEXLIB = @LEXLIB@
Alexandre Julliardfc01b722002-05-12 03:16:39 +000032EXEEXT = @EXEEXT@
33OBJEXT = @OBJEXT@
Alexandre Julliard2fa4f762000-10-31 00:20:51 +000034LIBEXT = @LIBEXT@
Alexandre Julliardc1bfca02002-03-20 22:19:06 +000035DLLEXT = @DLLEXT@
Alexandre Julliardada5e652002-12-12 22:03:14 +000036IMPLIBEXT = @IMPLIBEXT@
Alexandre Julliard2fa4f762000-10-31 00:20:51 +000037LDSHARED = @LDSHARED@
Alexandre Julliardada5e652002-12-12 22:03:14 +000038DLLTOOL = @DLLTOOL@
Hidenori Takeshimad48ca942000-12-22 22:28:00 +000039DLLWRAP = @DLLWRAP@
Alexandre Julliardfc01b722002-05-12 03:16:39 +000040AR = @AR@ rc
Alexandre Julliard641ee761997-08-04 16:34:36 +000041RANLIB = @RANLIB@
Alexandre Julliardfc01b722002-05-12 03:16:39 +000042STRIP = @STRIP@
43WINDRES = @WINDRES@
Alexandre Julliarddf234a92002-05-22 02:10:39 +000044LN = @LN@
Alexandre Julliard641ee761997-08-04 16:34:36 +000045LN_S = @LN_S@
Alexandre Julliardfc01b722002-05-12 03:16:39 +000046TOOLSDIR = @TOOLSDIR@
Marcus Meissner1d4db782003-01-09 00:46:54 +000047AS = @AS@
Alexandre Julliardeb5f89c2002-05-24 21:22:10 +000048LD = @LD@
Marcus Meissnera387aa42000-09-26 23:09:47 +000049LDFLAGS = @LDFLAGS@
Alexandre Julliardadbb0982005-08-09 11:12:29 +000050PRELINK = @PRELINK@
Alexandre Julliardff8331e1995-09-18 11:19:54 +000051RM = rm -f
Patrik Stridvalla9be64e1999-07-31 17:39:44 +000052MV = mv
Patrik Stridvalla9be64e1999-07-31 17:39:44 +000053LINT = @LINT@
54LINTFLAGS = @LINTFLAGS@
Huw Davies00acb5f2004-08-17 22:33:14 +000055FONTFORGE = @FONTFORGE@
Alexandre Julliardfc094232003-04-14 21:46:41 +000056INCLUDES = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
57EXTRACFLAGS = @EXTRACFLAGS@
Mike McCormackb7443722005-08-11 17:12:18 +000058ALLCFLAGS = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
Alexandre Julliardfc094232003-04-14 21:46:41 +000059ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
Alexandre Julliard16cd8612003-09-24 19:01:44 +000060IDLFLAGS = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
Alexandre Julliard5cb97d82005-09-21 14:23:54 +000061WINEBUILDFLAGS = $(DLLFLAGS) --as-cmd "$(AS)"
Alexandre Julliardfc094232003-04-14 21:46:41 +000062MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
Hans Leidekkera7644502005-05-04 09:55:17 +000063WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
Alexandre Julliard35363162002-05-22 21:32:49 +000064WINEWRAPPER = $(TOPSRCDIR)/tools/winewrapper
Richard Cohen6039fb02003-07-21 22:01:07 +000065C2MAN = $(TOPSRCDIR)/tools/c2man.pl
Dimitrie O. Paune39e8a12002-11-11 20:25:54 +000066RUNTEST = $(TOPSRCDIR)/tools/runtest
Alexandre Julliardfc01b722002-05-12 03:16:39 +000067WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild
68MAKEDEP = $(TOOLSDIR)/tools/makedep
Alexandre Julliardbcb75912005-03-16 20:02:17 +000069MAKECTESTS = $(TOOLSDIR)/tools/make_ctests
Alexandre Julliardfc01b722002-05-12 03:16:39 +000070WRC = $(TOOLSDIR)/tools/wrc/wrc
Dimitrie O. Paun54e6b0d2003-10-03 05:01:33 +000071BIN2RES = $(TOOLSDIR)/tools/bin2res
Alexandre Julliardfc01b722002-05-12 03:16:39 +000072WMC = $(TOOLSDIR)/tools/wmc/wmc
Alexandre Julliarded2f8fc2002-12-03 23:36:05 +000073WIDL = $(TOOLSDIR)/tools/widl/widl
Alexandre Julliardccc3d662004-03-02 06:58:21 +000074WINEGCC = $(TOOLSDIR)/tools/winegcc/winegcc
Huw Davies00acb5f2004-08-17 22:33:14 +000075SFNT2FNT = $(TOOLSDIR)/tools/sfnt2fnt
76FNT2FON = $(TOOLSDIR)/tools/fnt2fon
Dimitrie O. Paun1a1f9bf2003-05-06 18:34:53 +000077RC = $(WRC)
78RC16 = $(WRC)
Alexandre Julliard49b9c762003-12-13 03:19:34 +000079RCFLAGS = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
Dimitrie O. Paun1a1f9bf2003-05-06 18:34:53 +000080RC16FLAGS = -O res16 $(RCFLAGS)
Alexandre Julliard2a93f852002-12-11 01:34:51 +000081LDPATH = @LDPATH@
82DLLDIR = $(TOPOBJDIR)/dlls
Alexandre Julliarde1a9b102003-05-01 03:16:21 +000083LIBDIR = $(TOPOBJDIR)/libs
Alexandre Julliard6a9fe362003-03-19 22:09:16 +000084LIBPORT = -L$(TOPOBJDIR)/libs/port -lwine_port
Alexandre Julliard7ab9a712003-03-21 05:06:48 +000085LIBUNICODE = -L$(TOPOBJDIR)/libs/unicode -lwine_unicode
Alexandre Julliard2d1c7902003-03-22 20:40:48 +000086LIBWINE = -L$(TOPOBJDIR)/libs/wine -lwine
Alexandre Julliardb0182392000-12-06 00:04:10 +000087
Alexandre Julliardff8331e1995-09-18 11:19:54 +000088@SET_MAKE@
89
Alexandre Julliard641ee761997-08-04 16:34:36 +000090# Installation infos
91
Alexandre Julliardf673b712002-06-14 23:48:27 +000092INSTALL = @INSTALL@ $(INSTALL_FLAGS)
93INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(INSTALL_PROGRAM_FLAGS)
94INSTALL_SCRIPT = @INSTALL_SCRIPT@ $(INSTALL_SCRIPT_FLAGS)
95INSTALL_DATA = @INSTALL_DATA@ $(INSTALL_DATA_FLAGS)
Alexandre Julliard641ee761997-08-04 16:34:36 +000096prefix = @prefix@
97exec_prefix = @exec_prefix@
98bindir = @bindir@
99libdir = @libdir@
Alexandre Julliard1d8d0172002-08-02 19:34:21 +0000100datadir = @datadir@
Alexandre Julliard641ee761997-08-04 16:34:36 +0000101infodir = @infodir@
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000102mandir = @mandir@
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +0000103sysconfdir = @sysconfdir@
104includedir = @includedir@/wine
Alexandre Julliardc1bfca02002-03-20 22:19:06 +0000105dlldir = @libdir@/wine
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000106prog_manext = 1
Jon Griffiths35345f22003-03-15 19:48:34 +0000107api_manext = 3w
Alexandre Julliardd6baf1b1999-07-18 15:47:22 +0000108conf_manext = 5
Alexandre Julliard382dba62005-02-01 14:37:36 +0000109CLEAN_FILES = *.o *.a *.so *.ln *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej \
Alexandre Julliard7ddab752005-09-28 18:34:00 +0000110 *.flc *.tab.c *.tab.h @LEX_OUTPUT_ROOT@.c core
Alexandre Julliard641ee761997-08-04 16:34:36 +0000111
Alexandre Julliardc728efc2002-10-02 02:34:09 +0000112OBJS = $(C_SRCS:.c=.o) $(EXTRA_OBJS)
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +0000113
Steven Edwards9138fbb2002-07-29 23:28:09 +0000114RCOBJS = $(RC_SRCS:.rc=.res.o)
115LINTS = $(C_SRCS:.c=.ln)
Patrik Stridvalla9be64e1999-07-31 17:39:44 +0000116
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +0000117# Implicit rules
118
Alexandre Julliard664e4102005-10-06 16:06:04 +0000119.SUFFIXES: .mc .rc .mc.rc .res .res.o .spec .spec.o .idl .tlb .h .ok .sfd .ttf .man.in .man
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000120
121.c.o:
François Gouget1c3a2422001-11-09 19:15:51 +0000122 $(CC) -c $(ALLCFLAGS) -o $@ $<
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000123
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000124.s.o:
François Gouget1c3a2422001-11-09 19:15:51 +0000125 $(AS) -o $@ $<
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000126
Alexandre Julliard017a61e2000-11-06 05:30:48 +0000127.mc.mc.rc:
Martin Fuchs3f441672002-10-19 17:15:00 +0000128 $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
Alexandre Julliardf5aee672000-07-25 17:52:08 +0000129
Alexandre Julliarda845b881998-06-01 10:44:35 +0000130.rc.res:
Dimitrie O. Paun1a1f9bf2003-05-06 18:34:53 +0000131 $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
Alexandre Julliarda845b881998-06-01 10:44:35 +0000132
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000133.res.res.o:
134 $(WINDRES) -i $< -o $@
135
Alexandre Julliard5cb97d82005-09-21 14:23:54 +0000136.spec.spec.o:
137 $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
Ulrich Weigand3dff7bb1999-07-11 13:58:31 +0000138
Alexandre Julliard233766a2004-09-20 21:48:42 +0000139.idl.h:
Alexandre Julliardd0629242004-10-05 04:44:20 +0000140 $(WIDL) $(IDLFLAGS) -h -H $@ $<
Alexandre Julliard233766a2004-09-20 21:48:42 +0000141
Huw Davies40468462005-01-28 14:13:08 +0000142.idl.tlb:
143 $(WIDL) $(IDLFLAGS) -t -T $@ $<
144
Patrik Stridvalla9be64e1999-07-31 17:39:44 +0000145.c.ln:
146 $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
147
Alexandre Julliardcaa03382002-02-20 19:03:59 +0000148.c.ok:
Alexandre Julliardedeee892002-08-09 01:22:40 +0000149 $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
Alexandre Julliardcaa03382002-02-20 19:03:59 +0000150
Huw Davies00acb5f2004-08-17 22:33:14 +0000151.sfd.ttf:
Robert Shearman8b00c3d2005-07-20 17:48:26 +0000152 $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
Huw Davies00acb5f2004-08-17 22:33:14 +0000153
Alexandre Julliard664e4102005-10-06 16:06:04 +0000154.man.in.man:
155 sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $< >$@ || ($(RM) $@ && false)
156
Alexandre Julliardd0edc5f2000-03-04 22:31:27 +0000157# 'all' target first in case the enclosing Makefile didn't define any target
158
159all: Makefile
160
Patrik Stridvallb7190292001-07-29 20:20:13 +0000161filter:
162 @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
163
Alexandre Julliardf673b712002-06-14 23:48:27 +0000164.PHONY: all filter
165
Dimitrie O. Paun54e6b0d2003-10-03 05:01:33 +0000166# Rules for resources
167
168$(RC_BINARIES): $(BIN2RES) $(RC_BINSRC)
169 $(BIN2RES) -f -o $@ $(SRCDIR)/$(RC_BINSRC)
170
Huw Davies40468462005-01-28 14:13:08 +0000171$(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res): $(WRC) $(RC_BINARIES) $(RC_TLB)
Dimitrie O. Paun54e6b0d2003-10-03 05:01:33 +0000172
Alexandre Julliarde66d4211999-03-14 15:22:29 +0000173# Rules for makefile
174
Marcus Meissnerca004e51999-01-03 12:26:22 +0000175Makefile: Makefile.in $(TOPSRCDIR)/configure
176 @echo Makefile is older than $?, please rerun $(TOPSRCDIR)/configure
177 @exit 1
178
Alexandre Julliard46ea8b31998-05-03 19:01:20 +0000179# Rule for linting
180
Patrik Stridvalla9be64e1999-07-31 17:39:44 +0000181$(MODULE).ln : $(LINTS)
182 if test "$(LINTS)" ; \
183 then \
184 $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
185 $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
186 else \
187 $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
188 fi
189
190lint:: $(MODULE).ln
Alexandre Julliard46ea8b31998-05-03 19:01:20 +0000191
Patrik Stridvall385dc181999-09-29 10:24:19 +0000192# Rules for Windows API checking
193
Alexandre Julliardf673b712002-06-14 23:48:27 +0000194winapi_check:: dummy
Patrik Stridvall385dc181999-09-29 10:24:19 +0000195 $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
196
Alexandre Julliardf673b712002-06-14 23:48:27 +0000197.PHONY: winapi_check
198
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000199# Rules for dependencies
200
Alexandre Julliard3a3307d2004-10-07 03:12:44 +0000201$(SUBDIRS:%=%/__depend__): dummy
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000202 cd `dirname $@` && $(MAKE) depend
203
Alexandre Julliard3a3307d2004-10-07 03:12:44 +0000204depend: $(IDL_SRCS:.idl=.h) $(SUBDIRS:%=%/__depend__)
Alexandre Julliardfc094232003-04-14 21:46:41 +0000205 $(MAKEDEP) $(INCLUDES) -C$(SRCDIR) $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) $(IDL_SRCS) $(EXTRA_SRCS)
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000206
Alexandre Julliardf673b712002-06-14 23:48:27 +0000207.PHONY: depend $(SUBDIRS:%=%/__depend__)
208
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000209# Rules for cleaning
210
211$(SUBDIRS:%=%/__clean__): dummy
212 cd `dirname $@` && $(MAKE) clean
213
Alexandre Julliard13b0c092002-01-10 03:30:21 +0000214$(SUBDIRS:%=%/__testclean__): dummy
215 cd `dirname $@` && $(MAKE) testclean
216
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000217$(EXTRASUBDIRS:%=%/__clean__): dummy
218 -cd `dirname $@` && $(RM) $(CLEAN_FILES)
219
Alexandre Julliard13b0c092002-01-10 03:30:21 +0000220testclean:: $(SUBDIRS:%=%/__testclean__)
Alexandre Julliard13b0c092002-01-10 03:30:21 +0000221
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000222clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
Alexandre Julliard664e4102005-10-06 16:06:04 +0000223 $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res) $(MC_SRCS:.mc=.mc.rc) $(IDL_SRCS:.idl=.h) $(PROGRAMS) $(RC_BINARIES) $(RC_TLB) $(MANPAGES)
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000224
Alexandre Julliardf673b712002-06-14 23:48:27 +0000225.PHONY: clean testclean $(SUBDIRS:%=%/__clean__) $(SUBDIRS:%=%/__testclean__) $(EXTRASUBDIRS:%=%/__clean__)
226
Alexandre Julliard2f158c22000-06-14 21:45:38 +0000227# Rules for installing
228
Alexandre Julliard2d1c7902003-03-22 20:40:48 +0000229$(SUBDIRS:%=%/__install__): dummy
Alexandre Julliard2f158c22000-06-14 21:45:38 +0000230 cd `dirname $@` && $(MAKE) install
231
Alexandre Julliard2d1c7902003-03-22 20:40:48 +0000232$(SUBDIRS:%=%/__install-lib__): dummy
233 cd `dirname $@` && $(MAKE) install-lib
234
235$(SUBDIRS:%=%/__install-dev__): dummy
236 cd `dirname $@` && $(MAKE) install-dev
237
238$(SUBDIRS:%=%/__uninstall__): dummy
Alexandre Julliard2f158c22000-06-14 21:45:38 +0000239 cd `dirname $@` && $(MAKE) uninstall
240
Alexandre Julliardf673b712002-06-14 23:48:27 +0000241install:: $(INSTALLSUBDIRS:%=%/__install__)
242
243uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__)
244
Alexandre Julliardada5e652002-12-12 22:03:14 +0000245.PHONY: install install-lib install-dev uninstall \
Alexandre Julliard2d1c7902003-03-22 20:40:48 +0000246 $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
247 $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
Alexandre Julliardf673b712002-06-14 23:48:27 +0000248
Alexandre Julliardedeee892002-08-09 01:22:40 +0000249# Rules for checking that no imports are missing
Alexandre Julliard13b0c092002-01-10 03:30:21 +0000250
Alexandre Julliardedeee892002-08-09 01:22:40 +0000251$(SUBDIRS:%=%/__checklink__): dummy
252 @cd `dirname $@` && $(MAKE) checklink
253
254.PHONY: checklink $(SUBDIRS:%=%/__checklink__)
255
256# Rules for testing
Alexandre Julliard13b0c092002-01-10 03:30:21 +0000257
Alexandre Julliardd7c606d2002-04-02 02:58:45 +0000258$(SUBDIRS:%=%/__test__): dummy
259 @cd `dirname $@` && $(MAKE) test
260
Alexandre Julliardc3c587e2002-09-06 19:46:00 +0000261$(SUBDIRS:%=%/__crosstest__): dummy
262 @cd `dirname $@` && $(MAKE) crosstest
263
264.PHONY: check test crosstest $(SUBDIRS:%=%/__test__) $(SUBDIRS:%=%/__crosstest__)
Alexandre Julliardf673b712002-06-14 23:48:27 +0000265
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +0000266# Misc. rules
267
Alexandre Julliard017a61e2000-11-06 05:30:48 +0000268$(MC_SRCS:.mc=.mc.rc): $(WMC)
Alexandre Julliardf5aee672000-07-25 17:52:08 +0000269
Alexandre Julliard233766a2004-09-20 21:48:42 +0000270$(IDL_SRCS:.idl=.h): $(WIDL)
271
Vincent BĂ©ron860c84b2005-02-08 12:13:10 +0000272$(RC_TLB:.idl=.tlb): $(WIDL)
273
Alexandre Julliardc53ceba2000-04-09 18:19:59 +0000274$(SUBDIRS): dummy
275 @cd $@ && $(MAKE)
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000276
Alexandre Julliardff8331e1995-09-18 11:19:54 +0000277dummy:
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +0000278
Alexandre Julliardf673b712002-06-14 23:48:27 +0000279.PHONY: dummy $(SUBDIRS)
280
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +0000281# End of global rules