Pārlūkot izejas kodu

improved makefiles

tags/R300_DRIVER_0
Brian Paul pirms 22 gadiem
vecāks
revīzija
ecc150c626
3 mainītis faili ar 104 papildinājumiem un 488 dzēšanām
  1. 20
    240
      src/mesa/Makefile.OSMesa16
  2. 14
    248
      src/mesa/Makefile.X11
  3. 70
    0
      src/mesa/Makefile.solo

+ 20
- 240
src/mesa/Makefile.OSMesa16 Parādīt failu

@@ -1,10 +1,7 @@

# Mesa 3-D graphics library
# Version: 5.1
# Copyright (C) 1995-2003 Brian Paul

# Makefile for building Mesa for 16/32-bit/channel rendering with the OSMesa
# driver.
# Makefile for building the OSMesa library with deep color channel support.
# This is a bit different from the normal libOSMesa.so library in that
# the libs made here will contain a full Mesa implementation (i.e. the
# OSMesa lib won't piggyback on libGL.so)


##### MACROS #####
@@ -15,228 +12,35 @@ GL_MAJOR = 1
GL_MINOR = 4
GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)

GL_LIB_NAME = "GL" # may be overridden in Make-config
OSMESA_LIB_NAME = "OSMesa16" # may be overridden in Make-config

VPATH = RCS

LIBDIR = $(TOP)/lib


### Lists of source files

MAIN_SOURCES = \
main/api_arrayelt.c \
main/api_loopback.c \
main/api_noop.c \
main/api_validate.c \
main/accum.c \
main/arbparse.c \
main/arbprogram.c \
main/arbfragparse.c \
main/arbvertparse.c \
main/attrib.c \
main/blend.c \
main/bufferobj.c \
main/buffers.c \
main/clip.c \
main/colortab.c \
main/context.c \
main/convolve.c \
main/debug.c \
main/depth.c \
main/dispatch.c \
main/dlist.c \
main/drawpix.c \
main/enable.c \
main/enums.c \
main/eval.c \
main/extensions.c \
main/feedback.c \
main/fog.c \
main/get.c \
main/hash.c \
main/hint.c \
main/histogram.c \
main/image.c \
main/imports.c \
main/light.c \
main/lines.c \
main/matrix.c \
main/nvprogram.c \
main/nvfragparse.c \
main/nvvertexec.c \
main/nvvertparse.c \
main/occlude.c \
main/pixel.c \
main/points.c \
main/polygon.c \
main/program.c \
main/rastpos.c \
main/state.c \
main/stencil.c \
main/texcompress.c \
main/texformat.c \
main/teximage.c \
main/texobj.c \
main/texstate.c \
main/texstore.c \
main/texutil.c \
main/varray.c \
main/vtxfmt.c

GLAPI_SOURCES = \
glapi/glapi.c \
glapi/glthread.c

MATH_SOURCES = \
math/m_debug_clip.c \
math/m_debug_norm.c \
math/m_debug_xform.c \
math/m_eval.c \
math/m_matrix.c \
math/m_translate.c \
math/m_vector.c \
math/m_xform.c

ARRAY_CACHE_SOURCES = \
array_cache/ac_context.c \
array_cache/ac_import.c

SWRAST_SOURCES = \
swrast/s_aaline.c \
swrast/s_aatriangle.c \
swrast/s_accum.c \
swrast/s_alpha.c \
swrast/s_alphabuf.c \
swrast/s_bitmap.c \
swrast/s_blend.c \
swrast/s_buffers.c \
swrast/s_copypix.c \
swrast/s_context.c \
swrast/s_depth.c \
swrast/s_drawpix.c \
swrast/s_feedback.c \
swrast/s_fog.c \
swrast/s_imaging.c \
swrast/s_lines.c \
swrast/s_logic.c \
swrast/s_masking.c \
swrast/s_nvfragprog.c \
swrast/s_pixeltex.c \
swrast/s_points.c \
swrast/s_readpix.c \
swrast/s_span.c \
swrast/s_stencil.c \
swrast/s_texture.c \
swrast/s_texstore.c \
swrast/s_triangle.c \
swrast/s_zoom.c

SWRAST_SETUP_SOURCES = \
swrast_setup/ss_context.c \
swrast_setup/ss_triangle.c \
swrast_setup/ss_vb.c

