www.pudn.com > ucosins3c2410.zip > makefile


#************************************************************************** 
#                                                                         * 
#   PROJECT     : ARM port for UCOS-II                                    * 
#                                                                         * 
#   MODULE      : MAKEFILE                                                * 
#                                                                         * 
#   AUTHOR      : Michael Anburaj                                         * 
#                 URL  : http://geocities.com/michaelanburaj/             * 
#                 EMAIL: michaelanburaj@hotmail.com                       * 
#                                                                         * 
#   PROCESSOR   : S3c2410x (32 bit ARM920T RISC core from Samsung)        * 
#                                                                         * 
#   IDE         : SDT 2.51 Or ADS 1.2                                     * 
#                                                                         * 
#   DESCRIPTION :                                                         * 
#   Make file for Ex1 ARM_UCOS builds. Use Microsoft's nmake utility to   * 
#   build using this file.                                                * 
#                                                                         * 
#*************************************************************************/ 
 
 
#************************************************************************** 
#* Build Configuration 
#************************************************************************** 
 
#### Project name #### 
PRJ = Ex1 
 
#### Endian #### 
# possible values: 0 (for Little), 1 (for Big) 
ENDIAN = 0 
 
#### Debug #### 
# possible values: 0, 1 
DEBUG = 0 
 
#### Target Mode #### 
# Possible values: 0 (for arm), 1 (for armthumb) 
TARGET = 1 
 
#### Tools #### 
# possible values: 0 (for ADS), 1 (for SDT) 
TOOLS = 0 
 
#### ARM tools path #### 
!if $(TOOLS)==0 
TPATH = C:\Progra~1\ARM\ADSv1_2 
!else 
TPATH = C:\ARM251 
!endif 
 
#### ARM tool Definition #### 
ARMLINK= armlink 
ARMASM = armasm 
ARMCC  = armcc 
TCC    = tcc 
 
#### Destination path Definition #### 
OBJ=. 
ERR=. 
 
 
#************************************************************************** 
#* Build settings (Compiler, Assembler & Linker flags) 
#* Note: Do not modify below this line 
#************************************************************************** 
 
!if $(DEBUG)==1 
DBFLAG = -g 
!endif 
 
!if $(ENDIAN)==1 
ENDIAN_FLAG = -bi 
E_FLAG_C = -D __BIG_ENDIAN 
E_FLAG_A = -pd "__BIG_ENDIAN SETL {TRUE}" 
EC_FLAG_ROM_A = -pd "ENDIAN_CHANGE SETL {TRUE}" 
EC_FLAG_RAM_A = -pd "ENDIAN_CHANGE SETL {FALSE}" 
!else 
ENDIAN_FLAG = -li 
E_FLAG_C =  
E_FLAG_A = -pd "__BIG_ENDIAN SETL {FALSE}" 
EC_FLAG_ROM_A = -pd "ENDIAN_CHANGE SETL {FALSE}" 
EC_FLAG_RAM_A = -pd "ENDIAN_CHANGE SETL {FALSE}" 
!endif 
 
!if $(TARGET)==0 
DCC = $(ARMCC) 
AC_FLAGS = 
AA_FLAGS = 
AL_FLAGS = 
!else 
DCC = $(TCC) 
AC_FLAGS = -apcs /noswst/interwork -D__APCS_INTERWORK 
AA_FLAGS = 
AL_FLAGS = 
!endif 
 
!if $(TOOLS)==1 
T_FLAG_C = -DSDT 
T_FLAG_A = -pd "ADS SETL {FALSE}" 
T_FLAG_L = -libpath $(TPATH)\Lib\embedded 
T_CMD_ROM_F = -nozeropad $(PRJ_ROM).axf -bin $(PRJ_ROM).bin 
T_CMD_RAM_F = -nozeropad $(PRJ_RAM).axf -bin $(PRJ_RAM).bin 
!else 
T_FLAG_C = -DADS 
T_FLAG_A = -pd "ADS SETL {TRUE}" 
T_FLAG_L = 
T_CMD_ROM_F = -nodebug -bin -output $(PRJ_ROM).bin $(PRJ_ROM).axf 
T_CMD_RAM_F = -nodebug -bin -output $(PRJ_RAM).bin $(PRJ_RAM).axf 
!endif 
 
#### Output file names #### 
PRJ_ROM=$(PRJ)_rom 
PRJ_RAM=$(PRJ)_ram 
 
#### RO & RW base #### 
RO_BADR_RAM=0x30004000 
RW_BADR_RAM=0x30100000 
 
RO_BADR_ROM=0x00000000 
RW_BADR_ROM=0x30100000 
 
#### Paths #### 
UPORT_COMN = ..\..\arm_ucos\common 
UPORT_2410 = ..\..\arm_ucos\S3c2410x 
 
#### Include file path #### 
INC=-I..\inc -I..\..\source -I$(UPORT_COMN)\inc -I$(UPORT_2410)\inc 
 
#### Build Flags #### 
AFLAGS = $(ENDIAN_FLAG) -apcs /noswst $(T_FLAG_A) $(E_FLAG_A) $(AA_FLAGS) $(INC) -cpu ARM920T 
CFLAGS = -c -O2 $(DBFLAG) $(ENDIAN_FLAG) -apcs /noswst $(T_FLAG_C) $(E_FLAG_C) $(AC_FLAGS) $(INC) -cpu ARM920T 
LFLAGS_ROM = -elf -map -xref -list list.txt -first init.eco(Init) $(AL_FLAGS) $(T_FLAG_L) 
LFLAGS_RAM = -elf -map -xref -list list.txt -first init.o(Init) $(AL_FLAGS) $(T_FLAG_L) 
 
