📄 makefile.bak
字号:
# Makefile to build Dilbert 2 for both GCC and IAR
#
# Larry Barello May, 2001
#
# Uses GCC tools (make, rm)
#
# Generic stuff.
#
PROG =
RM = rm -fr
# GCCMCU = atmega163
# AVRXMCU = __AT90Mega163__
# GCCMCU = at90s8535
# AVRXMCU = __AT90S8535__
GCCMCU = atmega32
AVRXMCU = __ATmega32__
#GCC Equates
FORMAT = ihex
GCCLIB = $(AVRX)/avrx/avrx.a
GCCINC = -I. -I$(AVRX)/avrx -I$(AVR)/avr/inc
LDFLAGS = -Wl,-lm,-Map=$(<:.o=.gcc),--cref,-v -mmcu=$(GCCMCU)
AFLAGS = -c -mmcu=$(GCCMCU) -Wa,-gstabs -mmcu=$(GCCMCU) -I$(GCCINC)
CFLAGS = -O3 -Wall -g -mmcu=$(GCCMCU) $(TARGET)
BIN = avr-objcopy
CC = avr-gcc
AS = avr-gcc -x assembler-with-cpp
#specific stuff to my build
# TARGET = -DODOMETRY
# TARGET = -D_MONITOR_
# TARGET = -D_MONITOR_ -DODOMETRY
SRC = GyroBot.c MotorTask.c LcdTask.c SensorTask.c Gyro_eeprom.c
# SRC = GyroBot.c MotorTask.c Gyro_eeprom.c
ASRC = lcdio.s lcd.s Encoder.s adc_driver.s
GCCOBJ = $(SRC:.c=.o) $(ASRC:.s=.o)
# GCC Rules
%o: %c
$(CC) -c $< $(GCCINC) $(CFLAGS) -o $@
%s: %c
$(CC) -S $< $(GCCINC) $(CFLAGS) -o $@
%o: %s
$(AS) $(AFLAGS) $< -o $@
%elf: %o
$(CC) $< $(GCCLIB) $(LDFLAGS) -o $@
%obj: %elf
$(BIN) -O avrobj -R .eeprom $< $@
%hex: %elf
$(BIN) -O $(FORMAT) $< $@
%eep: %elf
$(BIN) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O $(FORMAT) $< $@
cp GyroBot.eep GyroBot.eep.hex
# Rules specific to my project (default to GCC)
gcc: GyroBot.o GyroBot.eep GyroBot.hex
clean:
$(RM) *.o *.lst *.map *.rom *.eep *.hex *.obj *.?_sym
$(RM) $(SRC:.c=.s)
#
# Command line STK500 programmer
burn.eep: GyroBot.eep
$(PROG) -d$(GCCMCU) -ieGyroBot.eep -ve -pe -z
burn.hex: GyroBot.hex
$(PROG) -d$(GCCMCU) -ifGyroBot.hex -vf -pf -e -z
burn: burn.hex burn.eep
GyroBot.elf: $(GCCOBJ) $(GCCLIB)
$(CC) $(GCCOBJ) $(GCCLIB) $(LDFLAGS) -mmcu=$(GCCMCU) -o $@
assembly: $(SRC:.c=.s)
GyroBot.o: makefile hardware.h Gyro_eeprom.h gyroBot.c
MotorTask.o: makefile hardware.h Gyro_eeprom.h MotorTask.c SensorTask.h
LcdTask.o: makefile hardware.h Gyro_eeprom.h LcdTask.c lcdio.h lcdtask.h
SensorTask.o: makefile hardware.h Gyro_eeprom.h SensorTask.c SensorTask.h adc_driver.h
#Gyro_eeprom.o: makefile Gyro_eeprom.c MotorTask.h BehaviorTask.h SensorTask.h
Gyro_eeprom.o: makefile Gyro_eeprom.c MotorTask.h SensorTask.h
adc_driver.o: makefile adc_driver.s
lcdio.o: makefile lcd.inc
lcd.o: makefile lcd.inc
# Old stuff
monitor.o: makefile monitor.c serialio.h adc_driver.h
serialio.o: makefile serialio.c serialio.h
#Behavior.o: makefile BehaviorTask.c BehaviorTask.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -