Files
phs_v1.0.1.0/creat_mm.py

130 lines
5.1 KiB
Python
Raw Permalink Normal View History

import os
import sys
# 这个文件放在out文件夹中运行
_file_list='''
device/soc/wtz/wtz31x/source/Mainline/ap/src/dprintf.c
device/soc/wtz/wtz31x/source/Mainline/ap/src/main.c
device/soc/wtz/wtz31x/source/Mainline/ap/src/read_flash.c
device/soc/wtz/wtz31x/source/Mainline/common/dbglog/iot_dbglog.c
device/soc/wtz/wtz31x/source/Mainline/common/io_lib/src/iot_mem.c
device/soc/wtz/wtz31x/source/Mainline/common/io_lib/src/iot_printf.c
device/soc/wtz/wtz31x/source/Mainline/common/io_lib/src/iot_snprintf.c
device/soc/wtz/wtz31x/source/Mainline/common/io_lib/src/iot_sprintf.c
device/soc/wtz/wtz31x/source/Mainline/common/io_lib/src/iot_strformat.c
device/soc/wtz/wtz31x/source/Mainline/common/io_lib/src/iot_string.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_event.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_lock.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_malloc.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_mem.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_task.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_timer.c
device/soc/wtz/wtz31x/source/Mainline/common/os_shim/liteos/src/os_utils.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/board_info.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/clock.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/debug_uart.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/flash.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/iot_gp_timer.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/iot_gpio.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/iot_spinlock.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/iot_uart_h.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/irq.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/led.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/mtd.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hal/vfs_uart.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/ahb.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/ana.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/apb.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/board_info_hw.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/clk.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/cpu.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/dev_spinlock.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/gp_timer.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/gpio_hw.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/gpio_mtx.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/intc.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/pll_cal.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/sfc.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/smc.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/system_hw.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/uart_e.c
device/soc/wtz/wtz31x/source/Mainline/driver/src/hw3/wdg.c
device/soc/wtz/wtz31x/source/Mainline/hals/update/hal_hota_board.c
device/soc/wtz/wtz31x/source/Mainline/hals/utils/file/src/hal_file.c
device/soc/wtz/wtz31x/source/Mainline/os/liteos/src/version.c
device/soc/wtz/wtz31x/source/Mainline/startup/riscv3/src/entry_def.S
device/soc/wtz/wtz31x/source/Mainline/startup/riscv3/src/exception.c
device/soc/wtz/wtz31x/source/Mainline/startup/riscv3/src/platform.c
device/soc/wtz/wtz31x/source/Mainline/startup/riscv3/src/start.S
device/soc/wtz/wtz31x/source/Mainline/startup/riscv3/src/startup_init.c
'''.split()
# 生成依赖文件
def creat_mm():
_tmp_file="../../../ninja_commands.txt"
c_file_list=[]
with open(_tmp_file) as f:
for item in f.readlines():
item_sp=item.split()
for item_x in item_sp:
item_x_fix=item_x.split('.')[-1]
if(item_x_fix in ['c','cpp','C','CPP','S','s']):
f_path=item_x[9:]
if f_path not in c_file_list:
c_file_list.append(f_path)
if(f_path in _file_list):
# 在文件列表之中的文件,需要生成依赖关系
out_file_name=f'out/{os.path.split(f_path)[-1]}.d'
cmd_str_list=[item_sp[1],'-MM']+item_sp[2:-1]+[out_file_name]
cmd_str=' '.join(cmd_str_list)
# print(cmd_str)
if(os.path.exists(out_file_name)):
print(f"文件 {out_file_name} 已经存在")
os.system(cmd_str)
# os.remove(_tmp_file)
c_file_list.sort()
# 列出依赖的文件
def list_depend_files():
dir='out'
# save_file=open(dir+'/depend_list.txt',mode='w+')
depend_list=[]
file_list=os.listdir(dir)
for item in file_list:
ps=os.path.join(dir,item)
with open(ps) as f:
lines=f.readlines()
for line in lines:
line=line.replace('\\','').strip()
if(line[-1]!=':'):
path=os.path.abspath(line)
if(path not in depend_list):
print(path)
depend_list.append(path)
depend_list.sort()
with open(dir+'/depend_list.txt',mode='w+') as f:
for item in depend_list:
f.write(item+'\n')
if __name__ == "__main__":
# main()
# creat_mm()
list_depend_files()