Commit d3746ca2 authored by Daniel Borca Borca's avatar Daniel Borca Borca

revived linux-glide build process

some small Makefile changes for MinGW & DJGPP
parent 40322e1d
......@@ -64,6 +64,7 @@ linux \
linux-alpha \
linux-alpha-static \
linux-debug \
linux-glide \
linux-icc \
linux-icc-static \
linux-osmesa16 \
......@@ -79,6 +80,7 @@ linux-ultrasparc \
linux-x86 \
linux-x86-64 \
linux-x86-64-static \
linux-x86-glide \
linux-x86-static \
netbsd \
openbsd \
......
# Configuration for generic Linux with 3Dfx Glide driver
include $(TOP)/configs/default
CONFIG_NAME = linux-glide
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
GLU_LIB_DEPS = -L$(LIB_DIR) -lGL -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib -lXt -lXm -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide3x -lm
# Configuration for Linux with 3Dfx Glide driver and x86 optimizations
include $(TOP)/configs/default
CONFIG_NAME = linux-x86-glide
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
ASM_SOURCES = $(X86_SOURCES)
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
GLU_LIB_DEPS = -L$(LIB_DIR) -lGL -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib -lXt -lXm -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide3x -lm
......@@ -42,15 +42,7 @@ Available options:
As a consequence, you'll need the DJGPP Glide3
library to build any application.
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 lockups.
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:
......@@ -100,7 +92,7 @@ FAQ:
2. Using Mesa for DJGPP
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
A) Is that a question? If you have a 3dfx Voodoo^2 or higher card, you're
A) Is that a question? If you have a 3dfx Voodoo or higher card, you're
lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
If you haven't, sorry; everything is done in software. Suggestions?
......
......@@ -40,15 +40,7 @@
# As a consequence, you'll need the DJGPP Glide3
# library to build any application.
# 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:
......@@ -71,7 +63,7 @@ GL_IMP = libigl.a
export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR);$(GLIDE)/lib
CC = gcc
CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi
CFLAGS += $(INCLUDE_DIRS)
ifeq ($(FX),1)
CFLAGS += -D__DOS__
CFLAGS += -I$(GLIDE)/include -DFX
......@@ -93,59 +85,11 @@ endif
include sources
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
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) \
$(TNL_SOURCES) \
$(SWRAST_SOURCES) \
$(SWRAST_SETUP_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
else
X86_SOURCES =
endif
......@@ -154,16 +98,7 @@ DRIVER_SOURCES = \
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 \
drivers/glide/fxg.c
$(GLIDE_DRIVER_SOURCES)
else
DRIVER_SOURCES += \
drivers/dos/video.c \
......
......@@ -20,7 +20,7 @@
# 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.
# MinGW core makefile v1.2 for Mesa
# MinGW core makefile v1.3 for Mesa
#
# Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net
......@@ -40,15 +40,7 @@
# As a consequence, you'll need the Win32 Glide3
# library to build any application.
# 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:
......@@ -72,7 +64,7 @@ LDLIBS = -lgdi32
CC = mingw32-gcc
CFLAGS += -DBUILD_GL32 -D_OPENGL32_ -D_MSC_VER
CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi
CFLAGS += $(INCLUDE_DIRS)
ifeq ($(FX),1)
CFLAGS += -I$(GLIDE)/include -DFX
LDLIBS += -L$(GLIDE)/lib -lglide3x
......@@ -93,75 +85,18 @@ endif
include sources
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
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) \
$(TNL_SOURCES) \
$(SWRAST_SOURCES) \
$(SWRAST_SETUP_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
else
X86_SOURCES =
endif
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 \
drivers/glide/fxg.c \
$(GLIDE_DRIVER_SOURCES) \
drivers/glide/fxwgl.c
else
DRIVER_SOURCES = \
......
......@@ -36,13 +36,13 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
.globl x; \
x:
#else /* defined(__DJGPP__) */
#else /* defined(__DJGPP__) || defined (__MINGW32__) */
#define GLOBL( x ) \
.globl _##x; \
_##x:
#endif /* defined(__DJGPP__) */
#endif /* defined(__DJGPP__) || defined (__MINGW32__) */
.data
.align 4
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment