diff options
Diffstat (limited to 'src/mesa/drivers/dri/ffb/Makefile')
-rw-r--r-- | src/mesa/drivers/dri/ffb/Makefile | 137 |
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 |