From e61df587295e585a3643b523c499d6594962f76a Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 14 Apr 2004 12:44:07 +0000 Subject: 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. --- src/mesa/drivers/dri/Makefile | 8 ++- src/mesa/drivers/dri/Makefile.template | 94 ++++++++++++++++++++++++++++++++++ src/mesa/drivers/dri/i830/Makefile | 83 +----------------------------- 3 files changed, 98 insertions(+), 87 deletions(-) create mode 100644 src/mesa/drivers/dri/Makefile.template (limited to 'src') 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 -- cgit v1.2.3