amd: add support for Arcturus
[mesa.git] / src / amd / Android.common.mk
index 49f8943900c79f5f729f59aa412a34bc88a87eae..d5a266215f02af1db424b00a538c0216c13e6749 100644 (file)
@@ -28,20 +28,71 @@ include $(CLEAR_VARS)
 
 LOCAL_MODULE := libmesa_amd_common
 
-LOCAL_SRC_FILES := $(AMD_COMPILER_SOURCES)
+LOCAL_SRC_FILES := \
+       $(AMD_COMMON_FILES) \
+       $(AMD_COMPILER_FILES) \
+       $(AMD_DEBUG_FILES) \
+       $(AMD_NIR_FILES)
+
+LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU   # instructs LLVM to declare LLVMInitializeAMDGPU* functions
+
+# generate sources
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+intermediates := $(call local-generated-sources-dir)
+LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/, $(AMD_GENERATED_FILES))
+
+SID_TABLES := $(LOCAL_PATH)/common/sid_tables.py
+
+SID_TABLES_INPUTS := \
+       $(LOCAL_PATH)/common/sid.h \
+       $(LOCAL_PATH)/registers/amdgfxregs.json \
+       $(LOCAL_PATH)/registers/pkt3.json \
+       $(LOCAL_PATH)/registers/gfx10.json \
+       $(LOCAL_PATH)/registers/gfx10-rsrc.json
+
+$(intermediates)/common/sid_tables.h: $(SID_TABLES) $(SID_TABLES_INPUTS)
+       @mkdir -p $(dir $@)
+       @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
+       $(hide) $(MESA_PYTHON2) $(SID_TABLES) $(SID_TABLES_INPUTS) > $@ || ($(RM) $@; false)
+
+AMDGFXREGS := $(LOCAL_PATH)/registers/makeregheader.py
+
+AMDGFXREGS_INPUTS := \
+       $(LOCAL_PATH)/registers/amdgfxregs.json \
+       $(LOCAL_PATH)/registers/pkt3.json \
+       $(LOCAL_PATH)/registers/gfx10.json \
+       $(LOCAL_PATH)/registers/gfx10-rsrc.json
+
+$(intermediates)/common/amdgfxregs.h: $(AMDGFXREGS) $(AMDGFXREGS_INPUTS)
+       @mkdir -p $(dir $@)
+       @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
+       $(hide) $(MESA_PYTHON2) $(AMDGFXREGS) $(AMDGFXREGS_INPUTS) --sort address --guard AMDGFXREGS_H > $@ || ($(RM) $@; false)
 
 LOCAL_C_INCLUDES := \
        $(MESA_TOP)/include \
        $(MESA_TOP)/src \
        $(MESA_TOP)/src/amd/common \
+       $(MESA_TOP)/src/compiler \
+       $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \
        $(MESA_TOP)/src/gallium/include \
        $(MESA_TOP)/src/gallium/auxiliary \
-       external/llvm/include \
-       external/llvm/device/include \
-       external/libcxx/include \
-       external/elfutils/$(if $(filter 5,$(MESA_ANDROID_MAJOR_VERSION)),0.153/,$(if $(filter 6,$(MESA_ANDROID_MAJOR_VERSION)),src/))libelf
+       $(MESA_TOP)/src/mesa \
+       $(intermediates)/common
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+       $(LOCAL_PATH)/common \
+       $(intermediates)/common
+
+LOCAL_SHARED_LIBRARIES := \
+       libdrm_amdgpu
+
+LOCAL_STATIC_LIBRARIES := \
+       libmesa_nir
+
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+       libelf
 
-LOCAL_STATIC_LIBRARIES := libLLVMCore
+$(call mesa-build-with-llvm)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)