rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | # |
| 2 | # Copyright Statement: |
| 3 | # -------------------- |
| 4 | # This software is protected by Copyright and the information contained |
| 5 | # herein is confidential. The software may not be copied and the information |
| 6 | # contained herein may not be used or disclosed except with the written |
| 7 | # permission of MediaTek Inc. (C) 2005 |
| 8 | # |
| 9 | # BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES |
| 10 | # THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") |
| 11 | # RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON |
| 12 | # AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, |
| 13 | # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF |
| 14 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. |
| 15 | # NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE |
| 16 | # SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR |
| 17 | # SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH |
| 18 | # THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO |
| 19 | # NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S |
| 20 | # SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. |
| 21 | # |
| 22 | # BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE |
| 23 | # LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, |
| 24 | # AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, |
| 25 | # OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO |
| 26 | # MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. |
| 27 | # |
| 28 | # THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE |
| 29 | # WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF |
| 30 | # LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND |
| 31 | # RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER |
| 32 | # THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). |
| 33 | # |
| 34 | # ************************************************************************* |
| 35 | # STANDALONE_ACTION.mak - independent build action |
| 36 | # |
| 37 | # DISCUSSION: |
| 38 | # |
| 39 | # USAGE: |
| 40 | # |
| 41 | # IMPORTANT NOTES: |
| 42 | # |
| 43 | # ************************************************************************* |
| 44 | # |
| 45 | # $Revision:$ |
| 46 | # $Modtime:$ |
| 47 | # $Log:$ |
| 48 | # |
| 49 | # 01 14 2019 yuri.huang |
| 50 | # [MOLY00363660] [Auto-Gen] Merge 2 links to 1 link to save more build time. |
| 51 | # (Frank Hu). |
| 52 | # |
| 53 | # 04 09 2018 gerry.liao |
| 54 | # [MOLY00318691] [SM] remove no use variable (PCORE_ROOT, COMMON_ROOT, l1core) |
| 55 | # . |
| 56 | # |
| 57 | # 06 16 2016 wcpadmin |
| 58 | # smart new env. |
| 59 | # |
| 60 | # 01 28 2016 chi-chun.lu |
| 61 | # [MOLY00162790] [MakeFile] [Remove: Feature Option] DSP_SOLUTION |
| 62 | # |
| 63 | # . |
| 64 | # |
| 65 | # 01 13 2016 gerry.liao |
| 66 | # [MOLY00159998] [SM] memquery remove l1 core related feature |
| 67 | # . |
| 68 | # |
| 69 | # 01 13 2016 chi-chun.lu |
| 70 | # [MOLY00155432] [MakeFile] [UMOLY] [Modify Makefile Rules] UMOLY build env. modifications |
| 71 | # |
| 72 | # . |
| 73 | # |
| 74 | # 12 30 2015 chi-chun.lu |
| 75 | # [MOLY00155432] [MakeFile] [UMOLY] [Modify Makefile Rules] UMOLY build env. modifications |
| 76 | # |
| 77 | # . |
| 78 | # |
| 79 | # 12 07 2015 chi-chun.lu |
| 80 | # [MOLY00150620] [MakeFile][UMOLY] [Modify Makefile Rules] UMOLY cleanup |
| 81 | # |
| 82 | # . |
| 83 | # |
| 84 | # 10 28 2015 chi-chun.lu |
| 85 | # [MOLY00147089] [MakeFile][UMOLY] [Modify Makefile Rules] reorg UMOLY make folder |
| 86 | # |
| 87 | # . |
| 88 | # |
| 89 | # 04 28 2015 chi-chun.lu |
| 90 | # [MOLY00109710] [SM] fix c,r command can't pass correctly to . |
| 91 | # . |
| 92 | # |
| 93 | # 03 20 2015 chi-chun.lu |
| 94 | # [MOLY00099959] [SM] enhance remake action in . |
| 95 | # . |
| 96 | # |
| 97 | # 02 11 2015 ray.lin-wang |
| 98 | # [MOLY00095788] Merge filter bin files of different cores into a catcher_filter.bin |
| 99 | # . |
| 100 | # |
| 101 | # 01 27 2015 chi-chun.lu |
| 102 | # [MOLY00093671] [SM] modify memquery.pl related parameter in standalone_action.mak |
| 103 | # . |
| 104 | # |
| 105 | # 01 20 2015 chi-chun.lu |
| 106 | # [MOLY00092726] [TK6291] [SystemService][Auto-Gen] Memory Utility Refinement |
| 107 | # . |
| 108 | # |
| 109 | # 09 23 2014 tafang.chen |
| 110 | # [MOLY00062786] [UMOLY][SM] Add _P_ and _L_ for elf,map,sym,cmm files to recognize ., .. |
| 111 | # |
| 112 | # 07 17 2014 tafang.chen |
| 113 | # [MOLY00062786] [UMOLY][SM] |
| 114 | # Fix -no_pc problem in two phase linking build. |
| 115 | # |
| 116 | # 06 17 2014 tafang.chen |
| 117 | # [MOLY00062786] [UMOLY][SM] |
| 118 | # Remove named debug message. |
| 119 | # |
| 120 | # 06 17 2014 tafang.chen |
| 121 | # [MOLY00062786] [UMOLY][SM] |
| 122 | # Fix variation load problem in two-phase linking.(Brian.Chiang) |
| 123 | # |
| 124 | # 05 22 2014 tafang.chen |
| 125 | # [MOLY00062786] [UMOLY][SM] |
| 126 | # Initial MoDIS build env - fix path problem. |
| 127 | # |
| 128 | # 05 07 2014 tafang.chen |
| 129 | # [MOLY00062786] [UMOLY][SM] |
| 130 | # Implement two phase linking. |
| 131 | # |
| 132 | # 05 06 2014 tafang.chen |
| 133 | # Fix incorrect single_core settting on . when full build |
| 134 | # |
| 135 | # 11 26 2013 ray.lin-wang |
| 136 | # [MOLY00047495] [MakeFile] [Modify Common Makefile] Cgen Enhancement |
| 137 | # Support gen query mod sim source in OA domain |
| 138 | # |
| 139 | # 06 25 2013 ray.lin-wang |
| 140 | # [MOLY00027330] [ARM7toMOLY] ARM7 Build/SYSGEN/Functions Update to TRUNK |
| 141 | # . |
| 142 | # |
| 143 | # 06 03 2013 amber.su |
| 144 | # [MOLY00023890] [SystemService][Auto-Gen][Internal Refinement] Support compiler option judgement |
| 145 | # . |
| 146 | # |
| 147 | # 04 23 2013 amber.su |
| 148 | # [MOLY00020348] [MT6290 Bring-up][MakeFile] [Modify: Others] Modify build.mak for ROM & File System Overlapping check |
| 149 | # . |
| 150 | # |
| 151 | # 04 12 2013 amber.su |
| 152 | # [MOLY00014181] [MakeFile] [Add: Build Action] Add gendummysym command for memory expired analysis |
| 153 | # . |
| 154 | # |
| 155 | # 01 24 2013 amber.su |
| 156 | # [MOLY00009227] [SystemService][AAPMC][Internal Refinement] Support AAPMC to auto-adjust Modem Image Layout |
| 157 | # . |
| 158 | # |
| 159 | # 01 21 2013 amber.su |
| 160 | # . |
| 161 | # |
| 162 | # 01 17 2013 amber.su |
| 163 | # . |
| 164 | # |
| 165 | # 01 08 2013 amber.su |
| 166 | # [MOLY00008435] [SystemService][MemoryUitlity][Internal Refinement] Provide build command to use Memory Utility |
| 167 | # . |
| 168 | # |
| 169 | # 09 26 2012 amber.su |
| 170 | # [MOLY00004055] [Custom Release][Build Command] build command change for custom release flow |
| 171 | # . |
| 172 | # |
| 173 | # 09 12 2012 amber.su |
| 174 | # [MOLY00003467] [Target Build] build command change modification |
| 175 | # . |
| 176 | # |
| 177 | # 07 30 2012 jerry.chang |
| 178 | # [MOLY00001397] [MOLY] rename gsm2.mak and make2.pl |
| 179 | # . |
| 180 | # ************************************************************************* |
| 181 | |
| 182 | .PHONY: gendummylis memquery gendummysym |
| 183 | |
| 184 | ifdef NO_PCIBT |
| 185 | ifeq ($(NO_PCIBT),TRUE) |
| 186 | NO_PC_ACTION += -no_pc |
| 187 | else |
| 188 | NO_PC_ACTION = |
| 189 | endif |
| 190 | endif |
| 191 | |
| 192 | ifeq ($(strip $(NO_DSP)),TRUE) |
| 193 | NO_PC_ACTION += -no_dsp |
| 194 | endif |
| 195 | |
| 196 | # ************************************************************************* |
| 197 | # Generate dummy .lis file for memory analysis |
| 198 | # ************************************************************************* |
| 199 | gendummylis: |
| 200 | # mbis time probe |
| 201 | ifeq ($(strip $(MBIS_EN)),TRUE) |
| 202 | @$(ECHO) -n -t "T_S,$@,T," >> $(MBIS_BUILD_TIME_TMP) |
| 203 | endif |
| 204 | |
| 205 | @if exist $(SCATTERFILE) copy /y $(SCATTERFILE) $(SCATTERFILE).original > NUL |
| 206 | @tools\make.exe -f$(strip $(MAKE_COMMON))/build.mak -r -R PROJECT_NAME=$(strip $(PROJECT_NAME)) PROJECT_MAKEFILE="$(strip $(PROJECT_MAKEFILE))" FLAVOR=$(strip $(FLAVOR)) DUMMY_LIS=TRUE sys_auto_gen LINK_BIN_FILE & \ |
| 207 | (if ERRORLEVEL 1 exit 1) |
| 208 | |
| 209 | @if not exist $(strip $(TARGDIR))\$(IMG_FILE) \ |
| 210 | echo Error in gendummylis & exit 1 |
| 211 | |
| 212 | ifeq ($(strip $(VIVA_AUTO_SUPPORT)),TRUE) |
| 213 | @tools\make.exe -f$(strip $(MAKE_COMMON))/build.mak -r -R PROJECT_NAME=$(strip $(PROJECT_NAME)) PROJECT_MAKEFILE="$(strip $(PROJECT_MAKEFILE))" FLAVOR=$(strip $(FLAVOR)) FROMELF_BIN_FILE & \ |
| 214 | (if ERRORLEVEL 1 exit 1) |
| 215 | @if not exist $(strip $(TARGDIR))\VIVA_DEBUG md $(strip $(TARGDIR))\VIVA_DEBUG |
| 216 | @if exist $(strip $(TARGDIR))\$(strip $(BIN_FILE)) \ |
| 217 | md $(strip $(TARGDIR))\VIVA_DEBUG\$(strip $(BIN_FILE))_dummy & \ |
| 218 | copy /y $(strip $(TARGDIR))\$(strip $(BIN_FILE))\*.* $(strip $(TARGDIR))\VIVA_DEBUG\$(strip $(BIN_FILE))_dummy & \ |
| 219 | copy /y $(strip $(TARGDIR))\$(strip $(LIS_FILE)) $(strip $(TARGDIR))\VIVA_DEBUG\$(strip $(LIS_FILE)).dummy & \ |
| 220 | rd /S /Q $(strip $(TARGDIR))\$(strip $(BIN_FILE)) |
| 221 | endif |
| 222 | @copy /y $(SCATTERFILE) $(SCATTERFILE).dummy > NUL |
| 223 | @if exist $(SCATTERFILE).original move /y $(SCATTERFILE).original $(SCATTERFILE) > NUL |
| 224 | @if exist $(strip $(TARGDIR))\$(IMG_FILE) del /q $(strip $(TARGDIR))\$(IMG_FILE) |
| 225 | # mbis time probe |
| 226 | ifeq ($(strip $(MBIS_EN)),TRUE) |
| 227 | @$(ECHO) -n -t "T_E,$@,T," >> $(MBIS_BUILD_TIME_TMP) |
| 228 | endif |
| 229 | |
| 230 | # ************************************************************************* |
| 231 | # Generate dummy .sym file |
| 232 | # ************************************************************************* |
| 233 | gendummysym: |
| 234 | # mbis time probe |
| 235 | ifeq ($(strip $(MBIS_EN)),TRUE) |
| 236 | @$(ECHO) -n -t "T_S,$@,T," >> $(MBIS_BUILD_TIME_TMP) |
| 237 | endif |
| 238 | |
| 239 | @$(IF_EXIST) $(strip $(TMPDIR))/~libs.tmp $(THEN)\ |
| 240 | ($(ECHO) "--noinhibit-exec " >$(TMPDIR)/~dummylibs.tmp) $(WITH) \ |
| 241 | ($(CAT) $(strip $(TMPDIR))/~libs.tmp >> $(TMPDIR)/~dummylibs.tmp) \ |
| 242 | $(CMD_END) |
| 243 | |
| 244 | @$(IF_EXIST) $(strip $(COMPLOGDIR))/link_option.log $(THEN)\ |
| 245 | ($(ECHO) "--noinhibit-exec " >$(TMPDIR)/~dummylibs.tmp) $(WITH) \ |
| 246 | ($(CAT) $(strip $(COMPLOGDIR))/link_option.log >> $(TMPDIR)/~dummylibs.tmp) \ |
| 247 | $(CMD_END) |
| 248 | |
| 249 | @$(IF_NOT_EXIST) $(strip $(TMPDIR))/~dummylibs.tmp $(THEN)\ |
| 250 | (echo Error: $(strip $(TMPDIR))/~dummylibs.tmp does not existed! $(WITH) exit 1) $(CMD_END) |
| 251 | |
| 252 | @$(IF_EXIST) $(strip $(TMPDIR))/~libs.tmp $(THEN)\ |
| 253 | ($(ECHO) "--noinhibit-exec " >$(TMPDIR)/~dummylibs.tmp) $(WITH) \ |
| 254 | ($(CAT) $(strip $(TMPDIR))/~libs.tmp >> $(TMPDIR)/~dummylibs.tmp) \ |
| 255 | $(CMD_END) |
| 256 | |
| 257 | @$(strip $(LINK)) $(strip $(VIA))$(TMPDIR)/~dummylibs.tmp >$(DEV_NUL) 2>&1 |
| 258 | @$(strip $(DUMP)) -x $(strip $(TARGDIR))/$(IMG_FILE) > $(strip $(TARGDIR))/dummy_$(SYM_FILE) $(WITH) \ |
| 259 | ($(IF_ERR_TRUE) $(THEN) \ |
| 260 | ($(IF_EXIST) $(strip $(TARGDIR))/$(IMG_FILE) $(THEN) ($(DEL_FILE) $(strip $(TARGDIR))/$(IMG_FILE)) $(CMD_END)) $(WITH) \ |
| 261 | (echo Error: failed to generate .sym file $(WITH) exit 1)\ |
| 262 | $(CMD_END)) |
| 263 | |
| 264 | @$(IF_EXIST) $(strip $(TARGDIR))/$(strip $(BIN_FILE)) $(THEN) ($(DEL_DIR) $(strip $(TARGDIR))/$(strip $(BIN_FILE))) $(CMD_END) |
| 265 | @$(IF_EXIST) $(strip $(TARGDIR))/$(IMG_FILE) $(THEN) ($(DEL_FILE) $(strip $(TARGDIR))/$(IMG_FILE)) $(CMD_END) |
| 266 | @$(IF_NOT_EXIST) $(strip $(TARGDIR))/dummy_$(SYM_FILE) $(THEN) (echo Error: gendummysym failed! $(WITH) exit 1) $(CMD_END) |
| 267 | @$(IF_EXIST) $(TMPDIR)/~dummylibs.tmp $(THEN) ($(DEL_FILE) $(TMPDIR)/~dummylibs.tmp) $(CMD_END) |
| 268 | @echo Done for gendummysym |
| 269 | # mbis time probe |
| 270 | ifeq ($(strip $(MBIS_EN)),TRUE) |
| 271 | @$(ECHO) -n -t "T_E,$@,T," >> $(MBIS_BUILD_TIME_TMP) |
| 272 | endif |
| 273 | |
| 274 | # ************************************************************************* |
| 275 | # Get Memory Usage Information |
| 276 | # ************************************************************************* |
| 277 | memquery: |
| 278 | # mbis time probe |
| 279 | ifeq ($(strip $(MBIS_EN)),TRUE) |
| 280 | @$(ECHO) -n -t "T_S,$@,T," >> $(MBIS_BUILD_TIME_TMP) |
| 281 | endif |
| 282 | @$(IF_EXIST) $(FIXPATH)/tools/MemoryUtility/memquery.pl $(THEN) \ |
| 283 | perl $(FIXPATH)/tools/MemoryUtility/memquery.pl $(strip $(TMPDIR))/~memquery.tmp $(SCATTERFILE) "$(strip $(PROJECT_MAKEFILE))" $(strip $(TARGDIR))/$(MAP_FILE) $(strip $(COMPLOGDIR)) $(strip $(INFOMAKELOG)) $(strip $(TARGDIR))/$(strip $(BIN_FILE)) \ |
| 284 | $(CMD_END) |
| 285 | # mbis time probe |
| 286 | ifeq ($(strip $(MBIS_EN)),TRUE) |
| 287 | @$(ECHO) -n -t "T_E,$@,T," >> $(MBIS_BUILD_TIME_TMP) |
| 288 | endif |