📄 makefile
字号:
# makefile DEMO_FS_MS
# example command line : nmake TARGET=AT91SAM7S256 all
# TARGET = AT91SAM7S64 AT91SAM7S128 AT91SAM7S256 AT91SAM7A3
# USE_LED=1 if present, USE_LED=0 else
# PULL_UP_USB=1 if present, PULL_UP_USB=0 else
# NO_TRACE=1 if no trace, NO_TRACE=0 else
# COMPIL=IAR430A for compile with IAR version 4.30A
# COMPIL=IAR420A for compile with IAR version 4.20A
!IF "$(COMPIL)" != "IAR420A" && "$(COMPIL)" != "IAR430A"
!MESSAGE Invalid configuration "$(COMPIL)" specified.
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(COMPIL)" == "IAR420A"
COMPILER=C:\Progra~1\IARSYS~1\EMBEDD~1.0KI
VER_IAR=IAR420A
!ENDIF
!IF "$(COMPIL)" == "IAR430A"
COMPILER=C:\Progra~1\IARSYS~1\EMBEDD~1.30K
VER_IAR=IAR430A
!IF "$(TARGET)" == "AT91SAM7A3"
VER_IAR=7SA3_IAR430A
!ENDIF
!ENDIF
# IAR Universal Library Builder V1.03K
# IAR Universal Library Builder V1.03L
LD=$(COMPILER)\common\bin\xar.exe
# IAR Universal Linker V4.59J/386
# IAR Universal Linker V4.59N/386
LINK=$(COMPILER)\common\bin\xlink.exe
# IAR ARM ANSI C/C++ Compiler V4.20A/W32 KICKSTART
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART
THUMB_CC=$(COMPILER)\arm\bin\iccarm.exe
ARM_CC=$(COMPILER)\arm\bin\iccarm.exe
# IAR ARM Assembler V4.20A/W32
# IAR ARM Assembler V4.30A/W32
ASS=$(COMPILER)\arm\bin\aarm.exe
# dir /X
INCL1 = -I$(COMPILER)\arm\INC
INCLIB= $(COMPILER)\arm\LIB
INCL2 = -I..\$(TARGET)
INCL3 = -Iinc -I ..\COMMON_FS_MS
OBJ = tempo\$(TARGET)
CC=$(THUMB_CC)
# CPU and compile option
!IF $(NO_TRACE)
# ************************
!IF $(USE_LED)
CCFLAGCPU = --cpu_mode thumb -DUSE_LED -DPO_TRACE_LEVEL=0
!IF $(PULL_UP_USB)
CCFLAGCPU = --cpu_mode thumb -DUSE_LED -DPULL_UP_USB -DPO_TRACE_LEVEL=0
!ENDIF
!ELSE
CCFLAGCPU = --cpu_mode thumb -DPO_TRACE_LEVEL=0
!IF $(PULL_UP_USB)
CCFLAGCPU = --cpu_mode thumb -DPULL_UP_USB -DPO_TRACE_LEVEL=0
!ENDIF
!ENDIF
# ************************
!ELSE
# We use the LEVEL of TRACE define in the file po_trace.h
!IF $(USE_LED)
CCFLAGCPU = --cpu_mode thumb -DUSE_LED
!IF $(PULL_UP_USB)
CCFLAGCPU = --cpu_mode thumb -DUSE_LED -DPULL_UP_USB
!ENDIF
!ELSE
CCFLAGCPU = --cpu_mode thumb
!IF $(PULL_UP_USB)
CCFLAGCPU = --cpu_mode thumb -DPULL_UP_USB
!ENDIF
!ENDIF
# ************************
!ENDIF
#CCFLAGCPU = --cpu_mode arm
CCFLAGS2 = --remarks -z9 --endian little --cpu ARM7TDMI --stack_align 4 --interwork -e --fpu None --library_module
#CCFLAGS3 = --dlib_config \arm\LIB\dl4tptinl8f.h
CCFLAGS3 = --dlib_config $(COMPILER)\arm\LIB\dl4tptinl8f.h
# ************************
# ************************
L_INC1=..\COMMON_FS_MS\$(OBJ)\$(TARGET)_lib_common_fs_ms.r79 $(OBJ)\Cstartup.r79 $(OBJ)\Cstartup_SAM7.r79
L_INC2=$(OBJ)\main.r79 ..\FILESYSTEM\$(OBJ)\$(TARGET)_lib_filesystem.r79 ..\MASSSTORAGE\$(OBJ)\$(TARGET)_lib_mass.r79
!IF "$(TARGET)" == "AT91SAM7X128" || "$(TARGET)" == "AT91SAM7X256"
RESSOURCE=7X_IAR430A\resource\$(TARGET)_NoRemap.xcl
!ELSE
!IF "$(TARGET)" == "AT91SAM7A3"
RESSOURCE=7SA3_IAR430A\resource\$(TARGET)_NoRemap.xcl
!ELSE
RESSOURCE=$(COMPIL)\resource\$(TARGET)_NoRemap.xcl
!ENDIF
!ENDIF
all: $(TARGET)demo_fs_ms
@if exist *.axf echo Build completed
rebuild: clean all
clean:
if exist *.r79 del *.r79
$(TARGET)demo_fs_ms: Cstartup
$(LINK) $(L_INC1) $(L_INC2) -o $(OBJ)\demo_fs_ms.d79 -l $(OBJ)\demo_fs_ms.map -xmsn -I$(INCLIB) -f $(RESSOURCE) -e_PrintfTiny=_Printf -e_ScanfSmall=_Scanf -rt $(INCLIB)\dl4tptinl8f.r79 -Ompds-code=$(OBJ)\$(TARGET)demo_fs_ms.bin
!IF "$(TARGET)" == "AT91SAM7X128" || "$(TARGET)" == "AT91SAM7X256"
Cstartup: 7X_IAR430A\Cstartup.s79 Cstartup_SAM7 main
$(ASS) -s+ -w+ -D$(TARGET) $(INCL2) --cpu ARM7TDMI --fpu None 7X_IAR430A\Cstartup.s79 -o $(OBJ)\Cstartup.r79
#-M<> #PROBLEME !!!
!ELSE
Cstartup: $(VER_IAR)\Cstartup.s79 Cstartup_SAM7 main
$(ASS) -s+ -w+ -D$(TARGET) $(INCL2) --cpu ARM7TDMI --fpu None $(VER_IAR)\Cstartup.s79 -o $(OBJ)\Cstartup.r79
#-M<> #PROBLEME !!!
!ENDIF
Cstartup_SAM7: Cstartup_SAM7.c
$(CC) $(INCL1) $(INCL2) $(INCL3) -D$(TARGET) $(CCFLAGCPU) $(CCFLAGS2) $(CCFLAGS3) -o $(OBJ) Cstartup_SAM7.c
main: main.c
$(CC) $(INCL1) $(INCL2) $(INCL3) -D$(TARGET) $(CCFLAGCPU) $(CCFLAGS2) $(CCFLAGS3) -o $(OBJ) main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -