Makefile.va revision a565f58edaad646942f2174e66ef1343f56ae679
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	   -I$(TOP)/src/gallium/winsys/g3dvl \
12a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	   $(DRIVER_INCLUDES)
13a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenDEFINES = -DGALLIUM_TRACE -DVER_MAJOR=$(VA_MAJOR) -DVER_MINOR=$(VA_MINOR) $(DRIVER_DEFINES)
14a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenLIBS = $(EXTRA_LIB_PATH) $(DRIVER_LIBS) -lva -lXext -lX11 -lm
15a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenSTATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/va/libvatracker.a
16a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
17a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# XXX: Hack, VA public funcs aren't exported
18a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling SørensenOBJECTS = $(C_SOURCES:.c=.o) \
19a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	  $(ASM_SOURCES:.S=.o) \
20a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	  $(TOP)/src/gallium/state_trackers/va/*.o
21a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
22a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen##### RULES #####
23a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
24a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen.c.o:
25a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
26a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
27a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen.S.o:
28a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
29a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
30a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen##### TARGETS #####
31a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
32a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensendefault: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
33a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
34a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen$(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) $(TOP)/$(LIB_DIR)/gallium Makefile
35a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(MKLIB) -o $(LIBBASENAME) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
36a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		-major $(VA_MAJOR) -minor $(VA_MINOR) $(MKLIB_OPTIONS) \
37a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		-install $(TOP)/$(LIB_DIR)/gallium \
38a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		$(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS)
39a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
40a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen$(TOP)/$(LIB_DIR)/gallium:
41a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	mkdir -p $@
42a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
43a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensendepend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
44a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	rm -f depend
45a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	touch depend
46a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDES) $(C_SOURCES) \
47a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen		$(ASM_SOURCES) 2> /dev/null
48a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
49a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# Emacs tags
50a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensentags:
51a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	etags `find . -name \*.[ch]` `find ../include`
52a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
53a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen# Remove .o and backup files
54a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensenclean:
55a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	-rm -f *.o *~ *.so $(SYMLINKS)
56a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	-rm -f depend depend.bak
57a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
58a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørenseninstall: default
59a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(INSTALL) -d $(DESTDIR)$(VA_LIB_INSTALL_DIR)
60a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen	$(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(VA_LIB_GLOB) $(DESTDIR)$(VA_LIB_INSTALL_DIR)
61a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørensen
62a565f58edaad646942f2174e66ef1343f56ae679Thomas Balling Sørenseninclude depend
63