#### Object combine Definition #### 
OBJS_ROM = $(OBJ)\init.eco $(OBJ)\mmu.o $(OBJ)\mmulib.o $(OBJ)\os_cpu_a.o $(OBJ)\consol.o \ 
	$(OBJ)\frmwrk.o  $(OBJ)\os_cpu_c.o  $(OBJ)\ucos_ii.o $(OBJ)\ex1.o 
 
OBJS_RAM = $(OBJ)\init.o $(OBJ)\mmu.o $(OBJ)\mmulib.o $(OBJ)\os_cpu_a.o $(OBJ)\consol.o \ 
	$(OBJ)\frmwrk.o  $(OBJ)\os_cpu_c.o  $(OBJ)\ucos_ii.o $(OBJ)\ex1.o 
 
 
all: $(PRJ_ROM).axf $(PRJ_RAM).axf 
 
clean: 
	del $(OBJ)\*.o 
	del $(OBJ)\*.eco 
	del $(ERR)\*.err 
	del $(PRJ_ROM).axf 
	del $(PRJ_ROM).bin 
	del $(PRJ_RAM).axf 
	del $(PRJ_RAM).bin 
 
 
#************************************************************************** 
#* Link 
#************************************************************************** 
 
$(PRJ_ROM).axf: $(OBJS_ROM) 
	$(ARMLINK) -ro-base $(RO_BADR_ROM) -rw-base $(RW_BADR_ROM) $(LFLAGS_ROM) -o $(PRJ_ROM).axf $(OBJS_ROM) 
	fromelf $(T_CMD_ROM_F) 
 
$(PRJ_RAM).axf: $(OBJS_RAM) 
	$(ARMLINK) -ro-base $(RO_BADR_RAM) -rw-base $(RW_BADR_RAM) $(LFLAGS_RAM) -o $(PRJ_RAM).axf $(OBJS_RAM) 
	fromelf $(T_CMD_RAM_F) 
 
 
#************************************************************************** 
#* Compile/Assemble 
#************************************************************************** 
 
$(OBJ)\init.o: $(UPORT_2410)\src\init.s 
	$(ARMASM) $(EC_FLAG_RAM_A) $(AFLAGS) $(UPORT_2410)\src\init.s -o $(OBJ)\init.o -Errors $(ERR)\init.err 
 
$(OBJ)\init.eco: $(UPORT_2410)\src\init.s 
	$(ARMASM) $(EC_FLAG_ROM_A) $(AFLAGS) $(UPORT_2410)\src\init.s -o $(OBJ)\init.eco -Errors $(ERR)\init.err 
 
$(OBJ)\mmulib.o: $(UPORT_2410)\src\mmulib.s 
	$(ARMASM) $(AFLAGS) $(UPORT_2410)\src\mmulib.s -o $(OBJ)\mmulib.o -Errors $(ERR)\mmulib.err 
 
$(OBJ)\mmu.o: $(UPORT_2410)\src\mmu.c 
	$(ARMCC) $(CFLAGS) $(UPORT_2410)\src\mmu.c -o $(OBJ)\mmu.o -Errors $(ERR)\mmu.err 
 
$(OBJ)\os_cpu_a.o: $(UPORT_COMN)\src\os_cpu_a.s 
	$(ARMASM) $(AFLAGS) $(UPORT_COMN)\src\os_cpu_a.s -o $(OBJ)\os_cpu_a.o -Errors $(ERR)\os_cpu_a.err 
 
$(OBJ)\consol.o: $(UPORT_2410)\src\consol.c $(UPORT_2410)\inc\S3c2410x.h $(UPORT_2410)\inc\frmwrk.h 
	$(DCC) $(CFLAGS) $(UPORT_2410)\src\consol.c -o $(OBJ)\consol.o -Errors $(ERR)\consol.err 
 
$(OBJ)\frmwrk.o: $(UPORT_2410)\src\frmwrk.c $(UPORT_2410)\inc\S3c2410x.h $(UPORT_2410)\inc\frmwrk.h 
	$(ARMCC) $(CFLAGS) $(UPORT_2410)\src\frmwrk.c -o $(OBJ)\frmwrk.o -Errors $(ERR)\frmwrk.err 
 
$(OBJ)\os_cpu_c.o: $(UPORT_COMN)\src\os_cpu_c.c 
	$(ARMCC) $(CFLAGS) $(UPORT_COMN)\src\os_cpu_c.c -o $(OBJ)\os_cpu_c.o -Errors $(ERR)\os_cpu_c.err 
 
$(OBJ)\ucos_ii.o: ..\..\source\ucos_ii.c 
	$(ARMCC) $(CFLAGS) ..\..\source\ucos_ii.c -o $(OBJ)\ucos_ii.o -Errors $(ERR)\ucos_ii.err 
 
$(OBJ)\ex1.o: ..\src\ex1.c $(UPORT_2410)\inc\S3c2410x.h $(UPORT_2410)\inc\frmwrk.h 
	$(ARMCC) $(CFLAGS) ..\src\ex1.c -o $(OBJ)\ex1.o -Errors $(ERR)\ex1.err 
 
 
#************************************************************************** 
#* End 
#**************************************************************************