summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2004-04-14 12:44:07 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2004-04-14 12:44:07 +0000
commite61df587295e585a3643b523c499d6594962f76a (patch)
treeb67db1199d047e1b35ebf3519ea5679cc635f747
parent680ec7f85158eae58fd5ab56da8c66a645883cb0 (diff)
First attempt at building a dri module in this tree
-- make target is linux-dri -- will attempt to build i830_dri.so The object builds but hasn't been tested.
-rw-r--r--Makefile4
-rw-r--r--configs/linux-dri34
-rw-r--r--configs/linux-solo2
-rw-r--r--configs/linux-x86-debug10
-rw-r--r--src/mesa/drivers/dri/Makefile8
-rw-r--r--src/mesa/drivers/dri/Makefile.template94
-rw-r--r--src/mesa/drivers/dri/i830/Makefile83
7 files changed, 147 insertions, 88 deletions
diff --git a/Makefile b/Makefile
index 334779e5a9..ad59e5b85b 100644
--- a/Makefile
+++ b/Makefile
@@ -64,6 +64,7 @@ linux \
linux-alpha \
linux-alpha-static \
linux-debug \
+linux-dri \
linux-glide \
linux-icc \
linux-icc-static \
@@ -78,6 +79,7 @@ linux-sparc5 \
linux-static \
linux-ultrasparc \
linux-x86 \
+linux-x86-debug \
linux-x86-64 \
linux-x86-64-static \
linux-x86-glide \
@@ -94,7 +96,7 @@ sunos5 \
sunos5-gcc \
sunos5-smp \
ultrix-gcc:
- cp $(TOP)/configs/$@ $(TOP)/configs/current
+ (cd configs && rm -f current && ln -s $@ current)
make default
diff --git a/configs/linux-dri b/configs/linux-dri
new file mode 100644
index 0000000000..1fa60eb093
--- /dev/null
+++ b/configs/linux-dri
@@ -0,0 +1,34 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-dri
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -D_GNU_SOURCE -DGLX_DIRECT_RENDERING -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
+
+CXXFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+
+
+#ASM_SOURCES = $(X86_SOURCES)
+
+# Library/program dependencies
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl
+
+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
+
+
+# Directories
+SRC_DIRS = mesa glu glut/glx glw
+DRIVER_DIRS = dri
+PROGRAM_DIRS =
+WINDOW_SYSTEM=dri
+
+#DRI_DIRS = dri_client gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx
+DRI_DIRS = dri_client i830
diff --git a/configs/linux-solo b/configs/linux-solo
index 3870e27f64..841f8f7e53 100644
--- a/configs/linux-solo
+++ b/configs/linux-solo
@@ -26,3 +26,5 @@ APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -lm -lpthread
SRC_DIRS = mesa glx glu glw glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
+
+DRI_DIRS = fb gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx
diff --git a/configs/linux-x86-debug b/configs/linux-x86-debug
new file mode 100644
index 0000000000..c28329ff9f
--- /dev/null
+++ b/configs/linux-x86-debug
@@ -0,0 +1,10 @@
+# Configuration for Linux with x86 code, but no gcc optimizations and
+# debugging enabled.
+
+include $(TOP)/configs/linux-x86
+
+CONFIG_NAME = linux-x86-debug
+
+CFLAGS = -Wall -g -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
+
+CXXFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
diff --git a/src/mesa/drivers/dri/Makefile b/src/mesa/drivers/dri/Makefile
index 2967106ea5..43731c0050 100644
--- a/src/mesa/drivers/dri/Makefile
+++ b/src/mesa/drivers/dri/Makefile
@@ -4,8 +4,6 @@ TOP = ../../../..
include $(TOP)/configs/current
-#SUBDIRS = fb ffb gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx unichrome
-SUBDIRS = fb gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx
default: $(LIB_DIR) subdirs
@@ -16,12 +14,12 @@ $(LIB_DIR):
subdirs:
- @for dir in $(SUBDIRS) ; do \
- (cd $$dir ; make) ; \
+ @for dir in $(DRI_DIRS) ; do \
+ (cd $$dir ; make) || exit 1; \
done
clean:
- @for dir in $(SUBDIRS) ; do \
+ @for dir in $(DRI_DIRS) ; do \
(cd $$dir ; make clean) ; \
done
diff --git a/src/mesa/drivers/dri/Makefile.template b/src/mesa/drivers/dri/Makefile.template
new file mode 100644
index 0000000000..487cc43063
--- /dev/null
+++ b/src/mesa/drivers/dri/Makefile.template
@@ -0,0 +1,94 @@
+# -*-makefile-*-
+
+TOP = ../../../../..
+include $(TOP)/configs/current
+
+
+MESA_MODULES = $(TOP)/src/mesa/mesa.a
+
+
+ifeq ($(WINDOW_SYSTEM),dri)
+WINOBJ=../dri_client/dri.a
+WINLIB=
+INCLUDES = $(SHARED_INCLUDES) \
+ -I../dri_client \
+ -I../dri_client/imports
+
+OBJECTS = $(C_SOURCES:.c=.o) \
+ $(ASM_SOURCES:.S=.o)
+
+else
+WINOBJ=
+WINLIB=-L$(MESA)/src/glx/mini
+MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
+MINIGLX_SOURCES =
+INCLUDES = $(MINIGLX_INCLUDES) \
+ $(SHARED_INCLUDES)
+
+OBJECTS = $(C_SOURCES:.c=.o) \
+ $(MINIGLX_SOURCES:.c=.o) \
+ $(ASM_SOURCES:.S=.o)
+endif
+
+
+### Include directories
+SHARED_INCLUDES = \
+ -I. \
+ -I../common \
+ -Iserver \
+ -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/shader \
+ -I$(TOP)/src/mesa/swrast \
+ -I$(TOP)/src/mesa/swrast_setup
+
+
+##### RULES #####
+
+.c.o:
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+.S.o:
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+
+##### TARGETS #####
+
+default: depend $(LIB_DIR)/$(LIBNAME)
+
+
+#$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
+# @echo BUILDING FOR: $(WINDOW_SYSTEM)
+# $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
+# $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
+
+
+$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
+ rm -f $@ && gcc -o $@ -shared $(OBJECTS) $(MESA_MODULES) $(WINOBJ) -lGL -lc -lm
+
+
+
+
+
+# Run 'make depend' to update the dependencies if you change
+# what's included by any source file.
+depend: $(C_SOURCES) $(ASM_SOURCES)
+ touch depend
+ $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(C_SOURCES) $(ASM_SOURCES) \
+ >& /dev/null
+
+
+# Emacs tags
+tags:
+ etags `find . -name \*.[ch]` `find ../include`
+
+
+# Remove .o and backup files
+clean:
+ -rm -f *.o */*.o *~ *.o *~ *.so server/*.o
+
+include depend
diff --git a/src/mesa/drivers/dri/i830/Makefile b/src/mesa/drivers/dri/i830/Makefile
index 4f07b4cdde..f6ba1fa621 100644
--- a/src/mesa/drivers/dri/i830/Makefile
+++ b/src/mesa/drivers/dri/i830/Makefile
@@ -1,22 +1,9 @@
-# src/mesa/drivers/dri/i830/Makefile
TOP = ../../../../..
include $(TOP)/configs/current
LIBNAME = i830_dri.so
-DEFINES += \
- -D_HAVE_SWRAST=1 \
- -D_HAVE_SWTNL=1 \
- -D_HAVE_SANITY=1 \
- -D_HAVE_CODEGEN=1 \
- -D_HAVE_LIGHTING=1 \
- -D_HAVE_TEXGEN=1 \
- -D_HAVE_USERCLIP=1 \
- -DGLX_DIRECT_RENDERING
-
-# Not yet
-# MINIGLX_SOURCES = server/i830_dri.c
COMMON_SOURCES = \
../../common/driverfuncs.c \
@@ -44,76 +31,8 @@ C_SOURCES = \
$(MINIGLX_SOURCES) \
$(DRIVER_SOURCES)
-# Include directories
-INCLUDE_DIRS = \
- -I. \
- -I../common \
- -Iserver \
- -I$(TOP)/src/glx/mini \
- -I$(TOP)/include \
- -I$(DRM_SOURCE_PATH)/shared \
- -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/shader \
- -I$(TOP)/src/mesa/swrast \
- -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
-
ASM_SOURCES =
-OBJECTS = $(C_SOURCES:.c=.o) \
- $(ASM_SOURCES:.S=.o)
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
- $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
- $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
- >& /dev/null
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
- -rm -f *.o server/*.o
+include ../Makefile.template
-include depend