gallium: Add "pipe-loader" target.
[mesa.git] / src / gallium / targets / Makefile.xorg
index f638fbe455c9ff2f344bc6ddc42703cec90c37f5..481e3d6a2b732aa56c650642052e607daab76de1 100644 (file)
@@ -9,7 +9,8 @@
 # Optional defines:
 #   DRIVER_INCLUDES are appended to the list of includes directories.
 #   DRIVER_DEFINES is not used for makedepend, but for compilation.
-#   DRIVER_LINKS are flags given to the linker
+#   DRIVER_PIPES are pipe drivers and modules that the driver depends on.
+#   DRIVER_LINKS are flags given to the linker.
 
 ### Basic defines ###
 
@@ -18,21 +19,34 @@ OBJECTS = $(C_SOURCES:.c=.o) \
        $(ASM_SOURCES:.S=.o)
 
 INCLUDES = \
-       $(shell pkg-config --cflags-only-I pixman-1 xorg-server libdrm xproto) \
+       $(shell $(PKG_CONFIG) --cflags-only-I pixman-1 xorg-server libdrm xproto) \
        -I$(TOP)/src/gallium/include \
        -I$(TOP)/src/gallium/drivers \
        -I$(TOP)/src/gallium/auxiliary \
+       -I$(TOP)/src/gallium/winsys \
        $(DRIVER_INCLUDES)
 
-LIBNAME_STAGING = $(TOP)/$(LIB_DIR)/gallium/$(TARGET)
+LIBNAME_STAGING = $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
+
+ifeq ($(MESA_LLVM),1)
+LDFLAGS += $(LLVM_LDFLAGS)
+DRIVER_LINKS += $(LLVM_LIBS) -lm -ldl
+LD=$(CXX)
+else
+  ifeq ($(LINK_WITH_CXX),1)
+    LD=$(CXX)
+  else
+    LD=$(CC)
+  endif
+endif
 
 
 ##### TARGETS #####
 
 default: depend $(TOP)/$(LIB_DIR)/gallium $(LIBNAME) $(LIBNAME_STAGING)
 
-$(LIBNAME): $(OBJECTS) Makefile $(LIBS)
-       $(MKLIB) -noprefix -o $@ $(OBJECTS) $(DRIVER_LINKS)
+$(LIBNAME): $(OBJECTS) Makefile ../Makefile.xorg $(LIBS) $(DRIVER_PIPES) $(GALLIUM_AUXILIARIES)
+       $(MKLIB) -linker '$(LD)' -noprefix -o $@ $(LDFLAGS) $(OBJECTS) $(DRIVER_PIPES) $(GALLIUM_AUXILIARIES) $(DRIVER_LINKS)
 
 depend: $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(SYMLINKS) $(GENERATED_SOURCES)
        rm -f depend
@@ -46,7 +60,7 @@ $(TOP)/$(LIB_DIR)/gallium:
        mkdir -p $@
 
 clean:
-       rm -f $(OBJECTS) $(GENERATED_SOURCES) $(LIBNAME).a depend depend.bak
+       rm -f $(OBJECTS) $(GENERATED_SOURCES) $(LIBNAME) depend depend.bak
 
 install:
        $(INSTALL) -d $(DESTDIR)/$(XORG_DRIVER_INSTALL_DIR)
@@ -56,16 +70,16 @@ install:
 ##### RULES #####
 
 %.s: %.c
-       $(CC) -S $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@
+       $(CC) -S $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
 
 %.o: %.c
-       $(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
 
 %.o: %.cpp
-       $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(LIBRARY_DEFINES) $< -o $@
+       $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(DRIVER_DEFINES) $< -o $@
 
 %.o: %.S
-       $(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES)  $< -o $@
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES)  $< -o $@
 
 sinclude depend