如何使用make编译AVR C和C ++源代码

时间:2018-09-24 18:34:18

标签: makefile avr include-path

我试图为atmega32u4编译一些用c和c ++编写的代码。 我从互联网收集的信息中编写了一个makefile,但是由于某种原因它失败了。 如果我从命令行单独运行命令,则它们都可以工作。但是,运行make命令会产生以下错误:

main.cpp:3:10: fatal error: avr/io.h: No such file or directory

main.cpp文件的内容实际上并不相关,只是一个闪烁代码。 生成文件如下所示:

all: init clean $(patsubst %.cpp, %.hex, $(wildcard *.cpp))
  avr-size -A $(BUILDPATH)/*.elf

%.c.o: %.c
  @mkdir -p $(BUILDPATH)
  avr-gcc -c -g -Os -w -mmcu=$(CHIP) $^ -o $(BUILDPATH)/$@

%.cpp.o: %.cpp
  @mkdir -p $(BUILDPATH)
  avr-g++ -c -g -Os -w -mmcu=$(CHIP) $^ -o $(BUILDPATH)/$@

%.elf: %.o
  avr-gcc -g -Os -w -mmcu=$(CHIP) $(BUILDPATH)/$^ -o $(BUILDPATH)/$@

%.hex: %.elf
  avr-objcopy -R .eeprom --change-section-lma .eeprom=0 -O ihex $(BUILDPATH)/$^ $(BUILDPATH)/$@

那我做错了什么?我必须设置一些环境变量还是makefile的结构不正确?

0 个答案:

没有答案