【Makefile】實現多個bin檔案格式化拼接成一個檔案
阿新 • • 發佈:2018-12-19
FILE_GRP = a1.bin a2.bin b.bin ccc.bin
FILE_BAS = a_bas.bin
FILE_GET_LEN = 256
FILE_ALL_TARGET = a_all.bin
輸出:
======= (0)
a_all.bin (first 256 remain)
=======(256)
a1.bin (olny 前256位元組)
=======(512)
a2.bin (olny 前256位元組)
=======(768)
.... 後續依次
#cat FILE_GRP to FILE_BAS,each file get it's first FILE_GET_LEN FILE_GRP = a1.bin a2.bin b.bin ccc.bin FILE_BAS = a_bas.bin FILE_GET_LEN = 256 FILE_ALL_TARGET = a_all.bin all: cp $(FILE_BAS) $(FILE_ALL_TARGET) for tmp_file in $(FILE_GRP);do \ dd if=$$tmp_file of=$$tmp_file.bin.tmp bs=$(FILE_GET_LEN) count=1 1>/dev/null;\ cat $$tmp_file.bin.tmp>>file_all.bin.tmp;\ done #only replace cat of FILE_GRP total size dd if=file_all.bin.tmp of=$(FILE_ALL_TARGET) bs=$(FILE_GET_LEN) count=$(words $(FILE_GRP)) seek=1 conv=notrunc rm *.bin.tmp