# # Copyright (C) 2021 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_PATH := $(call my-dir) COMMON_PATH := $(LOCAL_PATH) ifneq ($(filter lemonade lemonadep,$(TARGET_DEVICE)),) subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH)) $(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk))) include $(CLEAR_VARS) # A/B builds require us to create the mount points at compile time. # Just creating it for all cases since it does not hurt. FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt $(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) @echo "Creating $(FIRMWARE_MOUNT_POINT)" @mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware $(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) @echo "Creating $(BT_FIRMWARE_MOUNT_POINT)" @mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp $(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) @echo "Creating $(DSP_MOUNT_POINT)" @mkdir -p $(TARGET_OUT_VENDOR)/dsp ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/ $(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @echo "Creating RFS MSM ADSP folder structure: $@" @rm -rf $@/* @mkdir -p $(dir $@)/readonly/vendor $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/ $(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @echo "Creating RFS MSM CDSP folder structure: $@" @rm -rf $@/* @mkdir -p $(dir $@)/readonly/vendor $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps $(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/ $(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @echo "Creating RFS MSM MPSS folder structure: $@" @rm -rf $@/* @mkdir -p $(dir $@)/readonly/vendor $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/ $(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @echo "Creating RFS MSM SLPI folder structure: $@" @rm -rf $@/* @mkdir -p $(dir $@)/readonly/vendor $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld $(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @echo "Creating wifi firmware symlinks: $@" @mkdir -p $@ $(hide) ln -sf /mnt/vendor/persist/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini $(hide) ln -sf /mnt/vendor/persist/wlan_mac.bin $@/wlan_mac.bin VENDOR_RAMDISK_KERNEL_MODULES_LIST := $(strip $(shell cat $(COMMON_PATH)/modules.load.recovery)) VENDOR_RAMDISK_KERNEL_MODULES := $(VENDOR_RAMDISK_KERNEL_MODULES_LIST:%=$(TARGET_VENDOR_RAMDISK_OUT)/lib/modules/%) INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel INTERNAL_VENDOR_RAMDISK_TARGET := $(call intermediates-dir-for,PACKAGING,vendor-boot)/vendor-ramdisk.cpio.gz $(VENDOR_RAMDISK_KERNEL_MODULES): $(INSTALLED_KERNEL_TARGET) @echo "Copying kernel modules to vendor ramdisk: $@" @mkdir -p $(dir $@) cp $(@F:%=$(TARGET_OUT_VENDOR)/lib/modules/%) $(TARGET_VENDOR_RAMDISK_OUT)/lib/modules/ cp $(TARGET_OUT_VENDOR)/lib/modules/modules.dep $(TARGET_VENDOR_RAMDISK_OUT)/lib/modules/ sed -i "s/\/vendor//g" $(TARGET_VENDOR_RAMDISK_OUT)/lib/modules/modules.dep $(INTERNAL_VENDOR_RAMDISK_TARGET): $(VENDOR_RAMDISK_KERNEL_MODULES) ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) $(WIFI_FIRMWARE_SYMLINKS) endif