summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/ffb/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/ffb/Makefile')
-rw-r--r--src/mesa/drivers/dri/ffb/Makefile137
1 files changed, 70 insertions, 67 deletions
diff --git a/src/mesa/drivers/dri/ffb/Makefile b/src/mesa/drivers/dri/ffb/Makefile
index a761bad0582..42ed196256d 100644
--- a/src/mesa/drivers/dri/ffb/Makefile
+++ b/src/mesa/drivers/dri/ffb/Makefile
@@ -1,10 +1,9 @@
# src/mesa/drivers/dri/ffb/Makefile
TOP = ../../../../..
-include $(TOP)/configs/default
+include $(TOP)/configs/current
-SHARED_INCLUDES = $(INCLUDE_DIRS) -I. -I../common -Iserver
-MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
+LIBNAME = ffb_dri.so
DEFINES += \
-D_HAVE_SWRAST=1 \
@@ -14,42 +13,64 @@ DEFINES += \
-D_HAVE_LIGHTING=1 \
-D_HAVE_TEXGEN=1 \
-D_HAVE_USERCLIP=1 \
- -DGLX_DIRECT_RENDERING
+ -DGLX_DIRECT_RENDERING
# not yet
# MINIGLX_SOURCES = server/ffb_dri.c
-DRIVER_SOURCES = ffb_bitmap.c \
- ../../common/driverfuncs.c \
- ../common/mm.c \
- ../common/utils.c \
- ../common/texmem.c \
- ../common/vblank.c \
- ../common/xmlconfig.c \
- ffb_clear.c \
- ffb_dd.c \
- ffb_depth.c \
- ffb_fog.c \
- ffb_lines.c \
- ffb_points.c \
- ffb_span.c \
- ffb_state.c \
- ffb_stencil.c \
- ffb_tex.c \
- ffb_tris.c \
- ffb_vb.c \
- ffb_vtxfmt.c \
- ffb_xmesa.c
-
-INCLUDES = $(MINIGLX_INCLUDES) \
- $(SHARED_INCLUDES)
-
-
-C_SOURCES = $(DRIVER_SOURCES) \
- $(MINIGLX_SOURCES)
+COMMON_SOURCES = \
+ ../../common/driverfuncs.c \
+ ../common/mm.c \
+ ../common/utils.c \
+ ../common/texmem.c \
+ ../common/vblank.c \
+ ../common/xmlconfig.c \
+
+DRIVER_SOURCES = \
+ ffb_bitmap.c \
+ ffb_clear.c \
+ ffb_dd.c \
+ ffb_depth.c \
+ ffb_fog.c \
+ ffb_lines.c \
+ ffb_points.c \
+ ffb_span.c \
+ ffb_state.c \
+ ffb_stencil.c \
+ ffb_tex.c \
+ ffb_tris.c \
+ ffb_vb.c \
+ ffb_vtxfmt.c \
+ ffb_xmesa.c
+
+C_SOURCES = \
+ $(COMMON_SOURCES) \
+ $(MINIGLX_SOURCES) \
+ $(DRIVER_SOURCES)
+
+# Include directories
+INCLUDE_DIRS = \
+ -I. \
+ -I../common \
+ -Iserver \
+ -I$(TOP)/src/glx/mini \
+ -I$(TOP)/include \
+ -I$(TOP)/src/mesa/drivers/dri/drm/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
@@ -60,56 +81,40 @@ WINLIB=-L$(MESA)/src/glx/mini
endif
ASM_SOURCES =
+
OBJECTS = $(C_SOURCES:.c=.o) \
$(ASM_SOURCES:.S=.o)
-$(SYMLINKS):
- mkdir -p server
- cd server
- rm -f $@ && ln -s ../../radeon/$@ $@
-
-
-### Include directories
-
-INCLUDE_DIRS = \
- -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/swrast \
- -I$(TOP)/src/mesa/swrast_setup
-
##### RULES #####
.c.o:
- $(CC) -c $(SHARED_INCLUDES) $(MINIGLX_INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+ $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
.S.o:
- $(CC) -c $(SHARED_INCLUDES) $(MINIGLX_INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+ $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
##### TARGETS #####
-default: depend ffb_dri.so
+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)
+
-ffb_dri.so: $(SYMLINKS) $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile.solo
- rm -f $@ && gcc -o $@ -shared $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(WINLIB) -lc $(GL_LIB_DEPS)
- rm -f $(LIB_DIR)/ffb_dri.so && \
- install ffb_dri.so $(LIB_DIR)/ffb_dri.so
+$(SYMLINKS):
+ mkdir -p server
+ cd server
+ rm -f $@ && ln -s ../../radeon/$@ $@
-$(LIB_DIR)/ffb_dri.so: ffb_dri.so
- rm -f $(LIB_DIR)/ffb_dri.so && \
- install ffb_dri.so $(LIB_DIR)/ffb_dri.so
-# Run 'make -f Makefile.solo dep' to update the dependencies if you change
-# what's included by any source file.
depend: $(C_SOURCES) $(ASM_SOURCES)
touch depend
- makedepend -fdepend -Y $(SHARED_INCLUDES) $(MINIGLX_INCLUDES) \
- $(C_SOURCES) $(ASM_SOURCES) >& /dev/null
+ $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
+ >& /dev/null
# Emacs tags
@@ -117,10 +122,8 @@ tags:
etags `find . -name \*.[ch]` `find ../include`
-# Remove .o and backup files
clean:
- -rm -f *.o */*.o *~ *.o *~ *.so server/*.o
- -rm -f $(SYMLINKS)
+ -rm -f *.o server/*.o
include depend