GALLIUM_TOP := $(call my-dir)
GALLIUM_COMMON_MK := $(GALLIUM_TOP)/Android.common.mk
-SUBDIRS := \
- targets/egl-static \
- state_trackers/egl \
- auxiliary
+SUBDIRS := auxiliary
+
+#
+# Gallium drivers and their respective winsys
+#
# swrast
-SUBDIRS += winsys/sw/android
+SUBDIRS += winsys/sw/android drivers/softpipe
+
+# freedreno
+ifneq ($(filter freedreno, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += winsys/freedreno/drm drivers/freedreno
+endif
+
+# i915g
+ifneq ($(filter i915g, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += winsys/i915/drm drivers/i915
+endif
+
+# ilo
+ifneq ($(filter ilo, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += winsys/intel/drm drivers/ilo
+endif
+
+# nouveau
+ifneq ($(filter nouveau, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += \
+ winsys/nouveau/drm \
+ drivers/nouveau
+endif
+
+# r300g/r600g/radeonsi
+ifneq ($(filter r300g r600g radeonsi, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += winsys/radeon/drm
+ifneq ($(filter r300g, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += drivers/r300
+endif
+ifneq ($(filter r600g radeonsi, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += drivers/radeon
+ifneq ($(filter r600g, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += drivers/r600
+endif
+ifneq ($(filter radeonsi, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += drivers/radeonsi
+endif
+endif
+endif
+
+# vmwgfx
+ifneq ($(filter vmwgfx, $(MESA_GPU_DRIVERS)),)
+SUBDIRS += winsys/svga/drm drivers/svga
+endif
+
+#
+# Gallium state trackers and their users (targets)
+#
+SUBDIRS += state_trackers/egl targets/egl-static
mkfiles := $(patsubst %,$(GALLIUM_TOP)/%/Android.mk,$(SUBDIRS))
include $(mkfiles)