我的Makefile包含一个干净的规则,但是由于某种原因它总是失败,即使单独运行命令总是成功的。可能是什么原因造成的?
make clean
del /f *.o *.hex *.elf *.map
make: *** [clean] Error 1
编辑:这是整个文件:
MCU = atmega324p
AVRDUDE_DEVICE = m324p -F
PORT = \\\\.\USBSER000
CFLAGS=-g -Wall -mcall-prologues -mmcu=$(MCU) -Os
CC=avr-gcc
OBJCOPY=avr-objcopy
OBJDUMP=avr-objdump
LDFLAGS=
TARGET=led_strip
all: $(TARGET).hex
%.hex: %.elf
$(OBJCOPY) -R .eeprom -O ihex $< $@
%.elf: %.o
$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $@
program: $(TARGET).hex
bootloadHID.exe -r $<
clean:
del /f *.o *.hex *.elf *.map
同时,我意识到WinAVR在安装它时非常粗暴地覆盖了我的PATH变量。我去了并将MinGW添加回我的PATH,并删除了包含诸如sh.exe之类命令的WinAVR utils /文件夹,这似乎已经解决了该问题。我仍然想了解到底是什么引起了问题。