⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 fat文件系统的源码 老外写的FAT32文件系统 还是有用的
💻
字号:
#
# 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 + -