2004-04-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
[mono.git] / mcs / class / System.Windows.Forms / System.Windows.Forms / gc-wine / gc-wine.mak
1 ### Generated by Winemaker
2
3
4 ### Generic autoconf variables
5
6 TOPSRCDIR             = .
7 TOPOBJDIR             = .
8 SRCDIR                = .
9
10
11 SUBDIRS               =
12 DLLS                  = gc.dll
13 EXES                  =
14
15
16
17 ### Common settings
18
19 DEFINES               =
20 INCLUDE_PATH          = -Iinclude
21 DLL_PATH              =
22 LIBRARY_PATH          =
23 LIBRARIES             =
24
25
26 ### gc.dll sources and settings
27
28 gc_wine_dll_MODULE    = gc.dll
29 gc_wine_dll_BASEMODULE= gc
30 gc_wine_dll_APPMODE   =
31 gc_wine_dll_C_SRCS    = allchblk.c \
32                         alloc.c \
33                         blacklst.c \
34                         checksums.c \
35                         dbg_mlc.c \
36                         dyn_load.c \
37                         finalize.c \
38                         gcj_mlc.c \
39                         headers.c \
40                         mach_dep.c \
41                         malloc.c \
42                         mallocx.c \
43                         mark.c \
44                         mark_rts.c \
45                         misc.c \
46                         new_hblk.c \
47                         obj_map.c \
48                         os_dep.c \
49                         ptr_chck.c \
50                         reclaim.c \
51                         stubborn.c \
52                         typd_mlc.c \
53                         win32_threads.c
54 gc_wine_dll_CXX_SRCS  = gc_cpp.cpp
55 gc_wine_dll_RC_SRCS   =
56 gc_wine_dll_SPEC_SRCS = gc.dll.spec
57 gc_wine_dll_DLL_PATH  = -L$(WINE_DLL_ROOT)
58 gc_wine_dll_DLLS      = advapi32 \
59                         comdlg32 \
60                         gdi32 \
61                         kernel32 \
62                         odbc32 \
63                         ole32 \
64                         oleaut32 \
65                         shell32 \
66                         user32 \
67                         winspool
68 gc_wine_dll_LIBRARY_PATH=
69 gc_wine_dll_LIBRARIES =
70 gc_wine_dll_DEPENDS   =
71
72 gc_wine_dll_OBJS      = $(gc_wine_dll_C_SRCS:.c=.o) \
73                         $(gc_wine_dll_CXX_SRCS:.cpp=.o) \
74                         $(EXTRA_OBJS)
75
76
77
78 ### Global source lists
79
80 C_SRCS                = $(gc_wine_dll_C_SRCS)
81 CXX_SRCS              = $(gc_wine_dll_CXX_SRCS)
82 RC_SRCS               = $(gc_wine_dll_RC_SRCS)
83 SPEC_SRCS             = $(gc_wine_dll_SPEC_SRCS)
84
85
86
87 ### Generic autoconf targets
88
89 all: wineapploader $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so)
90
91 wineapploader: wineapploader.in
92         sed -e 's,@bindir\@,$(bindir),g' -e 's,@winelibdir\@,.,g' $(SRCDIR)/wineapploader.in >$@ || $(RM) $@
93
94
95 # Copyright 2000 Francois Gouget for CodeWeavers
96 # fgouget@codeweavers.com
97 #
98 # Global rules shared by all makefiles     -*-Makefile-*-
99 #
100 # Each individual makefile must define the following variables:
101 # TOPOBJDIR    : top-level object directory
102 # SRCDIR       : source directory for this module
103 #
104 # Each individual makefile may define the following additional variables:
105 #
106 # SUBDIRS      : subdirectories that contain a Makefile
107 # DLLS         : WineLib libraries to be built
108 # EXES         : WineLib executables to be built
109 #
110 # CEXTRA       : extra c flags (e.g. '-Wall')
111 # CXXEXTRA     : extra c++ flags (e.g. '-Wall')
112 # WRCEXTRA     : extra wrc flags (e.g. '-p _SysRes')
113 # DEFINES      : defines (e.g. -DSTRICT)
114 # INCLUDE_PATH : additional include path
115 # LIBRARY_PATH : additional library path
116 # LIBRARIES    : additional Unix libraries to link with
117 #
118 # C_SRCS       : C sources for the module
119 # CXX_SRCS     : C++ sources for the module
120 # RC_SRCS      : resource source files
121 # SPEC_SRCS    : interface definition files
122
123
124 # Where is Wine
125
126 WINE_INCLUDE_ROOT = /usr/include/wine
127 WINE_INCLUDE_PATH = -I/usr/include/wine
128 WINE_LIBRARY_ROOT =
129 WINE_LIBRARY_PATH = 
130 WINE_DLL_ROOT     = /usr/local/lib
131 WINE_DLL_PATH     = -L/usr/local/lib/wine
132
133 LDPATH            = LD_LIBRARY_PATH=":$$LD_LIBRARY_PATH"
134
135 # Where are the MFC
136
137 ATL_INCLUDE_ROOT = 
138 ATL_INCLUDE_PATH = 
139 MFC_INCLUDE_ROOT = 
140 MFC_INCLUDE_PATH = 
141 MFC_LIBRARY_ROOT = 
142 MFC_LIBRARY_PATH = 
143
144 # Global definitions and options
145
146 GLOBAL_DEFINES      = -DSILENT -DGC_BUILD -DALL_INTERIOR_POINTERS -DGC_WIN32_THREADS -D_WIN32
147 GLOBAL_INCLUDE_PATH = 
148 GLOBAL_DLL_PATH     = 
149 GLOBAL_DLLS         = 
150 GLOBAL_LIBRARY_PATH = 
151 GLOBAL_LIBRARIES    = 
152
153 # First some useful definitions
154
155 SHELL     = /bin/sh
156 CC        = gcc
157 CPP       = gcc -E
158 CXX       = g++
159 WRC       = /usr/local/bin/wrc
160 CFLAGS    = -g -O2 -fPIC $(CEXTRA)
161 CXXFLAGS  = -g -O2 -fpermissive -fno-for-scope $(CXXEXTRA)
162 WRCFLAGS  = -J -m $(WRCEXTRA)
163 OPTIONS   =  -D_REENTRANT
164 LIBS      = -lm  $(LIBRARY_PATH)
165 DIVINCL   = $(GLOBAL_INCLUDE_PATH) -I$(SRCDIR) $(INCLUDE_PATH) $(WINE_INCLUDE_PATH)
166 ALLCFLAGS = $(DIVINCL) $(CFLAGS) $(GLOBAL_DEFINES) $(DEFINES) $(OPTIONS)
167 ALLCXXFLAGS=$(DIVINCL) $(CXXFLAGS) $(GLOBAL_DEFINES) $(DEFINES) $(OPTIONS)
168 ALL_DLL_PATH  = $(DLL_PATH) $(GLOBAL_DLL_PATH) $(WINE_DLL_PATH)
169 ALL_LIBRARY_PATH = $(LIBRARY_PATH) $(GLOBAL_LIBRARY_PATH) $(WINE_LIBRARY_PATH)
170 WINE_LIBRARIES = -lwine -lwine_unicode -lwine_uuid
171 ALL_LIBRARIES = $(LIBRARIES:%=-l%) $(GLOBAL_LIBRARIES:%=-l%) $(WINE_LIBRARIES)
172 LDSHARED  = $(CC) -shared
173 LDXXSHARED= $(CXX) -shared
174 LDDLLFLAGS= -Wl,-Bsymbolic
175 STRIP     = strip
176 STRIPFLAGS= --strip-unneeded
177 LN_S      = ln -s
178 RM        = rm -f
179 MV        = mv
180 MKDIR     = mkdir -p
181 WINE      = /usr/local/bin/wine
182 WINEBUILD = /usr/local/bin/winebuild
183
184
185 # Installation infos
186
187 INSTALL         = install
188 INSTALL_PROGRAM = $(INSTALL)
189 INSTALL_SCRIPT  = $(INSTALL)
190 INSTALL_DATA    = $(INSTALL) -m 644
191 prefix          = /usr/local
192 exec_prefix     = ${prefix}
193 bindir          = ${exec_prefix}/bin
194 libdir          = ${exec_prefix}/lib
195 infodir         = ${prefix}/info
196 mandir          = ${prefix}/man
197 dlldir          = ${exec_prefix}/lib/wine
198
199 prog_manext     = 1
200 conf_manext     = 5
201
202 OBJS            = $(C_SRCS:.c=.o) $(CXX_SRCS:.cpp=.o) \
203                   $(SPEC_SRCS:.spec=.spec.o)
204 CLEAN_FILES     = *.spec.c y.tab.c y.tab.h lex.yy.c \
205                   core *.orig *.rej \
206                   \\\#*\\\# *~ *% .\\\#*
207 DISTCLEAN_FILES = config.* Makefile Make.rules
208
209 # Implicit rules
210
211 .SUFFIXES: .cpp .rc .res .spec .spec.c .spec.o
212
213 .c.o:
214         $(CC) -c $(ALLCFLAGS) -o $@ $<
215
216 .cpp.o:
217         $(CXX) -c $(ALLCXXFLAGS) -o $@ $<
218
219 .cc.o:
220         $(CXX) -c $(ALLCXXFLAGS) -o $@ $<
221
222 .cxx.o:
223         $(CXX) -c $(ALLCXXFLAGS) -o $@ $<
224
225 .rc.res:
226         $(LDPATH) $(WRC) $(WRCFLAGS) $(DIVINCL) -o $@ $<
227
228 .PHONY: all install uninstall clean distclean depend dummy
229
230 # 'all' target first in case the enclosing Makefile didn't define any target
231
232 all: Makefile
233
234 # Rules for makefile
235
236 Makefile: 
237
238 # Rules for cleaning
239
240 $(SUBDIRS:%=%/__clean__): dummy
241         cd `dirname $@` && $(MAKE) clean
242
243 $(EXTRASUBDIRS:%=%/__clean__): dummy
244         -cd `dirname $@` && $(RM) $(CLEAN_FILES)
245
246 clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
247         $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(OBJS) $(EXES:%.exe=%) $(EXES:%=%.so) $(EXES:%=%.spec.o) $(DLLS:%=%.so) $(DLLS:%=%.spec.o)
248
249 # Rule for distcleaning
250
251 distclean: clean
252         $(RM) $(DISTCLEAN_FILES)
253
254 # Rules for installing
255
256 $(SUBDIRS:%=%/__install__): dummy
257         cd `dirname $@` && $(MAKE) install
258
259 $(SUBDIRS:%=%/__uninstall__): dummy
260         cd `dirname $@` && $(MAKE) uninstall
261
262 # Misc. rules
263
264 $(SUBDIRS): dummy
265         @cd $@ && $(MAKE)
266
267 dummy:
268
269 # End of global rules
270
271 install::
272         _list="$(SUBDIRS)"; for i in $$_list; do (cd $$i; $(MAKE) install) || exit 1; done
273         _list="$(EXES:%.exe=%)"; for i in $$_list; do $(INSTALL_SCRIPT) $$i $(bindir); done
274         _list="$(EXES:%=%.so) $(DLLS:%=%.so)"; for i in $$_list; do $(INSTALL_PROGRAM) $$i $(dlldir); done
275
276 uninstall::
277         _list="$(SUBDIRS)"; for i in $$_list; do (cd $$i; $(MAKE) uninstall) || exit 1; done
278         _list="$(EXES:%.exe=%)"; for i in $$_list; do $(RM) $(bindir)/$$i;done
279         _list="$(EXES:%=%.so) $(DLLS:%=%.so)"; for i in $$_list; do $(RM) $(dlldir)/$$i;done
280
281 clean::
282         $(RM) wineapploader $(EXES:%.exe=%)
283
284 ### Target specific build rules
285
286 $(gc_wine_dll_MODULE).spec.c: $(gc_wine_dll_SPEC_SRCS) $(gc_wine_dll_RC_SRCS:.rc=.res) $(gc_wine_dll_OBJS)
287         $(LDPATH) $(WINEBUILD) -fPIC -o $@  $(gc_wine_dll_SPEC_SRCS:%=--spec %) $(gc_wine_dll_RC_SRCS:%.rc=%.res) $(gc_wine_dll_OBJS) $(gc_wine_dll_DLL_PATH) $(WINE_DLL_PATH) $(GLOBAL_DLL_PATH) $(gc_wine_dll_DLLS:%=-l%) $(GLOBAL_DLLS:%=-l%)
288
289 $(gc_wine_dll_MODULE).so: $(gc_wine_dll_MODULE).spec.o $(gc_wine_dll_OBJS) $(gc_wine_dll_DEPENDS)
290         $(LDXXSHARED) $(LDDLLFLAGS) -o $@ $(gc_wine_dll_OBJS) $(gc_wine_dll_MODULE).spec.o $(gc_wine_dll_LIBRARY_PATH) $(ALL_LIBRARY_PATH) $(gc_wine_dll_LIBRARIES:%=-l%) $(ALL_LIBRARIES) $(LIBS)
291
292