Makefile revision 9a0c5b46344740dbc9ffa5cbf574a7812425237c
1TOP = ../../../..
2include $(TOP)/configs/current
3
4##### MACROS #####
5
6XA_MAJOR = 0
7XA_MINOR = 4
8XA_TINY = 0
9XA_CFLAGS = -g -fPIC
10
11XA_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
17XA_LIB = xatracker
18XA_LIB_NAME = lib$(XA_LIB).so
19XA_LIB_GLOB = lib$(XA_LIB)*.so*
20XA_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
28COMMON_GALLIUM_SOURCES=
29
30SOURCES = vmw_target.c
31OBJECTS = $(SOURCES:.c=.o)
32
33ifeq ($(MESA_LLVM),1)
34LDFLAGS += $(LLVM_LDFLAGS)
35GALLIUM_AUXILIARIES += $(LLVM_LIBS)
36else
37LDFLAGS += -lstdc++
38endif
39
40##### RULES #####
41
42.c.o:
43	$(CC) -c $(XA_CFLAGS) $(XA_INCLUDES) $<
44
45
46##### TARGETS #####
47
48default: $(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
61pcedit = 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'
70xatracker.pc: xatracker.pc.in
71	$(pcedit) $< > $@
72
73install: 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
83clean:
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
92depend: $(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
101FORCE:
102