Some more work on interal debugging, timing routines for things that
[mesa.git] / src / mesa / Makefile.X11
1 # $Id: Makefile.X11,v 1.42 2001/02/03 08:41:03 gareth Exp $
2
3 # Mesa 3-D graphics library
4 # Version: 3.5
5 # Copyright (C) 1995-2000 Brian Paul
6
7 # Makefile for core library
8
9
10 ##### MACROS #####
11
12 GL_MAJOR = 1
13 GL_MINOR = 2
14 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
15
16 VPATH = RCS
17
18 INCDIR = ../include
19 LIBDIR = ../lib
20
21
22
23 CORE_SOURCES = \
24 tnl/t_array_api.c \
25 tnl/t_array_import.c \
26 tnl/t_context.c \
27 tnl/t_eval_api.c \
28 tnl/t_imm_alloc.c \
29 tnl/t_imm_api.c \
30 tnl/t_imm_debug.c \
31 tnl/t_imm_dlist.c \
32 tnl/t_imm_elt.c \
33 tnl/t_imm_eval.c \
34 tnl/t_imm_exec.c \
35 tnl/t_imm_fixup.c \
36 tnl/t_pipeline.c \
37 tnl/t_vb_fog.c \
38 tnl/t_vb_light.c \
39 tnl/t_vb_material.c \
40 tnl/t_vb_normals.c \
41 tnl/t_vb_points.c \
42 tnl/t_vb_render.c \
43 tnl/t_vb_texgen.c \
44 tnl/t_vb_texmat.c \
45 tnl/t_vb_vertex.c \
46 swrast_setup/ss_context.c \
47 swrast_setup/ss_triangle.c \
48 swrast_setup/ss_vb.c \
49 swrast_setup/ss_interp.c \
50 api_loopback.c \
51 api_noop.c \
52 api_validate.c \
53 accum.c \
54 alpha.c \
55 attrib.c \
56 bitmap.c \
57 blend.c \
58 buffers.c \
59 clip.c \
60 colortab.c \
61 config.c \
62 context.c \
63 convolve.c \
64 copypix.c \
65 debug.c \
66 depth.c \
67 dispatch.c \
68 dlist.c \
69 drawpix.c \
70 enable.c \
71 enums.c \
72 eval.c \
73 extensions.c \
74 feedback.c \
75 fog.c \
76 get.c \
77 glapi.c \
78 glapinoop.c \
79 glthread.c \
80 hash.c \
81 highpc.c \
82 hint.c \
83 histogram.c \
84 image.c \
85 imports.c \
86 light.c \
87 lines.c \
88 logic.c \
89 lowpc.c \
90 masking.c \
91 matrix.c \
92 mem.c \
93 mmath.c \
94 pixel.c \
95 pixeltex.c \
96 points.c \
97 polygon.c \
98 rastpos.c \
99 readpix.c \
100 scissor.c \
101 state.c \
102 stencil.c \
103 teximage.c \
104 texobj.c \
105 texstate.c \
106 texture.c \
107 texutil.c \
108 varray.c \
109 vtxfmt.c \
110 winpos.c \
111 X86/x86.c \
112 X86/common_x86.c \
113 X86/3dnow.c \
114 X86/katmai.c \
115 math/m_debug_norm.c \
116 math/m_debug_vertex.c \
117 math/m_debug_xform.c \
118 math/m_eval.c \
119 math/m_matrix.c \
120 math/m_translate.c \
121 math/m_vector.c \
122 math/m_vertices.c \
123 math/m_xform.c \
124 array_cache/ac_context.c \
125 array_cache/ac_import.c \
126 swrast/s_aaline.c \
127 swrast/s_aatriangle.c \
128 swrast/s_accum.c \
129 swrast/s_alpha.c \
130 swrast/s_alphabuf.c \
131 swrast/s_bitmap.c \
132 swrast/s_blend.c \
133 swrast/s_buffers.c \
134 swrast/s_copypix.c \
135 swrast/s_context.c \
136 swrast/s_depth.c \
137 swrast/s_drawpix.c \
138 swrast/s_feedback.c \
139 swrast/s_fog.c \
140 swrast/s_histogram.c \
141 swrast/s_lines.c \
142 swrast/s_logic.c \
143 swrast/s_masking.c \
144 swrast/s_pb.c \
145 swrast/s_pixeltex.c \
146 swrast/s_points.c \
147 swrast/s_quads.c \
148 swrast/s_readpix.c \
149 swrast/s_scissor.c \
150 swrast/s_span.c \
151 swrast/s_stencil.c \
152 swrast/s_texture.c \
153 swrast/s_triangle.c \
154 swrast/s_zoom.c
155
156
157 DRIVER_SOURCES = \
158 FX/fxapi.c \
159 FX/fxdd.c \
160 FX/fxddspan.c \
161 FX/fxddtex.c \
162 FX/fxsetup.c \
163 FX/fxtexman.c \
164 FX/fxtris.c \
165 FX/fxvb.c \
166 FX/fxglidew.c \
167 X/glxapi.c \
168 X/fakeglx.c \
169 X/xfonts.c \
170 X/xm_api.c \
171 X/xm_dd.c \
172 X/xm_line.c \
173 X/xm_span.c \
174 X/xm_tri.c \
175 SVGA/svgamesa.c \
176 SVGA/svgamesa8.c \
177 SVGA/svgamesa15.c \
178 SVGA/svgamesa16.c \
179 SVGA/svgamesa24.c \
180 SVGA/svgamesa32.c \
181 Trace/tr_context.c \
182 Trace/tr_control.c \
183 Trace/tr_error.c \
184 Trace/tr_support.c \
185 Trace/tr_wrapper.c \
186 Trace/tr_write.c
187
188
189 ASM_SOURCES =
190
191 ADDITIONAL_OBJ =
192
193 OBJECTS = $(ASM_SOURCES:.S=.o) \
194 $(CORE_SOURCES:.c=.o) \
195 $(DRIVER_SOURCES:.c=.o) \
196 $(ADDITIONAL_OBJ)
197
198
199 OSMESA_SOURCES = OSmesa/osmesa.c
200 OSMESA_OBJECTS = OSmesa/osmesa.o
201
202
203
204 ##### RULES #####
205
206 .c.o:
207 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
208
209 .S.o:
210 $(CC) -c -I. $(CFLAGS) $< -o $@
211
212
213 # UGH! These rules shouldn't be needed but IRIX's make (and others?) needs them
214 X/glxapi.o: X/glxapi.c
215 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
216 X/fakeglx.o: X/fakeglx.c
217 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
218 X/xfonts.o: X/xfonts.c
219 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
220 X/xm_api.o: X/xm_api.c
221 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
222 X/xm_dd.o: X/xm_dd.c
223 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
224 X/xm_span.o: X/xm_span.c
225 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
226 X/xm_line.o: X/xm_line.c
227 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
228 X/xm_tri.o: X/xm_tri.c
229 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
230
231 SVGA/svgamesa.o: SVGA/svgamesa.c
232 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
233 SVGA/svgamesa8.o: SVGA/svgamesa8.c
234 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
235 SVGA/svgamesa15.o: SVGA/svgamesa15.c
236 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
237 SVGA/svgamesa16.o: SVGA/svgamesa16.c
238 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
239 SVGA/svgamesa24.o: SVGA/svgamesa24.c
240 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
241 SVGA/svgamesa32.o: SVGA/svgamesa32.c
242 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
243
244 OSmesa/osmesa.o: OSmesa/osmesa.c
245 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
246
247 FX/fxapi.o: FX/fxapi.c
248 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
249 FX/fxclip.o: FX/fxclip.c
250 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
251 FX/fxdd.o: FX/fxdd.c
252 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
253 FX/fxddspan.o: FX/fxddspan.c
254 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
255 FX/fxddtex.o: FX/fxddtex.c
256 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
257 FX/fxfastpath.o: FX/fxfastpath.c
258 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
259 FX/fxpipeline.o: FX/fxpipeline.c
260 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
261 FX/fxrender.o: FX/fxrender.c
262 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
263 FX/fxsanity.o: FX/fxsanity.c
264 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
265 FX/fxsetup.o: FX/fxsetup.c
266 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
267 FX/fxtrifuncs.o: FX/fxtrifuncs.c
268 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
269 FX/fxtexman.o: FX/fxtexman.c
270 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
271 FX/fxvsetup.o: FX/fxvsetup.c
272 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
273 FX/fxglidew.o: FX/fxglidew.c
274 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
275
276 FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S
277
278 X86/x86.o: X86/x86.c
279 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
280 X86/common_x86.o: X86/common_x86.c
281 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
282 X86/3dnow.o: X86/3dnow.c
283 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
284 X86/katmai.o: X86/katmai.c
285 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
286
287 GGI/ggimesa.o: GGI/ggimesa.c
288 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
289
290 Trace/tr_2string.o: Trace/tr_2string.c
291 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
292 Trace/tr_attrib.o: Trace/tr_attrib.c
293 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
294 Trace/tr_context.o: Trace/tr_context.c
295 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
296 Trace/tr_control.o: Trace/tr_control.c
297 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
298 Trace/tr_error.o: Trace/tr_error.c
299 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
300 Trace/tr_print.o: Trace/tr_print.c
301 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
302 Trace/tr_wrapper.o: Trace/tr_wrapper.c
303 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
304
305
306
307 ##### TARGETS #####
308
309 #default:
310 # @echo "Specify a target configuration"
311
312 clean:
313 -rm *.o *~ */*.o */*~ *.lo *.la
314 -rm -rf .libs
315
316 targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB)
317
318 # Make the GL library
319 $(LIBDIR)/$(GL_LIB): $(OBJECTS)
320 $(MAKELIB) $(GL_LIB) $(GL_MAJOR) $(GL_MINOR) $(GL_TINY) $(OBJECTS)
321 rm -f $(LIBDIR)/$(GL_LIB)*
322 mv $(GL_LIB)* $(LIBDIR)
323
324
325 # Make the OSMesa library
326 $(LIBDIR)/$(OSMESA_LIB): $(OSMESA_OBJECTS)
327 if [ ${OSMESA_LIB} ] ; then $(MAKELIB) $(OSMESA_LIB) $(MESA_MAJOR) $(MESA_MINOR) $(GL_TINY) $(OSMESA_OBJECTS) ; fi
328 if [ ${OSMESA_LIB} ] ; then rm -f $(LIBDIR)/$(OSMESA_LIB)* ; fi
329 if [ ${OSMESA_LIB} ] ; then mv $(OSMESA_LIB)* $(LIBDIR) ; fi
330
331
332 include ../Make-config
333
334 include depend
335
336
337
338 #
339 # Run 'make dep' to update the dependencies if you change what's included
340 # by any source file.
341 #
342 dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
343 makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
344
345 tags:
346 etags `find . -name \*.[ch]` `find ../include`