1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# src/gallium/targets/libgl-xlib/Makefile 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# This makefile produces a "stand-alone" libGL.so which is based on 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# Xlib (no DRI HW acceleration) 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgTOP = ../../../.. 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginclude $(TOP)/configs/current 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgGL_MAJOR = 1 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgGL_MINOR = 5 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgGL_TINY = 0$(MESA_MAJOR)$(MESA_MINOR)0$(MESA_TINY) 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgINCLUDE_DIRS = \ 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/include \ 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/mapi \ 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/mesa \ 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/mesa/main \ 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/gallium/include \ 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/gallium/drivers \ 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/gallium/state_trackers/glx/xlib \ 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -I$(TOP)/src/gallium/auxiliary \ 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(X11_CFLAGS) 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgDEFINES += \ 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -DGALLIUM_SOFTPIPE \ 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -DGALLIUM_RBUG \ 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -DGALLIUM_TRACE \ 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -DGALLIUM_GALAHAD 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgXLIB_TARGET_SOURCES = \ 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org xlib.c 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgXLIB_TARGET_OBJECTS = $(XLIB_TARGET_SOURCES:.c=.o) 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLIBS = \ 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(GALLIUM_DRIVERS) \ 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/gallium/state_trackers/glx/xlib/libxlib.a \ 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/gallium/winsys/sw/xlib/libws_xlib.a \ 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/gallium/drivers/trace/libtrace.a \ 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/gallium/drivers/rbug/librbug.a \ 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/gallium/drivers/galahad/libgalahad.a \ 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/mapi/glapi/libglapi.a \ 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/src/mesa/libmesagallium.a \ 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(GALLIUM_AUXILIARIES) \ 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# LLVM 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgifeq ($(MESA_LLVM),1) 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPIPE_DRIVERS += $(TOP)/src/gallium/drivers/llvmpipe/libllvmpipe.a 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgDEFINES += -DGALLIUM_LLVMPIPE 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgGL_LIB_DEPS += $(LLVM_LIBS) 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLDFLAGS += $(LLVM_LDFLAGS) 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgendif 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgifeq ($(SHARED_GLAPI),1) 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgGL_LIB_DEPS := -L$(TOP)/$(LIB_DIR) -l$(GLAPI_LIB) $(GL_LIB_DEPS) 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgendif 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org.SUFFIXES : .cpp 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org.c.o: 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org.cpp.o: 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@ 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdefault: $(TOP)/$(LIB_DIR)/gallium $(TOP)/$(LIB_DIR)/gallium/$(GL_LIB_NAME) 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org$(TOP)/$(LIB_DIR)/gallium: 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org @ mkdir -p $(TOP)/$(LIB_DIR)/gallium 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# Make the libGL.so library 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org$(TOP)/$(LIB_DIR)/gallium/$(GL_LIB_NAME): $(XLIB_TARGET_OBJECTS) $(LIBS) Makefile 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(TOP)/bin/mklib -o $(GL_LIB) \ 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -linker "$(CXX)" -ldflags '$(LDFLAGS)' \ 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -major $(GL_MAJOR) -minor $(GL_MINOR) -patch $(GL_TINY) \ 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -cplusplus \ 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -install $(TOP)/$(LIB_DIR)/gallium \ 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(MKLIB_OPTIONS) $(XLIB_TARGET_OBJECTS) \ 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -Wl,--start-group $(LIBS) -Wl,--end-group $(GL_LIB_DEPS) 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdepend: $(XLIB_TARGET_SOURCES) 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org @ echo "running $(MKDEP)" 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org @ rm -f depend # workaround oops on gutsy?!? 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org @ touch depend 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(XLIB_TARGET_SOURCES) \ 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org > /dev/null 2>/dev/null 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginstall: default 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(INSTALL) -m 644 $(TOP)/include/GL/*.h $(DESTDIR)$(INSTALL_DIR)/include/GL 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org @if [ -e $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) ]; then \ 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $(MINSTALL) $(TOP)/$(LIB_DIR)/libGL* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org fi 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# Emacs tags 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtags: 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgclean: 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -rm -f *.o depend 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginclude depend 118