LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE),gprimeltecan)

include $(call all-subdir-makefiles,$(LOCAL_PATH))
include $(call all-makefiles-under,$(LOCAL_PATH))

include $(CLEAR_VARS)

# AiO /firmware
FIRMWARE_IMAGES := \
    cmnlib.b00 cmnlib.b01 cmnlib.b02 cmnlib.b03 cmnlib.mdt \
    dmverity.b00 dmverity.b01 dmverity.b02 dmverity.b03 dmverity.mdt \
    isdbtmm.b00 isdbtmm.b01 isdbtmm.b02 isdbtmm.b03 isdbtmm.mdt \
    keymaste.b00 keymaste.b01 keymaste.b02 keymaste.b03 keymaste.mdt \
    playread.b00 playread.b01 playread.b02 playread.b03 playread.mdt \
    prov.b00 prov.b01 prov.b02 prov.b03 prov.mdt \
    reactive.b00 reactive.b01 reactive.b02 reactive.b03 reactive.mdt \
    sec_stor.b00 sec_stor.b01 sec_stor.b02 sec_stor.b03 sec_stor.mdt \
    skm.b00 skm.b01 skm.b02 skm.b03 skm.mdt \
    skmm_ta.b00 skmm_ta.b01 skmm_ta.b02 skmm_ta.b03 skmm_ta.mdt \
    sshdcpap.b00 sshdcpap.b01 sshdcpap.b02 sshdcpap.b03 sshdcpap.mdt \
    tbase.b00 tbase.b01 tbase.b02 tbase.b03 tbase.mdt \
    tima_atn.b00 tima_atn.b01 tima_atn.b02 tima_atn.b03 tima_atn.mdt \
    tima_key.b00 tima_key.b01 tima_key.b02 tima_key.b03 tima_key.mdt \
    tima_lkm.b00 tima_lkm.b01 tima_lkm.b02 tima_lkm.b03 tima_lkm.mdt \
    tima_pkm.b00 tima_pkm.b01 tima_pkm.b02 tima_pkm.b03 tima_pkm.mdt \
    tz_ccm.b00 tz_ccm.b01 tz_ccm.b02 tz_ccm.b03 tz_ccm.mdt \
    tz_otp.b00 tz_otp.b01 tz_otp.b02 tz_otp.b03 tz_otp.mdt \
    venus.b00 venus.b01 venus.b02 venus.b03 venus.b04 venus.mdt \
    wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06 wcnss.b09 wcnss.b10 wcnss.b11 wcnss.mdt \
    widevine.b00 widevine.b01 widevine.b02 widevine.b03 widevine.mdt \

FIRMWARE_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_IMAGES)))
$(FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
	@echo "Firmware link: $@"
	@mkdir -p $(dir $@)
	@rm -rf $@
	$(hide) ln -sf /firmware/image/$(notdir $@) $@

ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_SYMLINKS)

# /firmware-modem
FIRMWARE_MODEM_IMAGES := \
    mba.mbn modem.b00 modem.b01 modem.b02 modem.b03 modem.b04 \
    modem.b05 modem.b06 modem.b07 modem.b08 modem.b10 modem.b11 \
    modem.b14 modem.b15 modem.b16 modem.b17 modem.b18 modem.b19 \
    modem.b20 modem.b23 modem.b24 modem.b25 modem.b27 modem.b28 \
    modem.mdt

FIRMWARE_MODEM_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_MODEM_IMAGES)))
$(FIRMWARE_MODEM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
	@echo "Firmware Modem link: $@"
	@mkdir -p $(dir $@)
	@rm -rf $@
	$(hide) ln -sf /firmware-modem/image/$(notdir $@) $@

ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MODEM_SYMLINKS)

# Create links for audcal data files
$(shell mkdir -p $(TARGET_OUT)/vendor/firmware/keymaster; \
    ln -sf /firmware/image/keymaste.b00 \
    $(TARGET_OUT)/vendor/firmware/keymaster/keymaster.b00; \
    ln -sf /firmware/image/keymaste.b01 \
    $(TARGET_OUT)/vendor/firmware/keymaster/keymaster.b01; \
    ln -sf /firmware/image/keymaste.b02 \
    $(TARGET_OUT)/vendor/firmware/keymaster/keymaster.b02; \
    ln -sf /firmware/image/keymaste.b03 \
    $(TARGET_OUT)/vendor/firmware/keymaster/keymaster.b03; \
    ln -sf /firmware/image/keymaste.mdt \
    $(TARGET_OUT)/vendor/firmware/keymaster/keymaster.mdt)

#Create link for wifi config
$(shell mkdir -p $(TARGET_OUT)/etc/wifi; \
    ln -sf /etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini \
    $(TARGET_OUT)/etc/wifi/WCNSS_qcom_cfg.ini)

#Create links for camera and wlan modules
$(shell mkdir -p $(TARGET_OUT)/lib/hw; \
    ln -sf /system/lib/hw/camera.vendor.msm8916.so \
    $(TARGET_OUT)/lib/hw/camera.msm8916.so)
    
$(shell mkdir -p $(TARGET_OUT)/lib/modules/pronto; \
    ln -sf /system/lib/modules/pronto/pronto_wlan.ko \
    $(TARGET_OUT)/lib/modules/wlan.ko)
    
include $(CLEAR_VARS)

endif
