TOP = ../../../..
include $(TOP)/configs/current
##### MACROS #####
XA_MAJOR = 1
XA_MINOR = 0
XA_TINY = 0
XA_CFLAGS = -Wall -pedantic
XA_INCLUDES= -I$(TOP)/src/gallium/ \
-I$(TOP)/src/gallium/auxiliary \
-I$(TOP)/src/gallium/include \
-I$(TOP)/src/gallium/winsys \
-I$(TOP)/src/gallium/drivers
XA_LIB = xatracker
XA_LIB_NAME = lib$(XA_LIB).so
XA_LIB_GLOB = lib$(XA_LIB)*.so*
XA_LIB_DEPS = \
$(TOP)/src/gallium/state_trackers/xa/libxatracker.o \
$(TOP)/src/gallium/winsys/svga/drm/libsvgadrm.a \
$(TOP)/src/gallium/drivers/svga/libsvga.a \
$(TOP)/src/gallium/drivers/trace/libtrace.a \
$(TOP)/src/gallium/drivers/rbug/librbug.a
COMMON_GALLIUM_SOURCES=
SOURCES = vmw_target.c
OBJECTS = $(SOURCES:.c=.o)
ifeq ($(MESA_LLVM),1)
LDFLAGS += $(LLVM_LDFLAGS)
GALLIUM_AUXILIARIES += $(LLVM_LIBS)
LD=$(CXX)
else
ifeq ($(LINK_WITH_CXX),1)
LD=$(CXX)
else
LD=$(CC)
endif
endif
##### RULES #####
.c.o:
$(CC) -c $(XA_CFLAGS) $(CFLAGS) $(XA_INCLUDES) $<
##### TARGETS #####
default: $(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME)
# Generate list of library visible symbols
xa_symbols: $(TOP)/src/gallium/state_trackers/xa/libxatracker.o
$(NM) $< | $(GREP) ' T ' | $(AWK) '{print $$3}' > $@
# Make the library
$(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME): depend $(OBJECTS) $(XA_LIB_DEPS) \
xa_symbols
$(MKLIB) -o $(XA_LIB) -linker $(LD) -ldflags '$(LDFLAGS)' \
-major $(XA_MAJOR) -minor $(XA_MINOR) -patch $(XA_TINY) \
$(MKLIB_OPTIONS) \
-exports xa_symbols \
-install $(TOP)/$(LIB_DIR)/gallium \
$(OBJECTS) $(XA_LIB_DEPS) $(GALLIUM_AUXILIARIES)
# xa pkgconfig file
pcedit = sed \
-e 's,@INSTALL_DIR@,$(INSTALL_DIR),g' \
-e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),g' \
-e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),g' \
-e 's,@VERSION@,$(XA_MAJOR).$(XA_MINOR).$(XA_TINY),g' \
-e 's,@XA_PC_REQ_PRIV@,$(XA_PC_REQ_PRIV),g' \
-e 's,@XA_PC_LIB_PRIV@,$(XA_PC_LIB_PRIV),g' \
-e 's,@XA_PC_CFLAGS@,$(XA_PC_CFLAGS),g' \
-e 's,@XA_LIB@,$(XA_LIB),g'
xatracker.pc: xatracker.pc.in
$(pcedit) $< > $@
install: xatracker.pc
$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)
$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
$(INSTALL) -m 644 $(TOP)/src/gallium/state_trackers/xa/xa_tracker.h $(DESTDIR)$(INSTALL_INC_DIR)
$(INSTALL) -m 644 $(TOP)/src/gallium/state_trackers/xa/xa_context.h $(DESTDIR)$(INSTALL_INC_DIR)
$(INSTALL) -m 644 $(TOP)/src/gallium/state_trackers/xa/xa_composite.h $(DESTDIR)$(INSTALL_INC_DIR)
$(MINSTALL) -m 755 $(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_GLOB) $(DESTDIR)$(INSTALL_LIB_DIR)
$(INSTALL) -m 644 xatracker.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
clean:
-rm -f *.o *~
-rm -f *.lo
-rm -f *.la
-rm -f *.pc
-rm -rf .libs
-rm -f depend depend.bak exptmp xa_symbols
depend: $(SOURCES)
@ echo "running $(MKDEP)"
@ rm -f depend
@ touch depend
@ $(MKDEP) $(MKDEP_OPTIONS) -I$(TOP)/include $(XA_INCLUDES) $(SOURCES) \
> /dev/null
-include depend
FORCE: