ATmega128a AVR开发工具:atmel studio 6.0下Makefile编写

这个工具里没有avrdude,我用下面的makefile,产生不了总的hex文件,单独文件都能编译通过,谁做过的知道要怎么改?

CC=avr-gcc
CFLAGS=-Wall -Wextra -mmcu=atmega128a -O1 -save-temps -g
AVRDUDE=avrdude -p atmega128a -c usbasp -e -U flash:w:
OBJCOPY=avr-objcopy -j .text -j .data -O ihex
foo:
.PHONY:all
all:DataLineSwitch.hex
# $(AVRDUDE)DataLineSwitch.hex
DataLineSwitch.hex:DataLineSwitch.out
 $(OBJCOPY) DataLineSwitch.out DataLineSwitch.hex
DataLineSwitch.out:DataLineSwitch.c adc.o 24c512.o config.h clib.o glob.o glob.h 74hc595d.o  i2c.o i2c.h  timer.o uart.o uart.h ch375hft.o CH375HFD.h e2prom.o
 $(CC) $(CFLAGS) -o DataLineSwitch.out -c DataLineSwitch.c adc.o 24c512.o clib.o glob.o 74hc595d.o  i2c.o timer.o uart.o ch375hft.o e2prom.o -lCH375HFD
 
adc.o:adc.c adc.h
 $(CC) $(CFLAGS) -c adc.c -o adc.o

24c512.o:24c512.c
 $(CC) $(CFLAGS) -c 24c512.c -o 24c512.o
clib.o:clib.c
 $(CC) $(CFLAGS) -c clib.c -o clib.o
glob.o:glob.c
 $(CC) $(CFLAGS) -c glob.c -o glob.o
i2c.o:i2c.c
 $(CC) $(CFLAGS) -c i2c.c -o i2c.o
timer.o:timer.c
 $(CC) $(CFLAGS) -c timer.c -o timer.o
 
74hc595d.o:74hc595d.c
 $(CC) $(CFLAGS) -c 74hc595d.c -o 74hc595d.o

uart.o:uart.c uart.h
 $(CC) $(CFLAGS) -c uart.c -o uart.o

ch375hft.o:ch375hft.c CH375HFD.h
 $(CC) $(CFLAGS) -c ch375hft.c -o ch375hft.o   -lCH375HFD
 
e2prom.o:e2prom.c
 $(CC) $(CFLAGS) -c e2prom.c -o e2prom.o
 
.PHONY:clean
clean:
 rm -fv *.out *.hex *.o

 

你可能感兴趣的:(单片机)