sync with tizen_2.2
[sdk/emulator/qemu.git] / gl / mesa / src / gallium / targets / Makefile.xvmc
1 # This makefile template is used to build libXvMCg3dvl.so
2
3 LIBNAME = lib$(LIBBASENAME).so
4 LIB_GLOB=lib$(LIBBASENAME).*so*
5 XVMC_MAJOR = 1
6 XVMC_MINOR = 0
7 INCLUDES = -I$(TOP)/src/gallium/include \
8            -I$(TOP)/src/gallium/drivers \
9            -I$(TOP)/src/gallium/auxiliary \
10            -I$(TOP)/src/gallium/winsys \
11            -I$(TOP)/src/gallium/winsys/g3dvl \
12            $(DRIVER_INCLUDES)
13 DEFINES = -DGALLIUM_TRACE $(DRIVER_DEFINES)
14 LIBS = $(EXTRA_LIB_PATH) $(DRIVER_LIBS) -lXv -lX11 -lm
15 STATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/xorg/xvmc/libxvmctracker.a
16
17 ifeq ($(MESA_LLVM),1)
18 LDFLAGS += $(LLVM_LDFLAGS)
19 DRIVER_EXTRAS = $(LLVM_LIBS)
20 LD=$(CXX)
21 else
22   ifeq ($(LINK_WITH_CXX),1)
23     LD=$(CXX)
24   else
25     LD=$(CC)
26   endif
27 endif
28
29 # XXX: Hack, XvMC public funcs aren't exported if we link to libxvmctracker.a :(
30 OBJECTS = $(C_SOURCES:.c=.o) \
31           $(ASM_SOURCES:.S=.o) \
32           $(TOP)/src/gallium/state_trackers/xorg/xvmc/*.o
33
34 ##### RULES #####
35
36 .c.o:
37         $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
38
39 .S.o:
40         $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
41
42 ##### TARGETS #####
43
44 default: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
45
46 $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(OBJECTS) $(PIPE_DRIVERS) $(STATE_TRACKER_LIB) Makefile
47         $(MKLIB) -o $(LIBBASENAME) -linker '$(LD)' -ldflags '$(LDFLAGS)' \
48                 -major $(XVMC_MAJOR) -minor $(XVMC_MINOR) $(MKLIB_OPTIONS) \
49                 -install $(TOP)/$(LIB_DIR)/gallium \
50                 $(OBJECTS) $(STATE_TRACKER_LIB) $(PIPE_DRIVERS) $(LIBS) $(DRIVER_EXTRAS)
51
52 $(TOP)/$(LIB_DIR)/gallium:
53         mkdir -p $@
54
55 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
56         rm -f depend
57         touch depend
58         $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDES) $(C_SOURCES) \
59                 $(ASM_SOURCES) 2> /dev/null
60
61 # Emacs tags
62 tags:
63         etags `find . -name \*.[ch]` `find ../include`
64
65 # Remove .o and backup files
66 clean:
67         -rm -f *.o *~ *.so $(SYMLINKS)
68         -rm -f depend depend.bak
69
70 install: default
71         $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
72         $(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(LIB_GLOB) $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
73
74 include depend