OSDN Git Service

Sync GRALLOC_MODULE_PERFORM_GET_DRM_FD definition with gbm_gralloc
[android-x86/external-drm_gralloc.git] / Android.mk
index 5bd4c45..69e9286 100644 (file)
 
 # Android.mk for drm_gralloc
 
-ifeq ($(strip $(BOARD_USES_DRM)),true)
+DRM_GPU_DRIVERS := $(strip $(filter-out swrast, $(BOARD_GPU_DRIVERS)))
+
+freedreno_drivers := freedreno
+intel_drivers := i915 i965 i915g ilo
+radeon_drivers := r300g r600g radeonsi
+nouveau_drivers := nouveau
+
+valid_drivers := \
+       prebuilt \
+       $(freedreno_drivers) \
+       $(intel_drivers) \
+       $(radeon_drivers) \
+       $(nouveau_drivers)
+
+# Assume other driver names are pipe drivers
+ifneq ($(filter-out $(valid_drivers), $(DRM_GPU_DRIVERS)),)
+DRM_GPU_DRIVERS += pipe
+endif
+
+ifneq ($(strip $(DRM_GPU_DRIVERS)),)
 
 LOCAL_PATH := $(call my-dir)
+
+
+# Use the PREBUILT libraries
+ifeq ($(strip $(DRM_GPU_DRIVERS)),prebuilt)
+
 include $(CLEAR_VARS)
+LOCAL_MODULE := libgralloc_drm
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
+include $(BUILD_PREBUILT)
 
-DRM_USES_INTEL := $(findstring true, \
-       $(BOARD_USES_I915C) \
-       $(BOARD_USES_I965C) \
-       $(BOARD_USES_I915G) \
-       $(BOARD_USES_I965G))
+include $(CLEAR_VARS)
+LOCAL_MODULE := gralloc.$(TARGET_PRODUCT)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_RELATIVE_PATH := hw
+LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
+include $(BUILD_PREBUILT)
 
-DRM_USES_RADEON := $(findstring true, \
-       $(BOARD_USES_R300G) \
-       $(BOARD_USES_R600G))
+# Use the sources
+else
 
-DRM_USES_NOUVEAU := $(findstring true, \
-       $(BOARD_USES_NOUVEAU))
+include $(CLEAR_VARS)
+LOCAL_MODULE := libgralloc_drm
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_CFLAGS := -std=c99
 
 LOCAL_SRC_FILES := \
-       gralloc.c \
        gralloc_drm.c \
        gralloc_drm_kms.c
 
-LOCAL_C_INCLUDES := \
-       external/drm \
-       external/drm/include/drm
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+       $(LOCAL_PATH)
 
 LOCAL_SHARED_LIBRARIES := \
        libdrm \
        liblog \
        libcutils \
+       libhardware_legacy \
 
-# for glFlush/glFinish
-LOCAL_SHARED_LIBRARIES += \
-       libGLESv1_CM
+ifneq ($(filter $(freedreno_drivers), $(DRM_GPU_DRIVERS)),)
+LOCAL_SRC_FILES += gralloc_drm_freedreno.c
+LOCAL_CFLAGS += -DENABLE_FREEDRENO
+LOCAL_SHARED_LIBRARIES += libdrm_freedreno
+endif
 
-ifeq ($(strip $(DRM_USES_INTEL)),true)
+ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),)
 LOCAL_SRC_FILES += gralloc_drm_intel.c
-LOCAL_C_INCLUDES += external/drm/intel
 LOCAL_CFLAGS += -DENABLE_INTEL
 LOCAL_SHARED_LIBRARIES += libdrm_intel
-endif # DRM_USES_INTEL
+endif
 
-ifeq ($(strip $(DRM_USES_RADEON)),true)
+ifneq ($(filter $(radeon_drivers), $(DRM_GPU_DRIVERS)),)
 LOCAL_SRC_FILES += gralloc_drm_radeon.c
-LOCAL_C_INCLUDES += external/drm/radeon
 LOCAL_CFLAGS += -DENABLE_RADEON
 LOCAL_SHARED_LIBRARIES += libdrm_radeon
-endif # DRM_USES_RADEON
+endif
 
-ifeq ($(strip $(DRM_USES_NOUVEAU)),true)
+ifneq ($(filter $(nouveau_drivers), $(DRM_GPU_DRIVERS)),)
 LOCAL_SRC_FILES += gralloc_drm_nouveau.c
-LOCAL_C_INCLUDES += external/drm/nouveau
 LOCAL_CFLAGS += -DENABLE_NOUVEAU
 LOCAL_SHARED_LIBRARIES += libdrm_nouveau
-endif # DRM_USES_NOUVEAU
+endif
 
-LOCAL_MODULE := gralloc.$(TARGET_PRODUCT)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
+ifneq ($(filter pipe, $(DRM_GPU_DRIVERS)),)
+LOCAL_SRC_FILES += gralloc_drm_pipe.c
+LOCAL_CFLAGS += -DENABLE_PIPE
+LOCAL_C_INCLUDES += \
+       external/mesa/include \
+       external/mesa/src \
+       external/mesa/src/gallium/include \
+       external/mesa/src/gallium/auxiliary
+
+
+LOCAL_SHARED_LIBRARIES += libdl
+endif # pipe_drivers
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := \
+       gralloc.c \
 
+LOCAL_SHARED_LIBRARIES := \
+       libgralloc_drm \
+       libdrm \
+       liblog \
+
+# for glFlush/glFinish
+LOCAL_SHARED_LIBRARIES += \
+       libGLESv1_CM
+
+LOCAL_MODULE := gralloc.drm
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_RELATIVE_PATH := hw
 include $(BUILD_SHARED_LIBRARY)
 
-endif # BOARD_USES_DRM
+endif # DRM_GPU_DRIVERS=prebuilt
+endif # DRM_GPU_DRIVERS