TNL_SOURCES = \
tnl/t_array_api.c \
tnl/t_array_import.c \
tnl/t_context.c \
tnl/t_pipeline.c \
tnl/t_save_api.c \
tnl/t_save_loopback.c \
tnl/t_save_playback.c \
tnl/t_vb_fog.c \
tnl/t_vb_light.c \
tnl/t_vb_normals.c \
tnl/t_vb_points.c \
tnl/t_vb_program.c \
tnl/t_vb_render.c \
tnl/t_vb_texgen.c \
tnl/t_vb_texmat.c \
tnl/t_vb_vertex.c \
tnl/t_vtx_api.c \
tnl/t_vtx_eval.c \
tnl/t_vtx_exec.c


ASM_C_SOURCES = \
x86/common_x86.c \
x86/x86.c \
x86/3dnow.c \
x86/sse.c \
sparc/sparc.c

X86_SOURCES = \
x86/common_x86_asm.S \
x86/glapi_x86.S \
x86/x86_xform2.S \
x86/x86_xform3.S \
x86/x86_xform4.S \
x86/x86_cliptest.S \
x86/mmx_blend.S \
x86/3dnow_xform1.S \
x86/3dnow_xform2.S \
x86/3dnow_xform3.S \
x86/3dnow_xform4.S \
x86/3dnow_normal.S \
x86/sse_xform1.S \
x86/sse_xform2.S \
x86/sse_xform3.S \
x86/sse_xform4.S \
x86/sse_normal.S

SPARC_SOURCES = \
sparc/clip.S \
sparc/glapi_sparc.S \
sparc/norm.S \
sparc/xform.S

### Groups of files

CORE_SOURCES = \
$(MAIN_SOURCES) \
$(GLAPI_SOURCES) \
$(MATH_SOURCES) \
$(ARRAY_CACHE_SOURCES) \
$(TNL_SOURCES) \
$(SWRAST_SOURCES) \
$(SWRAST_SETUP_SOURCES) \
$(ASM_C_SOURCES)
include sources


# This will probably get set to $(X86_SOURCES) in Make-config:
ASM_SOURCES =

OSMESA_DRIVER_SOURCES = \
drivers/osmesa/osmesa.c
# All the sources we care about:
SOURCES = \
$(CORE_SOURCES) \
$(ASM_SOURCES) \
$(OSMESA_DRIVER_SOURCES)

### Object files

CORE_OBJECTS = $(CORE_SOURCES:.c=.o)

ASM_OBJECTS = $(ASM_SOURCES:.S=.o)

OSMESA_OBJECTS = $(OSMESA_DRIVER_SOURCES:.c=.o)

# All the objects we want to make:
OBJECTS = \
$(CORE_OBJECTS) \
$(ASM_OBJECTS) \
$(OSMESA_OBJECTS)


### Include directories

INCLUDE_DIRS = \
-I$(TOP)/include \
-I$(TOP)/src/mesa \
-I$(TOP)/src/mesa/main \
-I$(TOP)/src/mesa/glapi \
-I$(TOP)/src/mesa/math \
-I$(TOP)/src/mesa/transform \
-I$(TOP)/src/mesa/swrast \
-I$(TOP)/src/mesa/swrast_setup



##### RULES #####

