M_PATH := $(shell dirname $(lastword $(MAKEFILE_LIST)))

MODULE_NAME = iv009_isp_iq
obj-m += $(MODULE_NAME).o

$(MODULE_NAME)-y += app/soc_iq.o
$(MODULE_NAME)-y += src/drv_otp/acamera_calibration_imx227_otp.o
$(MODULE_NAME)-y += src/drv_otp/acamera_get_calibration_otp.o
$(MODULE_NAME)-y += src/drv_otp/acamera_calibration_ov5675_otp.o
$(MODULE_NAME)-y += src/drv_otp/acamera_calibration_os08a10_otp.o
$(MODULE_NAME)-y += src/platform/system_log.o
$(MODULE_NAME)-y += src/platform/system_i2c.o
$(MODULE_NAME)-y += src/platform/system_spi.o
$(MODULE_NAME)-y += src/platform/system_timer.o
$(MODULE_NAME)-y += src/platform/system_hw_io.o
$(MODULE_NAME)-y += src/platform/system_stdlib.o
$(MODULE_NAME)-y += src/platform/system_sw_io.o
$(MODULE_NAME)-y += src/platform/system_spinlock.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_os04a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_os08a10_slt.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_sc4238.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx224.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_os04a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_ov2718.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_os08a10_slt.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_os04a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_get_calibrations_dummy.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx481.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx307_demo.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx290.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_sc4238.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx307_demo.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx307_demo.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx227.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx415.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx335.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_os08a10_panel.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_sc8238cs_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_sc4238_night.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx307_demo.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_sc4238_night.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_sc2335.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx415.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_sc2232h.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx290_lens_8mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_sc8238cs_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_os08a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_os08a10_ipc.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_sc8238cs_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx334.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_ov13858.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_dummy.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx334.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx290.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_sc8238cs_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx290_slt.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx307.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx415.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_dummy.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx224.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx334.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx481.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx227.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx335.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_ov13858.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_ov2718.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx290_lens_4mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx334.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx290_lens_4mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_dummy.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_os08a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_ov2718.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_sc2232h.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_sc2335.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx290_lens_8mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_os04a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_os08a10_slt.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx307.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_ov5675.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_ov13858.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_ov13858.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx290_slt.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx415.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx290_lens_8mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_os08a10_panel.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx290_lens_4mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_os08a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx307.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_ov5675.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_ov2718.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx290_lens_8mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_os08a10_ipc.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_sc4238.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx224.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx335.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_os08a10_ipc.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx290.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_sc4238.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_dummy.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_imx335.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_os08a10_tv.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_linear_os08a10_slt.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_linear_imx290_lens_4mm.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_os08a10_ipc.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_dynamic_fs_lin_imx290.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx307.o
$(MODULE_NAME)-y += src/calibration/acamera_calibrations_static_fs_lin_imx224.o
$(MODULE_NAME)-y += src/drv_tuning/acamera_calibrations.o
$(MODULE_NAME)-y += src/fw_lib/acamera_logger.o
$(MODULE_NAME)-y += src/fw_lib/acamera_sbus.o
$(MODULE_NAME)-y += src/fw_lib/acamera_sbus_isp.o
$(MODULE_NAME)-y += src/fw_lib/acamera_sbus_spi.o
$(MODULE_NAME)-y += src/fw_lib/acamera_sbus_isp_sw.o
$(MODULE_NAME)-y += src/fw_lib/acamera_math.o
$(MODULE_NAME)-y += src/fw_lib/acamera_sbus_i2c.o

LOCAL_INCLUDES := -I$(M_PATH)/app -I$(M_PATH)/inc -I$(M_PATH)/app/control \
                  -I$(M_PATH)/inc/api -I$(M_PATH)/inc/isp -I$(M_PATH)/inc/sys \
                  -I$(M_PATH)/src/platform -I$(M_PATH)/src/fw -I$(M_PATH)/src/fw_lib \
		  -I$(M_PATH)/src/calibration -I$(M_PATH)/src/drv_otp -I$(M_PATH)/src/drv_tuning  \
                  -I$(M_PATH)/src/driver/sensor -I$(M_PATH)/src/driver/lens

ccflags-y += -Wno-declaration-after-statement
ccflags-y += -Idrivers/staging/android/
ccflags-y += -Wno-error
ccflags-y += $(LOCAL_INCLUDES)

EXTRA_CFLAGS += $(LOCAL_INCLUDES)
