diff options
Diffstat (limited to 'src/mesa/drivers/dri/r200/Makefile')
-rw-r--r-- | src/mesa/drivers/dri/r200/Makefile | 97 |
1 files changed, 49 insertions, 48 deletions
diff --git a/src/mesa/drivers/dri/r200/Makefile b/src/mesa/drivers/dri/r200/Makefile index 37b42d3f420..b3d79556563 100644 --- a/src/mesa/drivers/dri/r200/Makefile +++ b/src/mesa/drivers/dri/r200/Makefile @@ -1,10 +1,10 @@ # src/mesa/drivers/dri/r200/Makefile +# Note, this Makefile requires GNU make 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 = r200_dri.so DEFINES += \ -D_HAVE_SWRAST=1 \ @@ -14,22 +14,24 @@ DEFINES += \ -D_HAVE_LIGHTING=1 \ -D_HAVE_TEXGEN=1 \ -D_HAVE_USERCLIP=1 \ - -DGLX_DIRECT_RENDERING + -DGLX_DIRECT_RENDERING MINIGLX_SOURCES = server/radeon_dri.c +COMMON_SOURCES = \ + ../../common/driverfuncs.c \ + ../common/mm.c \ + ../common/utils.c \ + ../common/texmem.c \ + ../common/vblank.c \ + ../common/xmlconfig.c + DRIVER_SOURCES = r200_context.c \ r200_ioctl.c \ r200_lock.c \ r200_screen.c \ r200_state.c \ r200_state_init.c \ - ../../common/driverfuncs.c \ - ../common/mm.c \ - ../common/utils.c \ - ../common/texmem.c \ - ../common/vblank.c \ - ../common/xmlconfig.c \ r200_cmdbuf.c \ r200_pixel.c \ r200_tex.c \ @@ -45,17 +47,34 @@ DRIVER_SOURCES = r200_context.c \ r200_vtxfmt_sse.c \ r200_vtxfmt_x86.c +C_SOURCES = $(COMMON_SOURCES) $(MINIGLX_SOURCES) $(DRIVER_SOURCES) -INCLUDES = $(MINIGLX_INCLUDES) \ - $(SHARED_INCLUDES) +# 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/swrast \ + -I$(TOP)/src/mesa/swrast_setup -C_SOURCES = $(DRIVER_SOURCES) \ - $(MINIGLX_SOURCES) +# 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= @@ -65,6 +84,7 @@ WINLIB=-L$(MESA)/src/glx/mini endif ASM_SOURCES = + OBJECTS = $(C_SOURCES:.c=.o) \ $(ASM_SOURCES:.S=.o) @@ -78,53 +98,35 @@ SYMLINKS = \ server/radeon_sarea.h \ -$(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 r200_dri.so +default: depend $(SYMLINKS) $(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) + -r200_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)/r200_dri.so && \ - install r200_dri.so $(LIB_DIR)/r200_dri.so +$(SYMLINKS): + mkdir -p server + cd server + rm -f $@ && ln -s ../../radeon/$@ $@ -$(LIB_DIR)/r200_dri.so: r200_dri.so - rm -f $(LIB_DIR)/r200_dri.so && \ - install r200_dri.so $(LIB_DIR)/r200_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 @@ -132,9 +134,8 @@ tags: etags `find . -name \*.[ch]` `find ../include` -# Remove .o and backup files clean: - -rm -f *.o */*.o *~ *.o *~ *.so server/*.o + -rm -f *.o server/*.o -rm -f $(SYMLINKS) |