# This makefile template is used to build libvdpau_g3dvl.so
-LIBBASENAME = vdpau_g3dvl
LIBNAME = lib$(LIBBASENAME).so
VDPAU_LIB_GLOB=lib$(LIBBASENAME).*so*
VDPAU_MAJOR = 1
INCLUDES = -I$(TOP)/src/gallium/include \
-I$(TOP)/src/gallium/drivers \
-I$(TOP)/src/gallium/auxiliary \
- -I$(TOP)/src/gallium/winsys/g3dvl \
+ -I$(TOP)/src/gallium/winsys \
$(DRIVER_INCLUDES)
DEFINES = -DGALLIUM_TRACE -DVER_MAJOR=$(VDPAU_MAJOR) -DVER_MINOR=$(VDPAU_MINOR) $(DRIVER_DEFINES)
-LIBS = $(EXTRA_LIB_PATH) $(DRIVER_LIBS) -lvdpau -lXext -lX11 -lm
+LIBS = $(DRIVER_LIBS) -lvdpau -lX11-xcb -lxcb-dri2 -lm -lrt
STATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/vdpau/libvdpautracker.a
+ifeq ($(MESA_LLVM),1)
+LDFLAGS += $(LLVM_LDFLAGS)
+DRIVER_EXTRAS = $(LLVM_LIBS)
+LD=$(CXX)
+else
+ ifeq ($(LINK_WITH_CXX),1)
+ LD=$(CXX)
+ else
+ LD=$(CC)
+ endif
+endif
+
# XXX: Hack, VDPAU public funcs aren't exported if we link to libvdpautracker.a :(
+C_SOURCES += $(TOP)/src/gallium/state_trackers/vdpau/device.c
OBJECTS = $(C_SOURCES:.c=.o) \
- $(ASM_SOURCES:.S=.o) \
- $(TOP)/src/gallium/state_trackers/vdpau/*.o
+ $(ASM_SOURCES:.S=.o)
##### RULES #####
default: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
-$(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) $(TOP)/$(LIB_DIR)/gallium Makefile
- $(MKLIB) -o $(LIBBASENAME) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
+$(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) Makefile
+ $(MKLIB) -o $(LIBBASENAME) -linker '$(LD)' -ldflags '$(LDFLAGS)' \
-major $(VDPAU_MAJOR) -minor $(VDPAU_MINOR) $(MKLIB_OPTIONS) \
-install $(TOP)/$(LIB_DIR)/gallium \
- $(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS)
+ $(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS) $(DRIVER_EXTRAS)
$(TOP)/$(LIB_DIR)/gallium:
mkdir -p $@
# Remove .o and backup files
clean:
- -rm -f *.o *~ *.so $(SYMLINKS)
+ -rm -f $(OBJECTS) *~ *.so $(SYMLINKS)
-rm -f depend depend.bak
install: default