Commit e61df587 authored by Keith Whitwell's avatar Keith Whitwell

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.
parent 680ec7f8
......@@ -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
......
# -*-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
......@@ -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
# 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
......@@ -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
# -*-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
# 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
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