1a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# This makefile template is used to build "driver"_drv_video.so
2a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
3a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenLIBNAME = lib$(LIBBASENAME).so
4a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenVA_LIB_GLOB= lib$(LIBBASENAME).*so*
5a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenVA_MAJOR = 0
6a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenVA_MINOR = 3
7a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenINCLUDES = -I$(TOP)/src/gallium/include \
8a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	   -I$(TOP)/src/gallium/drivers \
9a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	   -I$(TOP)/src/gallium/auxiliary \
10a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	   -I$(TOP)/src/gallium/winsys \
11a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	   $(DRIVER_INCLUDES)
12a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenDEFINES = -DGALLIUM_TRACE -DVER_MAJOR=$(VA_MAJOR) -DVER_MINOR=$(VA_MINOR) $(DRIVER_DEFINES)
13d12b07eb1a881df641f81ce7e31d3da8043a5b80Matt TurnerLIBS = $(DRIVER_LIBS) -lva -lXext -lX11 -lm
14a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenSTATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/va/libvatracker.a
15a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
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
28a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# XXX: Hack, VA public funcs aren't exported
29a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenOBJECTS = $(C_SOURCES:.c=.o) \
30a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	  $(ASM_SOURCES:.S=.o) \
31a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	  $(TOP)/src/gallium/state_trackers/va/*.o
32a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
33a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen##### RULES #####
34a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
35a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen.c.o:
36a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
37a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
38a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen.S.o:
39a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
40a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
41a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen##### TARGETS #####
42a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
43a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensendefault: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
44a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
45106c99fee52fe712ee5792e876b83aa318740b7dMarcin Slusarz$(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) Makefile
46757390491cfa3b861fab76940a8c6e508d1f1a25Marcin Slusarz	$(MKLIB) -o $(LIBBASENAME) -linker '$(LD)' -ldflags '$(LDFLAGS)' \
47a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		-major $(VA_MAJOR) -minor $(VA_MINOR) $(MKLIB_OPTIONS) \
48a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		-install $(TOP)/$(LIB_DIR)/gallium \
49a2381665d5b65ba04f168afecd40574684bf4df3Marek Olšák		$(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS) $(DRIVER_EXTRAS)
50a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
51a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen$(TOP)/$(LIB_DIR)/gallium:
52a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	mkdir -p $@
53a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
54a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensendepend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
55a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	rm -f depend
56a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	touch depend
57a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDES) $(C_SOURCES) \
58a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		$(ASM_SOURCES) 2> /dev/null
59a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
60a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# Emacs tags
61a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensentags:
62a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	etags `find . -name \*.[ch]` `find ../include`
63a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
64a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# Remove .o and backup files
65a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensenclean:
6668e4c83ffa9319c934a96ca1daf25e81b78a6d90Marcin Slusarz	-rm -f $(OBJECTS) *~ *.so $(SYMLINKS)
67a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	-rm -f depend depend.bak
68a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
69a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørenseninstall: default
70a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(INSTALL) -d $(DESTDIR)$(VA_LIB_INSTALL_DIR)
71a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(VA_LIB_GLOB) $(DESTDIR)$(VA_LIB_INSTALL_DIR)
72a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
73a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørenseninclude depend
74