@@ -247,13 +51,6 @@ INCLUDE_DIRS = \
$(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@


x86/matypes.h: main/mtypes.h tnl/t_context.h x86/gen_matypes.c
$(CC) $(INCLUDE_DIRS) $(CFLAGS) x86/gen_matypes.c -o x86/gen_matypes
./x86/gen_matypes > x86/matypes.h
rm -f x86/gen_matypes x86/*.o

x86/common_x86_asm.o: x86/matypes.h



##### TARGETS #####
@@ -262,38 +59,21 @@ default:
@echo "Specify a target configuration"


targets: $(LIBDIR)/$(OSMESA16_LIB)

# Make the 16-bit/channel OSMesa library
$(LIBDIR)/$(OSMESA16_LIB): $(OBJECTS)
$(TOP)/bin/mklib $(MAKELIB_FLAGS) -o $(OSMESA_LIB_NAME) -major $(GL_MAJOR) \
-minor $(GL_MINOR) -patch $(GL_TINY) -install $(LIBDIR) \
$(GL_LIB_DEPS) $(OBJECTS)
targets: $(LIBDIR)/$(OSMESA_LIB)


# Make the 16-bit/channel or 32-bit/channel OSMesa library
$(LIBDIR)/$(OSMESA_LIB): $(OBJECTS)
$(TOP)/bin/mklib $(MAKELIB_FLAGS) -o $(OSMESA_LIB_NAME) \
-major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
-install $(LIBDIR) $(GL_LIB_DEPS) $(OBJECTS)


#
# Run 'make dep' to update the dependencies if you change what's included
# by any source file.
#
dep: $(CORE_SOURCES) $(OSMESA_DRIVER_SOURCES) $(ASM_SOURCES)
makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX \
$(CORE_SOURCES) $(OSMESA_DRIVER_SOURCES) \
$(ASM_SOURCES)

dep: $(CORE_SOURCES)
makedepend -fdepend -Y -I../include $(CORE_SOURCES)

tags:
etags `find . -name \*.[ch]` `find ../include`

dep: $(SOURCES)
makedepend -fdepend -Y $(INCLUDE_DIRS) $(SOURCES)

# Remove .o and backup files
clean:
-rm -f *.a
-rm -f */*.o */*~ */*.o */*~
-rm -f drivers/*/*.o drivers/*/*/*.o


include $(TOP)/Make-config

+ 14
- 248
src/mesa/Makefile.X11 Parādīt failu

@@ -1,4 +1,4 @@
# Makefile for core Mesa library
# Makefile for main Mesa library for Unix/X11-like systems


##### MACROS #####
@@ -12,271 +12,42 @@ GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
GL_LIB_NAME = "GL" # may be overridden in Make-config
OSMESA_LIB_NAME = "OSMesa" # may be overridden in Make-config

VPATH = RCS

LIBDIR = $(TOP)/lib


### Lists of source files

MAIN_SOURCES = \
main/api_arrayelt.c \
main/api_loopback.c \
main/api_noop.c \
main/api_validate.c \
main/accum.c \
main/arbparse.c \
main/arbprogram.c \
main/arbfragparse.c \
main/arbvertparse.c \
main/attrib.c \
main/blend.c \
main/bufferobj.c \
main/buffers.c \
main/clip.c \
main/colortab.c \
main/context.c \
main/convolve.c \
main/debug.c \
main/depth.c \
main/dispatch.c \
main/dlist.c \
main/drawpix.c \
main/enable.c \
main/enums.c \
main/eval.c \
main/extensions.c \
main/feedback.c \
main/fog.c \
main/get.c \
main/hash.c \
main/hint.c \
main/histogram.c \
main/image.c \
main/imports.c \
main/light.c \
main/lines.c \
main/matrix.c \
main/nvprogram.c \
main/nvfragparse.c \
main/nvvertexec.c \
main/nvvertparse.c \
main/occlude.c \
main/pixel.c \
main/points.c \
main/polygon.c \
main/program.c \
main/rastpos.c \
main/state.c \
main/stencil.c \
main/texcompress.c \
main/texformat.c \
main/teximage.c \
main/texobj.c \
main/texstate.c \
main/texstore.c \
main/texutil.c \
main/varray.c \
main/vtxfmt.c

GLAPI_SOURCES = \
glapi/glapi.c \
glapi/glthread.c

MATH_SOURCES = \
math/m_debug_clip.c \
math/m_debug_norm.c \
math/m_debug_xform.c \
math/m_eval.c \
math/m_matrix.c \
math/m_translate.c \
math/m_vector.c \
math/m_xform.c

ARRAY_CACHE_SOURCES = \
array_cache/ac_context.c \
array_cache/ac_import.c

SWRAST_SOURCES = \
swrast/s_aaline.c \
swrast/s_aatriangle.c \
swrast/s_accum.c \
swrast/s_alpha.c \
swrast/s_alphabuf.c \
swrast/s_bitmap.c \
swrast/s_blend.c \
swrast/s_buffers.c \
swrast/s_copypix.c \
swrast/s_context.c \
swrast/s_depth.c \
swrast/s_drawpix.c \
swrast/s_feedback.c \
swrast/s_fog.c \
swrast/s_imaging.c \
swrast/s_lines.c \
swrast/s_logic.c \
swrast/s_masking.c \
swrast/s_nvfragprog.c \
swrast/s_pixeltex.c \
swrast/s_points.c \
swrast/s_readpix.c \
swrast/s_span.c \
swrast/s_stencil.c \
swrast/s_texture.c \
swrast/s_texstore.c \
swrast/s_triangle.c \
swrast/s_zoom.c

SWRAST_SETUP_SOURCES = \
swrast_setup/ss_context.c \
swrast_setup/ss_triangle.c \
swrast_setup/ss_vb.c

TNL_SOURCES = \
tnl/t_array_api.c \
tnl/t_array_import.c \
tnl/t_context.c \
tnl/t_pipeline.c \
tnl/t_save_api.c \
tnl/t_save_loopback.c \
tnl/t_save_playback.c \
tnl/t_vb_fog.c \
tnl/t_vb_light.c \
tnl/t_vb_normals.c \
tnl/t_vb_points.c \
tnl/t_vb_program.c \
tnl/t_vb_render.c \
tnl/t_vb_texgen.c \
tnl/t_vb_texmat.c \
tnl/t_vb_vertex.c \
tnl/t_vtx_api.c \
tnl/t_vtx_eval.c \
tnl/t_vtx_exec.c


ASM_C_SOURCES = \
x86/common_x86.c \
x86/x86.c \
x86/3dnow.c \
x86/sse.c \
sparc/sparc.c

X86_SOURCES = \
x86/common_x86_asm.S \
x86/glapi_x86.S \
x86/x86_xform2.S \
x86/x86_xform3.S \
x86/x86_xform4.S \
x86/x86_cliptest.S \
x86/mmx_blend.S \
x86/3dnow_xform1.S \
x86/3dnow_xform2.S \
x86/3dnow_xform3.S \
x86/3dnow_xform4.S \
x86/3dnow_normal.S \
x86/sse_xform1.S \
x86/sse_xform2.S \
x86/sse_xform3.S \
x86/sse_xform4.S \
x86/sse_normal.S

SPARC_SOURCES = \
sparc/clip.S \
sparc/glapi_sparc.S \
sparc/norm.S \
sparc/xform.S

X11_DRIVER_SOURCES = \
drivers/x11/glxapi.c \
drivers/x11/fakeglx.c \
drivers/x11/xfonts.c \
drivers/x11/xm_api.c \
drivers/x11/xm_dd.c \
drivers/x11/xm_line.c \
drivers/x11/xm_span.c \
drivers/x11/xm_tri.c

OSMESA_DRIVER_SOURCES = \
drivers/osmesa/osmesa.c

GLIDE_DRIVER_SOURCES = \
drivers/glide/fxapi.c \
drivers/glide/fxdd.c \
drivers/glide/fxddspan.c \
drivers/glide/fxddtex.c \
drivers/glide/fxsetup.c \
drivers/glide/fxtexman.c \
drivers/glide/fxtris.c \
drivers/glide/fxvb.c \
drivers/glide/fxglidew.c \
drivers/glide/fxg.c

SVGA_DRIVER_SOURCES = \
drivers/svga/svgamesa.c \
drivers/svga/svgamesa8.c \
drivers/svga/svgamesa15.c \
drivers/svga/svgamesa16.c \
drivers/svga/svgamesa24.c \
drivers/svga/svgamesa32.c

FBDEV_DRIVER_SOURCES = \
drivers/fbdev/glfbdev.c


### Groups of files

CORE_SOURCES = \
$(MAIN_SOURCES) \
$(GLAPI_SOURCES) \
$(MATH_SOURCES) \
$(ARRAY_CACHE_SOURCES) \
$(TNL_SOURCES) \
$(SWRAST_SOURCES) \
$(SWRAST_SETUP_SOURCES) \
$(ASM_C_SOURCES)
include sources


# This will probably get set to $(X86_SOURCES) in Make-config:
ASM_SOURCES =

ifndef SOLO
# This should get set in Make-config someday:
DRIVER_SOURCES = \
$(X11_DRIVER_SOURCES) \
$(GLIDE_DRIVER_SOURCES) \
$(SVGA_DRIVER_SOURCES) \
$(FBDEV_DRIVER_SOURCES)
endif

# All the sources we care about:
SOURCES = \
$(CORE_SOURCES) \
$(ASM_SOURCES) \
$(DRIVER_SOURCES)

### Object files

CORE_OBJECTS = $(CORE_SOURCES:.c=.o)
ASM_OBJECTS = $(ASM_SOURCES:.S=.o)

DRIVER_OBJECTS = $(DRIVER_SOURCES:.c=.o)

ASM_OBJECTS = $(ASM_SOURCES:.S=.o)

OSMESA_OBJECTS = $(OSMESA_DRIVER_SOURCES:.c=.o)

# All the objects we want to make:
OBJECTS = \
$(CORE_OBJECTS) \
$(ASM_OBJECTS) \
$(DRIVER_OBJECTS)


### Include directories

INCLUDE_DIRS = \
-I$(TOP)/include \
-I$(TOP)/src/mesa \
-I$(TOP)/src/mesa/main \
-I$(TOP)/src/mesa/glapi \
-I$(TOP)/src/mesa/math \
-I$(TOP)/src/mesa/transform \
-I$(TOP)/src/mesa/swrast \
-I$(TOP)/src/mesa/swrast_setup



##### RULES #####

@@ -302,7 +73,7 @@ default:
@echo "Specify a target configuration"


targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB) $(LIBMESA)
targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB)


