| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- # Copyright Statement:
- #
- # This software/firmware and related documentation ("MediaTek Software") are
- # protected under relevant copyright laws. The information contained herein
- # is confidential and proprietary to MediaTek Inc. and/or its licensors.
- # Without the prior written permission of MediaTek inc. and/or its licensors,
- # any reproduction, modification, use or disclosure of MediaTek Software,
- # and information contained herein, in whole or in part, shall be strictly prohibited.
- # MediaTek Inc. (C) 2010. All rights reserved.
- #
- # BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- # THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- # RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
- # AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
- # NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
- # SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
- # SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
- # THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
- # THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
- # CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
- # SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- # STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
- # CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
- # AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
- # OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
- # MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- #
- # The following software/firmware and/or related documentation ("MediaTek Software")
- # have been modified by MediaTek Inc. All revisions are subject to any receiver's
- # applicable license agreements with MediaTek Inc.
- ##############################################################
- # Include MakeFile
- ##############################################################
- include $(MTK_PATH_PLATFORM)/makefile.mak
- ##############################################################
- # Initialize Variables
- ##############################################################
- C_FILES := $(filter %.c, $(MOD_SRC))
- ASM_FILES := $(filter %.s, $(MOD_SRC))
- ASM_FILES_S := $(filter %.S, $(MOD_SRC))
- CRYPTO_FILES := $(filter %.c, $(CRYPTO_SRC))
- CRYPTO_FILES_ASM_FILES_S := $(filter %.S, $(CRYPTO_SRC))
- PLAT_MOD_FILES := $(filter %.c, $(MOD_PLAT_SRC))
- DEVINFO_MOD_FILES := $(filter %.c, $(MOD_DEVINFO_SRC))
- DEVINFO_DEBUG_MOD_FILES := $(filter %.c, $(MOD_DEVINFO_DEBUG_SRC))
- C_FILES_PLUS := $(filter %.c, $(MOD_SRC_PLUS))
- HW_CYRPTO_LIB_FILES := $(filter %.c, $(HW_CYRPTO_LIB_SRC))
- OBJS_FROM_C := $(addprefix $(MOD_OBJ)/, $(C_FILES:%.c=%.o))
- OBJS_FROM_ASM := $(addprefix $(MOD_OBJ)/, $(ASM_FILES:%.s=%.o))
- OBJS_FROM_ASM_S := $(addprefix $(MOD_OBJ)/, $(ASM_FILES_S:%.S=%.o))
- CRYPTO_OBJS_FROM_C := $(addprefix $(CRYPTO_OBJ)/, $(CRYPTO_FILES:%.c=%.o))
- CRYPTO_OBJS_FROM_ASM := $(addprefix $(CRYPTO_OBJ)/, $(CRYPTO_FILES_ASM_FILES_S:%.S=%.o))
- PLAT_MOD_OBJS_FROM_C := $(addprefix $(MOD_PLAT_OBJ)/, $(PLAT_MOD_FILES:%.c=%.o))
- DEVINFO_MOD_OBJS_FROM_C := $(addprefix $(MOD_DEVINFO_OBJ)/, $(DEVINFO_MOD_FILES:%.c=%.o))
- DEVINFO_DEBUG_MOD_OBJS_FROM_C := $(addprefix $(MOD_DEVINFO_DEBUG_OBJ)/, $(DEVINFO_DEBUG_MOD_FILES:%.c=%.o))
- OBJS_FROM_C_PLUS := $(addprefix $(MOD_OBJ)/, $(C_FILES_PLUS:%.c=%.o))
- HW_CYRPTO_LIB_OBJS_FROM_C := $(addprefix $(HW_CYRPTO_LIB_OBJ)/, $(HW_CYRPTO_LIB_FILES:%.c=%.o))
- DEPS_FROM_OBJS := $(wildcard $(patsubst %.o,%.d,$(OBJS_FROM_C) $(OBJS_FROM_ASM_S) $(CRYPTO_OBJS_FROM_C) $(CRYPTO_OBJS_FROM_ASM) $(PLAT_MOD_OBJS_FROM_C) $(DEVINFO_MOD_OBJS_FROM_C) $(DEVINFO_DEBUG_MOD_OBJS_FROM_C) $(OBJS_FROM_C_PLUS) $(HW_CYRPTO_LIB_OBJS_FROM_C)))
- DEPS_FROM_MAKEFILE := $(filter-out %.d,$(ALL_DEPENDENCY_FILE) $(MAKEFILE_LIST))
- ##############################################################
- # Specify Builld Command
- ##############################################################
- define COMPILE_C
- $(CC) $(C_OPTION) -MP -MD -MF $(patsubst %.o,%.d,$@) -o $@ $<
- endef
- define COMPILE_ASM
- $(AS) $(AFLAGS) -o $@ $<
- endef
- define COMPILE_ASM_ARMV8
- $(CC) $(C_OPTION) -MP -MD -MF $(patsubst %.o,%.d,$@) -DASSEMBLY -o $@ $<
- endef
- ##############################################################
- # Main Flow
- ##############################################################
- CURDIR_FLAG := $(PRELOADER_OUT)/obj/$(subst /,_,$(patsubst $(D_ROOT)/%,%,$(patsubst %/,%,$(CURDIR)))).flag
- all: $(CURDIR_FLAG)
- $(OBJS_FROM_C) : $(MOD_OBJ)/%.o : $(CURDIR)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- $(OBJS_FROM_ASM_S) : $(MOD_OBJ)/%.o : $(CURDIR)/%.S
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- $(OBJS_FROM_ASM) : $(MOD_OBJ)/%.o : $(CURDIR)/%.s
- @mkdir -p $(dir $@)
- $(COMPILE_ASM)
- $(CRYPTO_OBJS_FROM_C) : $(CRYPTO_OBJ)/%.o : $(CURDIR)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- $(PLAT_MOD_OBJS_FROM_C) : $(MOD_PLAT_OBJ)/%.o : $(CURDIR)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- $(CRYPTO_OBJS_FROM_ASM) : $(CRYPTO_OBJ)/%.o : $(CURDIR)/%.S
- @mkdir -p $(dir $@)
- $(COMPILE_ASM_ARMV8)
- $(DEVINFO_MOD_OBJS_FROM_C) : $(MOD_DEVINFO_OBJ)/%.o : $(CURDIR)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- $(DEVINFO_DEBUG_MOD_OBJS_FROM_C) : $(MOD_DEVINFO_DEBUG_OBJ)/%.o : $(CURDIR)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- $(HW_CYRPTO_LIB_OBJS_FROM_C) : $(HW_CYRPTO_LIB_OBJ)/%.o : $(CURDIR)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- # add for custom_emi.c/cust_part.c
- $(OBJS_FROM_C_PLUS) : $(MOD_OBJ)/%.o : $(PRELOADER_OUT)/%.c
- @mkdir -p $(dir $@)
- $(COMPILE_C)
- -include $(DEPS_FROM_OBJS)
- $(OBJS_FROM_C) $(OBJS_FROM_ASM) $(OBJS_FROM_ASM_S) $(CRYPTO_OBJS_FROM_C) $(CRYPTO_OBJS_FROM_ASM) $(PLAT_MOD_OBJS_FROM_C) $(DEVINFO_MOD_OBJS_FROM_C) $(DEVINFO_DEBUG_MOD_OBJS_FROM_C) $(OBJS_FROM_C_PLUS) $(HW_CYRPTO_LIB_OBJS_FROM_C): $(DEPS_FROM_MAKEFILE)
- $(CURDIR_FLAG): $(OBJS_FROM_C) $(OBJS_FROM_ASM) $(OBJS_FROM_ASM_S) $(CRYPTO_OBJS_FROM_C) $(CRYPTO_OBJS_FROM_ASM) $(PLAT_MOD_OBJS_FROM_C) $(DEVINFO_MOD_OBJS_FROM_C) $(DEVINFO_DEBUG_MOD_OBJS_FROM_C) $(OBJS_FROM_C_PLUS) $(HW_CYRPTO_LIB_OBJS_FROM_C)
- ifndef CURDIR_FLAG_RULE
- # avoid warning when common-dir.mak and common.mak are both included
- CURDIR_FLAG_RULE := true
- $(CURDIR_FLAG):
- @mkdir -p $(dir $@)
- echo "$^" > $@
- endif
|