📄 makefile
字号:
#
# Makefile for yampp-3
#
# Jesper Hansen 2001-05-22
#
# Nikolai Vorontsov 2001-11-01
#
# Tools and directories
CC = avr-gcc
AS = avr-gcc -x assembler-with-cpp
RM = rm -f
RN = mv
BIN = avr-objcopy
INCDIR = .
LIBDIR = $(AVR)\avr\lib
SHELL = $(AVR)\bin\sh.exe
FORMAT = srec
############################################################################################
############################################################################################
# CPU type
MCU = at90s8515
#MCU = atmega161
# Target
TRG = yampp3
# C-source files
SRC = remote.c lcd.c fat.c ata_if.c delay.c uart.c $(TRG).c
# Assembler source files
ASRC = vs1001.s
# Libraries
#LIB = $(LIBDIR)\libc.a
LIB =
# Compiler flags
#CPFLAGS = -g -Os -fregmove -fforce-addr -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst) -mcall-prologues
CPFLAGS = -g -Os -fregmove -fforce-addr -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)
# Assembler flags
ASFLAGS = -Wa,-gstabs
# Linker flags
LDFLAGS = -Wl,--defsym,__init_wdtcr__=0x07,--defsym,__init_mcucr__=0x80,-Map=$(TRG).map,--cref
############################################################################################
############################################################################################
#define all project specific object files
OBJ = $(ASRC:.s=.o) $(SRC:.c=.o)
CPFLAGS += -mmcu=$(MCU)
ASFLAGS += -mmcu=$(MCU)
LDFLAGS += -mmcu=$(MCU)
#this defines the aims of the make process
all: $(TRG).obj $(TRG).elf $(TRG).hex $(TRG).bin
#compile: instructions to create assembler and/or object files from C source
%o : %c
$(CC) -c $(CPFLAGS) -I$(INCDIR) $< -o $@
%s : %c
$(CC) -S $(CPFLAGS) -I$(INCDIR) $< -o $@
#assemble: instructions to create object file from assembler files
%o : %s
$(AS) -c $(ASFLAGS) -I$(INCDIR) $< -o $@
#link: instructions to create elf output file from object files
%elf: $(OBJ)
$(CC) $(OBJ) $(LIB) $(LDFLAGS) -o $@
#create avrobj file from elf output file
%obj: %elf
$(BIN) -O avrobj $< $@
#create bin (ihex, srec) file from elf output file
%hex: %elf
$(BIN) -O ihex $< $@
%bin: %elf
$(BIN) -O binary $< $@
avr-size $(TRG).elf
#make instruction to delete created files
clean:
$(RM) $(OBJ)
$(RM) $(TRG).map
$(RM) $(TRG).elf
$(RM) $(TRG).obj
$(RM) $(TRG).eep
$(RM) $(TRG).hex
$(RM) $(TRG).bin
$(RM) *.bak
$(RM) *.lst
$(RM) *.?_sym
############################################################################################
############################################################################################
###### dependecies, add any dependencies you need here ###################
vs1001.o : vs1001.s vs1001.h
remote.o : remote.c types.h Constants.h delay.h uart.h remote.h
lcd.o : lcd.c types.h Constants.h delay.h mem.h uart.h lcd.h
ata_if.o : ata_if.c types.h Constants.h delay.h mem.h uart.h ata_if.h
fat.o : fat.c types.h Constants.h delay.h mem.h uart.h ata_if.h fat.h
uart.o : uart.c types.h Constants.h uart.h
delay.o : delay.c types.h Constants.h delay.h
$(TRG).o : $(TRG).c types.h Constants.h delay.h mem.h uart.h ata_if.h fat.h remote.h vs1001.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -