summaryrefslogtreecommitdiff
path: root/Android.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk113
1 files changed, 111 insertions, 2 deletions
diff --git a/Android.mk b/Android.mk
index f1088a4..ce43203 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,5 +1,114 @@
-ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
+#
+# Copyright (C) 2018 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)
-include $(LOCAL_PATH)/build/target_specific_features.mk
+
+ifneq ($(filter jasmine_sprout tulip wayne,$(TARGET_DEVICE)),)
+
+$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware; \
+ ln -sf /dev/block/bootdevice/by-name/msadp \
+ $(TARGET_OUT_VENDOR)/firmware/msadp)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := wifi_symlinks
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := FAKE
+LOCAL_MODULE_SUFFIX := -timestamp
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+$(LOCAL_BUILT_MODULE): ACTUAL_INI_FILE := /vendor/etc/wifi/WCNSS_qcom_cfg.ini
+$(LOCAL_BUILT_MODULE): WCNSS_INI_SYMLINK := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini
+
+$(LOCAL_BUILT_MODULE): ACTUAL_BIN_FILE := /persist/wlan_mac.bin
+$(LOCAL_BUILT_MODULE): WCNSS_BIN_SYMLINK := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/wlan_mac.bin
+
+$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/Android.mk
+$(LOCAL_BUILT_MODULE):
+ $(hide) echo "Making symlinks for wifi"
+ $(hide) mkdir -p $(dir $@)
+ $(hide) mkdir -p $(dir $(WCNSS_INI_SYMLINK))
+ $(hide) rm -rf $@
+ $(hide) rm -rf $(WCNSS_INI_SYMLINK)
+ $(hide) ln -sf $(ACTUAL_INI_FILE) $(WCNSS_INI_SYMLINK)
+ $(hide) rm -rf $(WCNSS_BIN_SYMLINK)
+ $(hide) ln -sf $(ACTUAL_BIN_FILE) $(WCNSS_BIN_SYMLINK)
+ $(hide) touch $@
+
+# 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
+BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
+DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
+
+$(FIRMWARE_MOUNT_POINT):
+ @echo "Creating $(FIRMWARE_MOUNT_POINT)"
+ @mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
+
+$(BT_FIRMWARE_MOUNT_POINT):
+ @echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
+ @mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
+
+$(DSP_MOUNT_POINT):
+ @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_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
+
+ALL_DEFAULT_INSTALLED_MODULES += \
+ $(RFS_MSM_ADSP_SYMLINKS) \
+ $(RFS_MSM_MPSS_SYMLINKS) \
+ $(RFS_MSM_SLPI_SYMLINKS)
+
include $(call all-makefiles-under,$(LOCAL_PATH))
endif