1 # Mesa 3-D graphics library
3 # Copyright (C) 1995-2003 Brian Paul
5 # Makefile for core library
14 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
16 GL_LIB_NAME = "GL" # may be overridden in Make-config
17 OSMESA_LIB_NAME = "OSMesa" # may be overridden in Make-config
87 math/m_debug_xform.c \
93 array_cache/ac_context.c \
94 array_cache/ac_import.c \
96 swrast/s_aatriangle.c \
107 swrast/s_feedback.c \
113 swrast/s_nvfragprog.c \
114 swrast/s_pixeltex.c \
120 swrast/s_texstore.c \
121 swrast/s_triangle.c \
123 swrast_setup/ss_context.c \
124 swrast_setup/ss_triangle.c \
125 swrast_setup/ss_vb.c \
127 tnl/t_array_import.c \
151 drivers/glide/fxapi.c \
152 drivers/glide/fxdd.c \
153 drivers/glide/fxddspan.c \
154 drivers/glide/fxddtex.c \
155 drivers/glide/fxsetup.c \
156 drivers/glide/fxtexman.c \
157 drivers/glide/fxtris.c \
158 drivers/glide/fxvb.c \
159 drivers/glide/fxglidew.c \
160 drivers/x11/glxapi.c \
161 drivers/x11/fakeglx.c \
162 drivers/x11/xfonts.c \
163 drivers/x11/xm_api.c \
164 drivers/x11/xm_dd.c \
165 drivers/x11/xm_line.c \
166 drivers/x11/xm_span.c \
167 drivers/x11/xm_tri.c \
168 drivers/svga/svgamesa.c \
169 drivers/svga/svgamesa8.c \
170 drivers/svga/svgamesa15.c \
171 drivers/svga/svgamesa16.c \
172 drivers/svga/svgamesa24.c \
173 drivers/svga/svgamesa32.c
180 OBJECTS = $(ASM_SOURCES:.S=.o) \
181 $(CORE_SOURCES:.c=.o) \
182 $(DRIVER_SOURCES:.c=.o) \
185 CORE_OBJECTS = $(CORE_SOURCES:.c=.o)
187 OSMESA_SOURCES = drivers/osmesa/osmesa.c
188 OSMESA_OBJECTS = drivers/osmesa/osmesa.o
193 -I$(TOP)/src/mesa/main \
194 -I$(TOP)/src/mesa/glapi \
195 -I$(TOP)/src/mesa/math \
196 -I$(TOP)/src/mesa/transform \
197 -I$(TOP)/src/mesa/swrast \
198 -I$(TOP)/src/mesa/swrast_setup
205 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
208 $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
212 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
213 X86/common_x86.o: X86/common_x86.c
214 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
215 X86/common_x86_asm.o: X86/common_x86_asm.S X86/matypes.h
216 X86/3dnow.o: X86/3dnow.c
217 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
219 $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
220 X86/matypes.h: mtypes.h tnl/t_context.h X86/gen_matypes.c
221 $(CC) -I. -I$(INCDIR) $(CFLAGS) X86/gen_matypes.c -o X86/gen_matypes
222 ./X86/gen_matypes > X86/matypes.h
223 rm -f X86/gen_matypes X86/*.o
225 # We have X86/matypes.h depend on X86/matypes.h so that if ASM_SOURCES
226 # is empty we don't get an invalid Makefile.
227 $(ASM_SOURCES) X86/matypes.h: X86/matypes.h
233 # @echo "Specify a target configuration"
236 -rm -f *.o *~ */*.o */*~ *.lo *.la
239 targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB)
241 # Make the GL library
242 $(LIBDIR)/$(GL_LIB): $(OBJECTS)
243 $(TOP)/bin/mklib -o $(GL_LIB_NAME) -major $(GL_MAJOR) \
244 -minor $(GL_MINOR) -patch $(GL_TINY) -install $(LIBDIR) \
245 $(GL_LIB_DEPS) $(OBJECTS)
248 # Make the OSMesa library
249 $(LIBDIR)/$(OSMESA_LIB): $(OSMESA_OBJECTS)
250 if [ ${OSMESA_LIB} ] ; then $(TOP)/bin/mklib -o $(OSMESA_LIB_NAME) \
251 -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(GL_TINY) \
252 -L$(LIBDIR) -l$(GL_LIB_NAME) -install $(LIBDIR) \
253 $(OSMESA_OBJECTS) ; fi
255 # Make an optional library with _just_ core objects
256 libmesa: $(LIBDIR)/$(MESA_LIB)
257 if [ ${MESA_LIB} ] ; then $(MAKELIB) $(MESA_LIB) $(MESA_MAJOR) $(MESA_MINOR) $(GL_TINY) $(CORE_OBJECTS) ; fi
258 if [ ${MESA_LIB} ] ; then rm -f $(LIBDIR)/$(MESA_LIB)* ; fi
259 if [ ${MESA_LIB} ] ; then mv $(MESA_LIB)* $(LIBDIR) ; fi
262 $(LIBDIR)/$(MESA_LIB): $(CORE_OBJECTS)
264 include $(TOP)/Make-config
271 # Run 'make dep' to update the dependencies if you change what's included
272 # by any source file.
274 dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
275 makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
278 etags `find . -name \*.[ch]` `find ../include`