13ea3695b0495a56d9946a292e0e7cad4e0fb2fe0Alexandre Demers# This makefile template is used to build libXvMC*.so 20e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 30e59cd33e6a38567801c7da541e4caffbd6cccd3Younes MantonLIBNAME = lib$(LIBBASENAME).so 43ea3695b0495a56d9946a292e0e7cad4e0fb2fe0Alexandre DemersXVMC_LIB_GLOB=lib$(LIBBASENAME).*so* 50e59cd33e6a38567801c7da541e4caffbd6cccd3Younes MantonXVMC_MAJOR = 1 60e59cd33e6a38567801c7da541e4caffbd6cccd3Younes MantonXVMC_MINOR = 0 70e59cd33e6a38567801c7da541e4caffbd6cccd3Younes MantonINCLUDES = -I$(TOP)/src/gallium/include \ 80e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton -I$(TOP)/src/gallium/drivers \ 90e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton -I$(TOP)/src/gallium/auxiliary \ 104381580936f07e0c5eb0ad7c51d2ccf765000d08Christian König -I$(TOP)/src/gallium/winsys \ 110e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton $(DRIVER_INCLUDES) 120e59cd33e6a38567801c7da541e4caffbd6cccd3Younes MantonDEFINES = -DGALLIUM_TRACE $(DRIVER_DEFINES) 13d12b07eb1a881df641f81ce7e31d3da8043a5b80Matt TurnerLIBS = $(DRIVER_LIBS) -lXv -lX11-xcb -lxcb-dri2 -lm 14dcf8ee7d6ac89bb2a9d608618a51604a3c78fe96Christian KönigSTATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/xvmc/libxvmctracker.a 150e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 16a2381665d5b65ba04f168afecd40574684bf4df3Marek Olšákifeq ($(MESA_LLVM),1) 17a2381665d5b65ba04f168afecd40574684bf4df3Marek OlšákLDFLAGS += $(LLVM_LDFLAGS) 18a2381665d5b65ba04f168afecd40574684bf4df3Marek OlšákDRIVER_EXTRAS = $(LLVM_LIBS) 19757390491cfa3b861fab76940a8c6e508d1f1a25Marcin SlusarzLD=$(CXX) 20a2381665d5b65ba04f168afecd40574684bf4df3Marek Olšákelse 21757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz ifeq ($(LINK_WITH_CXX),1) 22757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz LD=$(CXX) 23757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz else 24757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz LD=$(CC) 25757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz endif 26a2381665d5b65ba04f168afecd40574684bf4df3Marek Olšákendif 27a2381665d5b65ba04f168afecd40574684bf4df3Marek Olšák 280e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton# XXX: Hack, XvMC public funcs aren't exported if we link to libxvmctracker.a :( 29acbc3c96781f15f8077a0104578037758cae82a1Christian KönigC_SOURCES += $(wildcard $(TOP)/src/gallium/state_trackers/xvmc/*.c) 300e59cd33e6a38567801c7da541e4caffbd6cccd3Younes MantonOBJECTS = $(C_SOURCES:.c=.o) \ 31acbc3c96781f15f8077a0104578037758cae82a1Christian König $(ASM_SOURCES:.S=.o) 320e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 330e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton##### RULES ##### 340e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 350e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton.c.o: 360e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ 370e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 380e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton.S.o: 390e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ 400e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 410e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton##### TARGETS ##### 420e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 430e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Mantondefault: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME) 440e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 45106c99fee52fe712ee5792e876b83aa318740b7dMarcin Slusarz$(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) Makefile 46757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz $(MKLIB) -o $(LIBBASENAME) -linker '$(LD)' -ldflags '$(LDFLAGS)' \ 470e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton -major $(XVMC_MAJOR) -minor $(XVMC_MINOR) $(MKLIB_OPTIONS) \ 480e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton -install $(TOP)/$(LIB_DIR)/gallium \ 49a2381665d5b65ba04f168afecd40574684bf4df3Marek Olšák $(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS) $(DRIVER_EXTRAS) 500e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 510e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton$(TOP)/$(LIB_DIR)/gallium: 520e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton mkdir -p $@ 530e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 540e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Mantondepend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS) 550e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton rm -f depend 560e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton touch depend 570e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDES) $(C_SOURCES) \ 580e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton $(ASM_SOURCES) 2> /dev/null 590e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 600e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton# Emacs tags 610e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Mantontags: 620e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton etags `find . -name \*.[ch]` `find ../include` 630e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 640e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton# Remove .o and backup files 650e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Mantonclean: 6668e4c83ffa9319c934a96ca1daf25e81b78a6d90Marcin Slusarz -rm -f $(OBJECTS) *~ *.so $(SYMLINKS) 670e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton -rm -f depend depend.bak 680e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 69050dfe9caf364fdaac91db1313988275774a7eaaThomas Balling Sørenseninstall: default 703ea3695b0495a56d9946a292e0e7cad4e0fb2fe0Alexandre Demers $(INSTALL) -d $(DESTDIR)$(XVMC_LIB_INSTALL_DIR) 713ea3695b0495a56d9946a292e0e7cad4e0fb2fe0Alexandre Demers $(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(XVMC_LIB_GLOB) $(DESTDIR)$(XVMC_LIB_INSTALL_DIR) 720e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Manton 730e59cd33e6a38567801c7da541e4caffbd6cccd3Younes Mantoninclude depend 74