generate separate libOSMesa library ala XFree86/DRI
[mesa.git] / src / mesa / Makefile.X11
1 # $Id: Makefile.X11,v 1.25 2000/10/23 19:43:38 brianp 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 CORE_SOURCES = \
23 aatriangle.c \
24 accum.c \
25 alpha.c \
26 alphabuf.c \
27 attrib.c \
28 bbox.c \
29 bitmap.c \
30 blend.c \
31 buffers.c \
32 clip.c \
33 colortab.c \
34 config.c \
35 context.c \
36 convolve.c \
37 copypix.c \
38 cva.c \
39 debug_xform.c \
40 depth.c \
41 dispatch.c \
42 dlist.c \
43 drawpix.c \
44 enable.c \
45 enums.c \
46 eval.c \
47 extensions.c \
48 feedback.c \
49 fog.c \
50 get.c \
51 glapi.c \
52 glapinoop.c \
53 glthread.c \
54 hash.c \
55 hint.c \
56 image.c \
57 imaging.c \
58 imports.c \
59 light.c \
60 lines.c \
61 logic.c \
62 masking.c \
63 matrix.c \
64 mem.c \
65 mmath.c \
66 pb.c \
67 pipeline.c \
68 pixel.c \
69 pixeltex.c \
70 points.c \
71 polygon.c \
72 quads.c \
73 rastpos.c \
74 readpix.c \
75 rect.c \
76 scissor.c \
77 shade.c \
78 span.c \
79 stages.c \
80 state.c \
81 stencil.c \
82 teximage.c \
83 texobj.c \
84 texstate.c \
85 texture.c \
86 texutil.c \
87 translate.c \
88 triangle.c \
89 varray.c \
90 vb.c \
91 vbcull.c \
92 vbfill.c \
93 vbindirect.c \
94 vbrender.c \
95 vbxform.c \
96 vector.c \
97 vertices.c \
98 winpos.c \
99 xform.c \
100 zoom.c \
101 X86/x86.c \
102 X86/common_x86.c \
103 X86/3dnow.c \
104 X86/katmai.c
105
106 DRIVER_SOURCES = \
107 X/glxapi.c \
108 X/fakeglx.c \
109 X/xfonts.c \
110 X/xm_api.c \
111 X/xm_dd.c \
112 X/xm_line.c \
113 X/xm_span.c \
114 X/xm_tri.c \
115 SVGA/svgamesa.c \
116 SVGA/svgamesa8.c \
117 SVGA/svgamesa15.c \
118 SVGA/svgamesa16.c \
119 SVGA/svgamesa24.c \
120 SVGA/svgamesa32.c \
121 FX/fxapi.c \
122 FX/fxclip.c \
123 FX/fxcva.c \
124 FX/fxdd.c \
125 FX/fxddspan.c \
126 FX/fxddtex.c \
127 FX/fxfastpath.c \
128 FX/fxpipeline.c \
129 FX/fxrender.c \
130 FX/fxsanity.c \
131 FX/fxsetup.c \
132 FX/fxtexman.c \
133 FX/fxtrifuncs.c \
134 FX/fxvsetup.c \
135 FX/fxglidew.c \
136 Trace/tr_2string.c \
137 Trace/tr_attrib.c \
138 Trace/tr_context.c \
139 Trace/tr_control.c \
140 Trace/tr_error.c \
141 Trace/tr_print.c \
142 Trace/tr_wrapper.c
143
144
145 ASM_SOURCES =
146
147 ADDITIONAL_OBJ =
148
149 OBJECTS = $(ASM_SOURCES:.S=.o) \
150 $(CORE_SOURCES:.c=.o) \
151 $(DRIVER_SOURCES:.c=.o) \
152 $(ADDITIONAL_OBJ)
153
154
155 OSMESA_SOURCES = OSmesa/osmesa.c
156 OSMESA_OBJECTS = OSmesa/osmesa.o
157
158
159
160 ##### RULES #####
161
162 .c.o:
163 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
164
165 .S.o:
166 $(CC) -c -I. $(CFLAGS) $< -o $@
167
168
169 # UGH! These rules shouldn't be needed but IRIX's make (and others?) needs them
170 X/glxapi.o: X/glxapi.c
171 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
172 X/fakeglx.o: X/fakeglx.c
173 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
174 X/xfonts.o: X/xfonts.c
175 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
176 X/xm_api.o: X/xm_api.c
177 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
178 X/xm_dd.o: X/xm_dd.c
179 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
180 X/xm_span.o: X/xm_span.c
181 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
182 X/xm_line.o: X/xm_line.c
183 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
184 X/xm_tri.o: X/xm_tri.c
185 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
186
187 SVGA/svgamesa.o: SVGA/svgamesa.c
188 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
189 SVGA/svgamesa8.o: SVGA/svgamesa8.c
190 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
191 SVGA/svgamesa15.o: SVGA/svgamesa15.c
192 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
193 SVGA/svgamesa16.o: SVGA/svgamesa16.c
194 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
195 SVGA/svgamesa24.o: SVGA/svgamesa24.c
196 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
197 SVGA/svgamesa32.o: SVGA/svgamesa32.c
198 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
199
200 OSmesa/osmesa.o: OSmesa/osmesa.c
201 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
202
203 FX/fxapi.o: FX/fxapi.c
204 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
205 FX/fxclip.o: FX/fxclip.c
206 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
207 FX/fxcva.o: FX/fxcva.c
208 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
209 FX/fxdd.o: FX/fxdd.c
210 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
211 FX/fxddspan.o: FX/fxddspan.c
212 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
213 FX/fxddtex.o: FX/fxddtex.c
214 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
215 FX/fxfastpath.o: FX/fxfastpath.c
216 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
217 FX/fxpipeline.o: FX/fxpipeline.c
218 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
219 FX/fxrender.o: FX/fxrender.c
220 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
221 FX/fxsanity.o: FX/fxsanity.c
222 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
223 FX/fxsetup.o: FX/fxsetup.c
224 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
225 FX/fxtrifuncs.o: FX/fxtrifuncs.c
226 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
227 FX/fxtexman.o: FX/fxtexman.c
228 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
229 FX/fxvsetup.o: FX/fxvsetup.c
230 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
231 FX/fxglidew.o: FX/fxglidew.c
232 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
233
234 FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S
235
236 X86/x86.o: X86/x86.c
237 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
238 X86/common_x86.o: X86/common_x86.c
239 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
240 X86/3dnow.o: X86/3dnow.c
241 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
242 X86/katmai.o: X86/katmai.c
243 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
244
245 GGI/ggimesa.o: GGI/ggimesa.c
246 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
247
248 Trace/tr_2string.o: Trace/tr_2string.c
249 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
250 Trace/tr_attrib.o: Trace/tr_attrib.c
251 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
252 Trace/tr_context.o: Trace/tr_context.c
253 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
254 Trace/tr_control.o: Trace/tr_control.c
255 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
256 Trace/tr_error.o: Trace/tr_error.c
257 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
258 Trace/tr_print.o: Trace/tr_print.c
259 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
260 Trace/tr_wrapper.o: Trace/tr_wrapper.c
261 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
262
263
264
265 ##### TARGETS #####
266
267 #default:
268 # @echo "Specify a target configuration"
269
270 clean:
271 -rm *.o *~ */*.o */*~ *.lo *.la
272 -rm -rf .libs
273
274 targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB)
275
276 # Make the GL library
277 $(LIBDIR)/$(GL_LIB): $(OBJECTS)
278 $(MAKELIB) $(GL_LIB) $(GL_MAJOR) $(GL_MINOR) $(GL_TINY) $(OBJECTS)
279 rm -f $(LIBDIR)/$(GL_LIB)*
280 mv $(GL_LIB)* $(LIBDIR)
281
282
283 # Make the OSMesa library
284 $(LIBDIR)/$(OSMESA_LIB): $(OSMESA_OBJECTS)
285 if [ ${OSMESA_LIB} ] ; then $(MAKELIB) $(OSMESA_LIB) $(MESA_MAJOR) $(MESA_MINOR) $(GL_TINY) $(OSMESA_OBJECTS) ; fi
286 if [ ${OSMESA_LIB} ] ; then rm -f $(LIBDIR)/$(OSMESA_LIB)* ; fi
287 if [ ${OSMESA_LIB} ] ; then mv $(OSMESA_LIB)* $(LIBDIR) ; fi
288
289
290 include ../Make-config
291
292 include depend
293
294
295
296 #
297 # Run 'make dep' to update the dependencies if you change what's included
298 # by any source file.
299 #
300 dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
301 makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
302
303 tags:
304 etags `find . -name \*.[ch]` `find ../include`