# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-# DOS/DJGPP core makefile v1.4 for Mesa
+# DOS/DJGPP core makefile v1.7 for Mesa
#
-# Copyright (C) 2002 - Borca Daniel
-# Email : dborca@yahoo.com
+# Copyright (C) 2002 - Daniel Borca
+# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
# Environment variables:
# CFLAGS
#
-# GLIDE path to Glide3 SDK include files; used with FX.
-# default = $(TOP)/include/glide3
+# GLIDE path to Glide3 SDK; used with FX.
+# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
# compilation of most DMesa code and requires fxMesa.
# As a consequence, you'll need the DJGPP Glide3
# library to build any application.
# default = no
-# MATROX=1 build for Matrox Millennium I (MGA2064W) cards.
-# This is experimental and not intensively tested.
-# default = no
-# HAVE_X86=1 optimize for i386.
-# default = no
-# HAVE_MMX=1 allow MMX specializations, provided your assembler
-# supports MMX instruction set. However, the true CPU
-# capabilities are checked at run-time to avoid crashes.
-# default = no
-# HAVE_SSE=1 (see HAVE_MMX)
-# default = no
-# HAVE_3DNOW=1 (see HAVE_MMX)
+# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
# default = no
#
# Targets:
.INTERMEDIATE: x86/gen_matypes.exe
TOP = ../..
-GLIDE ?= $(TOP)/include/glide3
+GLIDE ?= $(TOP)/glide3
LIBDIR = $(TOP)/lib
GL_LIB = libgl.a
GL_DXE = gl.dxe
GL_IMP = libigl.a
-export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR)
+export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR);$(GLIDE)/lib
CC = gcc
-CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi
+CFLAGS += $(INCLUDE_DIRS)
+CFLAGS += -DUSE_EXTERNAL_DXTN_LIB=1
ifeq ($(FX),1)
-CFLAGS += -D__DOS__ -DH3
-CFLAGS += -I$(GLIDE) -DFX -DFX_GLIDE3 -DFXMESA_USE_ARGB
-LIBNAME = "MesaGL/FX DJGPP"
+CFLAGS += -D__DOS__
+CFLAGS += -I$(GLIDE)/include -DFX
+LIBNAME = "Mesa/FX DJGPP"
else
-ifeq ($(MATROX),1)
-CFLAGS += -DMATROX
-LIBNAME = "MesaGL/MGA DJGPP"
-else
-LIBNAME = "MesaGL DJGPP"
-endif
+LIBNAME = "Mesa DJGPP"
endif
AR = ar
-ARFLAGS = rus
+ARFLAGS = crus
HAVEDXE3 = $(wildcard $(DJDIR)/bin/dxe3gen.exe)
UNLINK = $(RM) $(1)
endif
-MAIN_SOURCES = \
- main/api_arrayelt.c \
- main/api_loopback.c \
- main/api_noop.c \
- main/api_validate.c \
- main/accum.c \
- main/arbprogram.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/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_eval_api.c \
- tnl/t_imm_alloc.c \
- tnl/t_imm_api.c \
- tnl/t_imm_debug.c \
- tnl/t_imm_dlist.c \
- tnl/t_imm_elt.c \
- tnl/t_imm_eval.c \
- tnl/t_imm_exec.c \
- tnl/t_imm_fixup.c \
- tnl/t_pipeline.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
-
-X86_SOURCES = \
- x86/x86.c \
- x86/glapi_x86.S \
- x86/common_x86.c \
- x86/common_x86_asm.S \
- x86/x86_xform2.S \
- x86/x86_xform3.S \
- x86/x86_xform4.S \
- x86/x86_cliptest.S
-
-MMX_SOURCES = \
- x86/mmx_blend.S
+include sources
-SSE_SOURCES = \
- x86/sse.c \
- x86/sse_xform2.S \
- x86/sse_xform3.S \
- x86/sse_xform4.S \
- x86/sse_normal.S
-
-K3D_SOURCES = \
- x86/3dnow.c \
- x86/3dnow_xform2.S \
- x86/3dnow_xform3.S \
- x86/3dnow_xform4.S \
- x86/3dnow_normal.S
-
-CORE_SOURCES = \
- $(MAIN_SOURCES) \
- $(GLAPI_SOURCES) \
- $(MATH_SOURCES) \
- $(ARRAY_CACHE_SOURCES) \
- $(SWRAST_SOURCES) \
- $(SWRAST_SETUP_SOURCES) \
- $(TNL_SOURCES)
-
-ifeq ($(HAVE_MMX),1)
-X86_SOURCES += $(MMX_SOURCES)
+ifeq ($(X86),1)
+CFLAGS += -DUSE_X86_ASM
CFLAGS += -DUSE_MMX_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_SSE),1)
-X86_SOURCES += $(SSE_SOURCES)
CFLAGS += -DUSE_SSE_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_3DNOW),1)
-X86_SOURCES += $(K3D_SOURCES)
CFLAGS += -DUSE_3DNOW_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_X86),1)
-CFLAGS += -DUSE_X86_ASM
+X86_SOURCES += $(X86_API)
else
X86_SOURCES =
endif
drivers/dos/dmesa.c
ifeq ($(FX),1)
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
-else
-ifeq ($(MATROX),1)
-DRIVER_SOURCES += \
- drivers/dos/mga/mga.c \
- drivers/dos/mga/mga_hw.c \
- drivers/dos/mga/mga_mode.c \
- drivers/dos/dpmi.c
+ $(GLIDE_DRIVER_SOURCES)
else
DRIVER_SOURCES += \
+ $(OSMESA_DRIVER_SOURCES) \
drivers/dos/video.c \
- drivers/dos/virtual.S \
drivers/dos/vesa.c \
drivers/dos/blit.S \
drivers/dos/vga.c \
+ drivers/dos/null.c \
drivers/dos/dpmi.c
endif
-endif
-SOURCES = $(CORE_SOURCES) $(X86_SOURCES) $(DRIVER_SOURCES)
+SOURCES = $(CORE_SOURCES) $(X86_SOURCES) $(COMMON_DRIVER_SOURCES) $(DRIVER_SOURCES)
OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
all: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GL_DXE) $(LIBDIR)/$(GL_IMP)
$(LIBDIR)/$(GL_LIB): $(OBJECTS)
- $(AR) $(ARFLAGS) $(LIBDIR)/$(GL_LIB) $(OBJECTS)
+ $(AR) $(ARFLAGS) $@ $^
$(LIBDIR)/$(GL_DXE) $(LIBDIR)/$(GL_IMP): $(OBJECTS)
ifeq ($(HAVEDXE3),)
$(warning Missing DXE3 package... Skipping $(GL_DXE))
else
ifeq ($(FX),1)
- -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -P glid3.dxe -U $(OBJECTS)
+ -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -P glide3x.dxe -U $^
else
- -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -U $(OBJECTS)
+ -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -U $^
endif
endif
-$(call UNLINK,glapi/*.o)
-$(call UNLINK,main/*.o)
-$(call UNLINK,math/*.o)
+ -$(call UNLINK,shader/*.o)
+ -$(call UNLINK,sparc/*.o)
+ -$(call UNLINK,ppc/*.o)
-$(call UNLINK,swrast/*.o)
-$(call UNLINK,swrast_setup/*.o)
-$(call UNLINK,tnl/*.o)
-$(call UNLINK,x86/*.o)
+ -$(call UNLINK,drivers/common/*.o)
-$(call UNLINK,drivers/dos/*.o)
- -$(call UNLINK,drivers/dos/mga/*.o)
-$(call UNLINK,drivers/glide/*.o)
-
--include depend