1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# This makefile template is used to build libvdpau_g3dvl.so
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLIBNAME = lib$(LIBBASENAME).so
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVDPAU_LIB_GLOB=lib$(LIBBASENAME).*so*
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVDPAU_MAJOR = 1
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVDPAU_MINOR = 0
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgINCLUDES = -I$(TOP)/src/gallium/include \
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	   -I$(TOP)/src/gallium/drivers \
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	   -I$(TOP)/src/gallium/auxiliary \
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	   -I$(TOP)/src/gallium/winsys \
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	   $(DRIVER_INCLUDES)
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgDEFINES = -DGALLIUM_TRACE -DVER_MAJOR=$(VDPAU_MAJOR) -DVER_MINOR=$(VDPAU_MINOR) $(DRIVER_DEFINES)
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLIBS = $(DRIVER_LIBS) -lvdpau -lX11-xcb -lxcb-dri2 -lm -lrt
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgSTATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/vdpau/libvdpautracker.a
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgifeq ($(MESA_LLVM),1)
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLDFLAGS += $(LLVM_LDFLAGS)
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgDRIVER_EXTRAS = $(LLVM_LIBS)
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLD=$(CXX)
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgelse
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org  ifeq ($(LINK_WITH_CXX),1)
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    LD=$(CXX)
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org  else
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    LD=$(CC)
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org  endif
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgendif
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# XXX: Hack, VDPAU public funcs aren't exported if we link to libvdpautracker.a :(
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgC_SOURCES += $(TOP)/src/gallium/state_trackers/vdpau/device.c
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgOBJECTS = $(C_SOURCES:.c=.o) \
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	  $(ASM_SOURCES:.S=.o)
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org##### RULES #####
34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org.c.o:
36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org.S.o:
39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org##### TARGETS #####
42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdefault: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org$(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) Makefile
46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	$(MKLIB) -o $(LIBBASENAME) -linker '$(LD)' -ldflags '$(LDFLAGS)' \
47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org		-major $(VDPAU_MAJOR) -minor $(VDPAU_MINOR) $(MKLIB_OPTIONS) \
48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org		-install $(TOP)/$(LIB_DIR)/gallium \
49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org		$(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS) $(DRIVER_EXTRAS)
50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org$(TOP)/$(LIB_DIR)/gallium:
52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	mkdir -p $@
53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdepend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	rm -f depend
56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	touch depend
57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	$(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDES) $(C_SOURCES) \
58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org		$(ASM_SOURCES) 2> /dev/null
59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# Emacs tags
61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtags:
62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	etags `find . -name \*.[ch]` `find ../include`
63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# Remove .o and backup files
65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgclean:
66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	-rm -f $(OBJECTS) *~ *.so $(SYMLINKS)
67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	-rm -f depend depend.bak
68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginstall: default
70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	$(INSTALL) -d $(DESTDIR)$(VDPAU_LIB_INSTALL_DIR)
71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	$(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(VDPAU_LIB_GLOB) $(DESTDIR)$(VDPAU_LIB_INSTALL_DIR)
72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginclude depend
74