3 HOST := $(shell uname)
\r
6 # If we are using codesourcery and cygwin..
\r
7 ifneq ($(findstring CYGWIN,$(UNAME)),)
\r
8 cygpath:= $(shell cygpath -m $(shell which cygpath))
\r
9 export CYGPATH=$(cygpath)
\r
13 # Bin: PowerPC_EABI_Tools/Command_Line_Tools/mwXXXXXX
\r
14 # libs: PowerPC_EABI_Support/Runtime/Lib/Runtime.XXXX
\r
15 # PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Lib
\r
17 #CW_COMPILE=/c/devtools/cw_55xx
\r
18 CW_BIN = $(CW_COMPILE)/PowerPC_EABI_Tools/Command_Line_Tools
\r
19 CW_LIB = $(CW_COMPILE)/PowerPC_EABI_Support/Runtime/Lib
\r
22 # ---------------------------------------------------------------------------
\r
24 # CCFLAGS - compile flags
\r
26 CC = $(CW_BIN)/mwcceppc.exe
\r
27 #cflags-$(CFG_OPT_RELEASE) += -O3
\r
28 #cflags-$(CFG_OPT_DEBUG) += make -O0
\r
31 cflags-y += -dialect=c99
\r
32 cflags-y += -gccext=on
\r
33 cflags-y += -gdwarf-2
\r
35 cflags-y += -cwd explicit
\r
37 # Generate dependencies
\r
38 cflags-y += -gccdepends -MMD
\r
44 cflags-y += -abi=eabi
\r
45 cflags-$(CFG_VLE) += -ppc_asm_to_vle # Convert ppc to vle ppc
\r
46 cflags-$(CFG_VLE) += -vle # Convert ppc to vle ppc
\r
47 cflags-y += -abi=eabi
\r
48 cflags-y += -proc=5565
\r
49 cflags-y += -fp=soft
\r
50 cflags-y += -use_isel=on
\r
51 cflags-y += -sdata=0xFFFF -sdata2=16
\r
53 #cflags-y += -fno-strict-aliasing
\r
54 #cflags-y += -fno-builtin
\r
56 # Get machine cflags
\r
57 #cflags-y += $(cflags-$(ARCH))
\r
59 CFLAGS = $(cflags-y) $(cflags-yy)
\r
63 # ---------------------------------------------------------------------------
\r
68 CPP_ASM_FLAGS += -ppopt noline -ppopt nopragma -dialect c
\r
72 space = $(empty) $(empty)
\r
75 cw_lib_path += -L$(CW_COMPILE)/PowerPC_EABI_Support/Runtime/Lib
\r
76 cw_lib_path += -L$(CW_COMPILE)/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Lib
\r
77 cc_inc_path += $(CW_COMPILE)/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include
\r
78 cc_inc_path += $(CW_COMPILE)/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Include
\r
79 inc-y += $(cc_inc_path)
\r
80 libpath-y += $(cw_lib_path)
\r
83 # libnames .bare - No operating system
\r
86 # S - software float
\r
87 # nothing really matches.......
\r
88 lib-$(CFG_VLE) += -lRuntime.PPCEABI.VS.a # is this VLE?
\r
89 lib-$(CFG_VLE) += -lMSL_C.PPCEABI.bare.SZ.VS.a
\r
90 ifneq ($(CFG_VLE),y)
\r
91 lib-y += -lRuntime.PPCEABI.S.a
\r
92 lib-y += -lMSL_C.PPCEABI.bare.SZ.S.a
\r
97 # ---------------------------------------------------------------------------
\r
100 # LDFLAGS - linker flags
\r
101 # LDOUT - How to Generate linker output file
\r
102 # LDMAPFILE - How to generate mapfile
\r
103 # ldcmdfile-y - link cmd file
\r
104 # libpath-y - lib paths
\r
105 # libitem-y - the libs with path
\r
106 # lib-y - the libs, without path
\r
109 LD = $(CW_BIN)/mwldeppc.exe
\r
113 # To make "rom" images (make LOAD() work)
\r
114 ldflags-y += -romaddr 0x0
\r
115 ldflags-y += -rambuffer 0x0
\r
116 #ldflags-y += -nodefaults
\r
117 ldflags-y += -gdwarf-2
\r
118 ldflags-y += -m _start
\r
120 ldflags-y += -map $(subst .$(TE),.map, $@)
\r
122 LDFLAGS += $(ldflags-y)
\r
127 libitem-y += $(libitem-yy)
\r
129 # ---------------------------------------------------------------------------
\r
132 # ASFLAGS - assembler flags
\r
133 # ASOUT - how to generate output file
\r
135 AS = $(CW_BIN)/mwasmeppc.exe
\r
137 asflags-y += -gnu_mode
\r
138 asflags-y += -proc e500 -gdwarf-2
\r
139 asflags-$(CFG_VLE) += -vle
\r
140 ASFLAGS += $(asflags-y)
\r
143 # ---------------------------------------------------------------------------
\r
146 #DDUMP = $(Q)$(COMPILER_ROOT)/$(cross_machine-y)-objcopy
\r
147 #DDUMP_FLAGS = -O srec
\r
148 #OBJCOPY = $(CROSS_COMPILE)objcopy
\r
150 # ---------------------------------------------------------------------------
\r
153 # AROUT - archiver flags
\r
155 #AR = $(CROSS_COMPILE)ar
\r