# Make the GL library
@@ -323,6 +94,7 @@ $(LIBDIR)/$(OSMESA_LIB): $(OSMESA_OBJECTS)


# Make an optional library with _just_ core objects
# XXX this should probably be moved into a separate makefile
libmesa: $(LIBDIR)/$(MESA_LIB)
if [ ${MESA_LIB} ] ; then \
$(MAKELIB) $(MESA_LIB) $(MESA_MAJOR) \
@@ -330,20 +102,14 @@ libmesa: $(LIBDIR)/$(MESA_LIB)
fi
if [ ${MESA_LIB} ] ; then rm -f $(LIBDIR)/$(MESA_LIB)* ; fi
if [ ${MESA_LIB} ] ; then mv $(MESA_LIB)* $(LIBDIR) ; fi

$(LIBDIR)/$(MESA_LIB): $(CORE_OBJECTS)

mesa.a: $(CORE_OBJECTS)
rm -f $@ && ar rcv $@ $(CORE_OBJECTS) && ranlib $@



# Run 'make -f Makefile.X11 dep' to update the dependencies if you change
# what's included by any source file.
dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_DRIVER_SOURCES) $(ASM_SOURCES)
makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX \
$(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_DRIVER_SOURCES) \
$(ASM_SOURCES)
dep: $(SOURCES)
makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX $(SOURCES)


