130 lines
5.1 KiB
Python
130 lines
5.1 KiB
Python
|
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()
|
||
|
|
||
|
|