removed references to removed source files
[mesa.git] / src / mesa / main / Makefile.ugl
1 # Mesa 3-D graphics library
2 # Version: 4.1
3 #
4 # Copyright (C) 2001 Wind River Systems, Inc
5
6 # The MIT License
7 # Permission is hereby granted, free of charge, to any person obtaining a
8 # copy of this software and associated documentation files (the "Software"),
9 # to deal in the Software without restriction, including without limitation
10 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 # and/or sell copies of the Software, and to permit persons to whom the
12 # Software is furnished to do so, subject to the following conditions:
13 #
14 # The above copyright notice and this permission notice shall be included
15 # in all copies or substantial portions of the Software.
16 #
17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 # DEALINGS IN THE SOFTWARE.
24
25 # Makefile for core library
26
27 # This makefile can moved all objects files in MESA_OBJ for use with
28 # ld in windShell or create a library from objects files in their
29 # associated .c folder.
30 #
31 # For an easy inclusion of lib$(CPU)$(TOOL)GL.a in vxworks image, this
32 # makefile collects together all .o in an only file
33 # (obj$(CPU)$(TOOL)GL.o). This operation is unnecessary for
34 # lib$(CPU)$(TOOL)OSMesa.a and lib$(CPU)$(TOOL)UglMesa.a because they
35 # already contain only one file.
36 #
37 ##### MACROS #####
38 MESA_MAJOR=3
39 MESA_MINOR=5
40 MESA_TINY=0
41 VERSION=$(MESA_MAJOR).$(MESA_MINOR)
42
43 GL_MAJOR = 1
44 GL_MINOR = 2
45 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
46
47 ##### RULES #####
48
49 include ..\rules.windml
50
51 #### GL #####
52
53 GL_SOURCES = \
54 api_arrayelt.c \
55 api_loopback.c \
56 api_noop.c \
57 api_validate.c \
58 accum.c \
59 attrib.c \
60 blend.c \
61 buffers.c \
62 clip.c \
63 colortab.c \
64 config.c \
65 context.c \
66 convolve.c \
67 debug.c \
68 depth.c \
69 dispatch.c \
70 dlist.c \
71 drawpix.c \
72 enable.c \
73 enums.c \
74 eval.c \
75 extensions.c \
76 feedback.c \
77 fog.c \
78 get.c \
79 glapi.c \
80 glthread.c \
81 hash.c \
82 hint.c \
83 histogram.c \
84 image.c \
85 imports.c \
86 light.c \
87 lines.c \
88 matrix.c \
89 mem.c \
90 mmath.c \
91 pixel.c \
92 points.c \
93 polygon.c \
94 rastpos.c \
95 state.c \
96 stencil.c \
97 texformat.c \
98 teximage.c \
99 texobj.c \
100 texstate.c \
101 texstore.c \
102 texutil.c \
103 varray.c \
104 vtxfmt.c \
105 X86/x86.c \
106 X86/common_x86.c \
107 X86/3dnow.c \
108 X86/sse.c \
109 math/m_debug_clip.c \
110 math/m_debug_norm.c \
111 math/m_debug_vertex.c \
112 math/m_debug_xform.c \
113 math/m_eval.c \
114 math/m_matrix.c \
115 math/m_translate.c \
116 math/m_vector.c \
117 math/m_vertices.c \
118 math/m_xform.c \
119 array_cache/ac_context.c \
120 array_cache/ac_import.c \
121 swrast/s_aaline.c \
122 swrast/s_aatriangle.c \
123 swrast/s_accum.c \
124 swrast/s_alpha.c \
125 swrast/s_alphabuf.c \
126 swrast/s_bitmap.c \
127 swrast/s_blend.c \
128 swrast/s_buffers.c \
129 swrast/s_copypix.c \
130 swrast/s_context.c \
131 swrast/s_depth.c \
132 swrast/s_drawpix.c \
133 swrast/s_feedback.c \
134 swrast/s_fog.c \
135 swrast/s_histogram.c \
136 swrast/s_imaging.c \
137 swrast/s_lines.c \
138 swrast/s_logic.c \
139 swrast/s_masking.c \
140 swrast/s_pixeltex.c \
141 swrast/s_points.c \
142 swrast/s_readpix.c \
143 swrast/s_span.c \
144 swrast/s_stencil.c \
145 swrast/s_texture.c \
146 swrast/s_texstore.c \
147 swrast/s_triangle.c \
148 swrast/s_zoom.c \
149 swrast_setup/ss_context.c \
150 swrast_setup/ss_triangle.c \
151 swrast_setup/ss_vb.c \
152 tnl/t_array_api.c \
153 tnl/t_array_import.c \
154 tnl/t_context.c \
155 tnl/t_eval_api.c \
156 tnl/t_imm_alloc.c \
157 tnl/t_imm_api.c \
158 tnl/t_imm_debug.c \
159 tnl/t_imm_dlist.c \
160 tnl/t_imm_elt.c \
161 tnl/t_imm_eval.c \
162 tnl/t_imm_exec.c \
163 tnl/t_imm_fixup.c \
164 tnl/t_pipeline.c \
165 tnl/t_vb_fog.c \
166 tnl/t_vb_light.c \
167 tnl/t_vb_normals.c \
168 tnl/t_vb_points.c \
169 tnl/t_vb_render.c \
170 tnl/t_vb_texgen.c \
171 tnl/t_vb_texmat.c \
172 tnl/t_vb_vertex.c
173
174 GL_OBJECTS = $(GL_SOURCES:.c=.o)
175 GL_OBJNAME = $(MESA_LIBDIR)/objMesaGL.o
176
177 #### X86 #####
178
179 x86_files = \
180 X86/common_x86_asm.S \
181 X86/glapi_x86.S \
182 X86/x86_cliptest.S \
183 X86/x86_vertex.S \
184 X86/x86_xform2.S \
185 X86/x86_xform3.S \
186 X86/x86_xform4.S \
187
188 x3dnow_files = \
189 X86/3dnow_normal.S \
190 X86/3dnow_vertex.S \
191 X86/3dnow_xform1.S \
192 X86/3dnow_xform2.S \
193 X86/3dnow_xform3.S \
194 X86/3dnow_xform4.S
195
196 sse_files = \
197 X86/sse_normal.S \
198 X86/sse_vertex.S \
199 X86/sse_xform1.S \
200 X86/sse_xform2.S \
201 X86/sse_xform3.S \
202 X86/sse_xform4.S
203
204 mmx_files = X86/mmx_blend.S
205
206 X86_OBJNAME = $(MESA_LIBDIR)/objMesaX86.o
207
208 ##### UGL #####
209
210 UGL_SOURCES = \
211 windml/ugl_api.c \
212 windml/ugl_dd.c \
213 windml/ugl_span.c \
214 windml/ugl_line.c \
215 windml/ugl_tri.c \
216 windml/tornado/torMesaUGLInit.c
217
218 UGL_OBJECTS = $(UGL_SOURCES:.c=.o)
219 UGL_OBJNAME = $(MESA_LIBDIR)/objMesaUGL.o
220
221 ##### OS #####
222
223 OS_SOURCES = OSmesa/osmesa.c windml/tornado/torMesaOSInit.c
224 OS_OBJECTS = $(OS_SOURCES:.c=.o)
225 OS_OBJNAME = $(MESA_LIBDIR)/objMesaOS.o
226
227 ##### GLUTSHAPES #####
228
229 GLUTSHAPES_SOURCES = \
230 windml/ugl_glutshapes.c \
231 windml/tornado/torGLUTShapesInit.c
232
233 GLUTSHAPES_OBJECTS = $(GLUTSHAPES_SOURCES:.c=.o)
234 GLUTSHAPES_OBJNAME = $(MESA_LIBDIR)/objGLUTShapes.o
235
236 SOURCES = $(GL_SOURCES) $(UGL_SOURCES) $(OS_SOURCES) \
237 $(GLUTSHAPES_SOURCES)
238
239 ##### TARGETS #####
240
241 all: depend.$(CPU)$(TOOL) cfgX86 $(X86_OBJNAME) $(GL_OBJNAME)\
242 $(UGL_OBJNAME) $(OS_OBJNAME) $(GLUTSHAPES_OBJNAME)
243
244 #histogram.o:
245 # $(CC) $(CFLAGS) -O1 $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $<
246
247 #image.o:
248 # $(CC) $(CFLAGS) -O1 $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $<
249
250 cfgX86:
251 ifdef HAVE_3DNOW
252 x3dnow_sources = $(x3dnow_files)
253 CFLAGS_3DNOW = -DUSE_3DNOW_ASM
254 HAVE_X86 = 1
255 endif
256 ifdef HAVE_SSE
257 sse_sources = $(sse_files)
258 CFLAGS_SSE = -DUSE_SSE_ASM
259 HAVE_X86 = 1
260 endif
261 ifdef HAVE_MMX
262 mmx_sources = $(mmx_files)
263 CFLAGS_MMX = -DUSE_MMX_ASM
264 HAVE_X86 = 1
265 endif
266 ifdef HAVE_X86
267 x86_sources = $(x86_files)
268 CFLAGS_X86 = -DUSE_X86_ASM
269 endif
270 X86_SOURCES = $(x86_sources) $(mmx_sources) \
271 $(x3dnow_sources) $(sse_sources)
272 X86_OBJECTS = $(X86_SOURCES:.S=.o)
273 CFLAGS_USE_X86 = $(CFLAGS_3DNOW) $(CFLAGS_SSE) $(CFLAGS_MMX) $(CFLAGS_X86)
274
275 #X86/matypes.h: mtypes.h tnl/t_context.h X86/gen_matypes.c
276 # $(CC) -I ./ X86/gen_matypes.c -o X86/gen_matypes
277 # ./X86/gen_matypes > X86/matypes.h
278 # $(RM) X86/gen_matypes
279 # $(RM) X86/gen_matypes.o
280
281 # Make the Mesax86 library
282 $(X86_OBJNAME): $(X86_OBJECTS)
283 ifdef HAVE_X86
284 # $(LD) -r $(X86_OBJECTS) -o $(MESA_OBJNAME)
285 $(LD) -r $(X86_OBJECTS) -o $(X86_OBJNAME)
286 # $(AR) rus $(MESA_LIBNAME) $(X86_OBJNAME)
287 # $(RM) $(X86_OBJNAME)
288 endif
289
290 # Make the GL library
291 $(GL_OBJNAME): $(GL_OBJECTS)
292 # $(LD) -r $(GL_OBJECTS) -o $(MESA_OBJNAME)
293 $(LD) -r $(GL_OBJECTS) -o $(GL_OBJNAME)
294 # $(AR) rus $(MESA_LIBNAME) $(GL_OBJNAME)
295 # $(AR) rus $(VX_LIBNAME) $(GL_OBJNAME)
296 # $(RM) $(GL_OBJNAME)
297
298 # Make the UGLMesa library
299 $(UGL_OBJNAME): $(UGL_OBJECTS)
300 # $(LD) -r $(UGL_OBJECTS) -o $(MESA_OBJNAME)
301 $(LD) -r $(UGL_OBJECTS) -o $(UGL_OBJNAME)
302 # $(AR) rus $(MESA_LIBNAME) $(UGL_OBJNAME)
303 # $(AR) rus $(VX_LIBNAME) $(UGL_OBJNAME)
304 # $(RM) $(UGL_OBJNAME)
305
306 # Make the OSMesa library
307 $(OS_OBJNAME): $(OS_OBJECTS)
308 # $(LD) -r $(OS_OBJECTS) -o $(MESA_OBJNAME)
309 $(LD) -r $(OS_OBJECTS) -o $(OS_OBJNAME)
310 # $(AR) rus $(MESA_LIBNAME) $(OS_OBJNAME)
311 # $(AR) rus $(VX_LIBNAME) $(OS_OBJNAME)
312 # $(RM) $(OS_OBJNAME)
313
314 # Make the GLUT Shapes library
315 $(GLUTSHAPES_OBJNAME): $(GLUTSHAPES_OBJECTS)
316 # $(LD) -r $(GLUTSHAPES_OBJECTS) -o $(MESA_OBJNAME)
317 $(LD) -r $(GLUTSHAPES_OBJECTS) -o $(GLUTSHAPES_OBJNAME)
318 # $(AR) rus $(MESA_LIBNAME) $(GLUTSHAPES_OBJNAME)
319 # $(AR) rus $(VX_LIBNAME) $(GLUTSHAPES_OBJNAME)
320 # $(RM) $(GLUTSHAPES_OBJNAME)
321
322 depend.$(CPU)$(TOOL):
323 ifeq ($(WIND_HOST_TYPE),x86-win32)
324 @ $(RM) $@
325 @ $(ECHO) Creating depend.$(CPU)$(TOOL)
326 ifneq ($(SOURCES),)
327 @ for %f in ($(SOURCES)) do \
328 $(CC) -MM $(CFLAGS) %f >>$@
329 endif
330 else
331 Makefile
332 @ $(RM) $@
333 @ $(ECHO) "Creating depend.$(CPU)$(TOOL)"
334 ifneq ($(SOURCES),)
335 @ for FILE in $(filter-out $(NODEPENDOBJS), $(SOURCES)); \
336 do \
337 $(CC) -MM $(CFLAGS) $$FILE \
338 | $(TCL) $(BIN_DIR)/depend.tcl $(TGT_DIR) >>$@; \
339 done
340 endif
341 endif
342
343 .PHONY = clean
344
345 clean:
346 # $(AR) d $(MESA_LIBNAME) $(GL_OBJNAME)
347 # $(AR) d $(MESA_LIBNAME) $(UGL_OBJNAME)
348 # $(AR) d $(MESA_LIBNAME) $(OS_OBJNAME)
349 # $(AR) d $(MESA_LIBNAME) $(GLUTSHAPES_OBJNAME)
350 # $(AR) d $(VX_LIBNAME) $(GL_OBJNAME)
351 # $(AR) d $(VX_LIBNAME) $(UGL_OBJNAME)
352 # $(AR) d $(VX_LIBNAME) $(OS_OBJNAME)
353 # $(AR) d $(VX_LIBNAME) $(GLUTSHAPES_OBJNAME)
354 $(RM) $(GL_OBJECTS)
355 $(RM) $(UGL_OBJECTS)
356 $(RM) $(OS_OBJECTS)
357 $(RM) $(GLUTSHAPES_OBJECTS)
358 $(RM) $(GL_OBJNAME)
359 $(RM) $(UGL_OBJNAME)
360 $(RM) $(OS_OBJNAME)
361 $(RM) $(GLUTSHAPES_OBJNAME)
362 $(RM) depend.$(CPU)$(TOOL)
363
364 include depend.$(CPU)$(TOOL)
365