# Emacs tags

+ 70
- 0
src/mesa/Makefile.solo Parādīt failu

@@ -0,0 +1,70 @@
# Makefile for linux-solo (i.e. stand-alone DRI drivers for miniglx environment)
# We just generate a mesa.a file which is all the core Mesa sources. This will
# get linked into the DRI hardware drivers (name *_dri.so).


TOP = ../..

include sources

# The objects we want to make:
OBJECTS = \
$(CORE_OBJECTS)


##### RULES #####

.c.o:
$(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@

.S.o:
$(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@


x86/matypes.h: main/mtypes.h tnl/t_context.h x86/gen_matypes.c
$(CC) $(INCLUDE_DIRS) $(CFLAGS) x86/gen_matypes.c -o x86/gen_matypes
./x86/gen_matypes > x86/matypes.h
rm -f x86/gen_matypes x86/*.o

x86/common_x86_asm.o: x86/matypes.h



##### TARGETS #####

default:
@echo "Specify a target configuration"


targets: mesa.a


# Make archive of core object files for linux-solo DRI drivers
mesa.a: $(OBJECTS)
rm -f $@
ar rcv $@ $(OBJECTS)
ranlib $@



# Run 'make -f Makefile.solo dep' to update the dependencies if you change
# what's included by any source file.
dep: $(CORE_SOURCES) $(ASM_SOURCES)
makedepend -fdepend -Y $(INCLUDE_DIRS) $(CORE_SOURCES) $(ASM_SOURCES)


# Emacs tags
tags:
etags `find . -name \*.[ch]` `find ../include`


# Remove .o and backup files
clean:
-rm -f *.a
-rm -f */*.o */*~ */*.o */*~
-rm -f drivers/*/*.o drivers/*/*/*.o


include $(TOP)/Make-config

include depend

Notiek ielāde…
Atcelt
Saglabāt