在Linux下用makefile自动编译所需要的HEX文件。(这个方法只适合编译一个代码。)
方法一:
#进入工作目录
work_path = ${wildcard *.c}
#获取文件名称
file_name = $(basename $(work_path))
#执行以下代码可以获取HEX文件
$(file_name).hex : $(file_name).c
sdcc $(file_name).c
packihx $(file_name).ihx > $(file_name).hex
rm -rf *.asm *.lst *.sym *.map *.mem *.ihx *.rel *.lk *.rst
方法二:(适合多个,不会造成依赖关系。)
#进入工作目录
work_path = ${wildcard *.c}
#获取文件名称
file_name = $(basename $(work_path))
#执行以下代码可以获取HEX文件
job:
@for name in $(file_name);
do
sdcc $$name.c;
packihx $$name.ihx > $$name.hex;
rm -rf *.asm *.lst *.sym *.map *.mem *.ihx *.rel *.lk *.rst;
done
把以上获取的*.HEX文件下载到单片机即可。