Merge branch 'xa_branch'
[mesa.git] / src / gallium / targets / xa-vmwgfx / Makefile
1 TOP = ../../../..
2 include $(TOP)/configs/current
3
4 ##### MACROS #####
5
6 XA_MAJOR = 0
7 XA_MINOR = 4
8 XA_TINY = 0
9 XA_CFLAGS = -g -fPIC
10
11 XA_INCLUDES= -I$(TOP)/src/gallium/ \
12 -I$(TOP)/src/gallium/auxiliary \
13 -I$(TOP)/src/gallium/include \
14 -I$(TOP)/src/gallium/winsys \
15 -I$(TOP)/src/gallium/drivers
16
17 XA_LIB = xatracker
18 XA_LIB_NAME = lib$(XA_LIB).so
19 XA_LIB_GLOB = lib$(XA_LIB)*.so*
20 XA_LIB_DEPS = \
21 $(TOP)/src/gallium/state_trackers/xa/libxatracker.o \
22 $(TOP)/src/gallium/winsys/svga/drm/libsvgadrm.a \
23 $(TOP)/src/gallium/drivers/svga/libsvga.a \
24 $(TOP)/src/gallium/drivers/trace/libtrace.a \
25 $(TOP)/src/gallium/drivers/rbug/librbug.a
26
27
28 COMMON_GALLIUM_SOURCES=
29
30 SOURCES = vmw_target.c
31 OBJECTS = $(SOURCES:.c=.o)
32
33 ifeq ($(MESA_LLVM),1)
34 LDFLAGS += $(LLVM_LDFLAGS)
35 GALLIUM_AUXILIARIES += $(LLVM_LIBS)
36 else
37 LDFLAGS += -lstdc++
38 endif
39
40 ##### RULES #####
41
42 .c.o:
43 $(CC) -c $(XA_CFLAGS) $(XA_INCLUDES) $<
44
45
46 ##### TARGETS #####
47
48 default: $(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME)
49
50
51 # Make the library
52 $(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME): depend $(OBJECTS) $(XA_LIB_DEPS)
53 $(MKLIB) -o $(XA_LIB) -linker $(CC) -ldflags '$(LDFLAGS)' \
54 -major $(XA_MAJOR) -minor $(XA_MINOR) -patch $(XA_TINY) \
55 $(MKLIB_OPTIONS) \
56 -exports $(TOP)/src/gallium/state_trackers/xa/xa_symbols\
57 -install $(TOP)/$(LIB_DIR)/gallium \
58 $(OBJECTS) $(XA_LIB_DEPS) $(GALLIUM_AUXILIARIES)
59
60 # xa pkgconfig file
61 pcedit = sed \
62 -e 's,@INSTALL_DIR@,$(INSTALL_DIR),g' \
63 -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),g' \
64 -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),g' \
65 -e 's,@VERSION@,$(XA_MAJOR).$(XA_MINOR).$(XA_TINY),g' \
66 -e 's,@XA_PC_REQ_PRIV@,$(XA_PC_REQ_PRIV),g' \
67 -e 's,@XA_PC_LIB_PRIV@,$(XA_PC_LIB_PRIV),g' \
68 -e 's,@XA_PC_CFLAGS@,$(XA_PC_CFLAGS),g' \
69 -e 's,@XA_LIB@,$(XA_LIB),g'
70 xatracker.pc: xatracker.pc.in
71 $(pcedit) $< > $@
72
73 install: xatracker.pc
74 $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)
75 $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
76 $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
77 $(INSTALL) -m 644 $(TOP)/src/gallium/state_trackers/xa/xa_tracker.h $(DESTDIR)$(INSTALL_INC_DIR)
78 $(INSTALL) -m 644 $(TOP)/src/gallium/state_trackers/xa/xa_context.h $(DESTDIR)$(INSTALL_INC_DIR)
79 $(INSTALL) -m 644 $(TOP)/src/gallium/state_trackers/xa/xa_composite.h $(DESTDIR)$(INSTALL_INC_DIR)
80 $(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_GLOB) $(DESTDIR)$(INSTALL_LIB_DIR)
81 $(INSTALL) -m 644 xatracker.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
82
83 clean:
84 -rm -f *.o *~
85 -rm -f *.lo
86 -rm -f *.la
87 -rm -f *.pc
88 -rm -rf .libs
89 -rm -f depend depend.bak exptmp
90
91
92 depend: $(SOURCES)
93 @ echo "running $(MKDEP)"
94 @ rm -f depend
95 @ touch depend
96 @ $(MKDEP) $(MKDEP_OPTIONS) -I$(TOP)/include $(XA_INCLUDES) $(SOURCES) \
97 > /dev/null
98
99 -include depend
100
101 FORCE: