]> rtime.felk.cvut.cz Git - arc.git/blob - scripts/cc_cw.mk
merge with default
[arc.git] / scripts / cc_cw.mk
1 \r
2 \r
3 HOST := $(shell uname)\r
4 export prefix\r
5 \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
10 endif\r
11 \r
12 # CW and paths...\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
16 \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
20 \r
21 \r
22 # ---------------------------------------------------------------------------\r
23 # Compiler\r
24 # CCFLAGS - compile flags\r
25 \r
26 CC      =       $(CW_BIN)/mwcceppc.exe\r
27 #cflags-$(CFG_OPT_RELEASE) += -O3\r
28 #cflags-$(CFG_OPT_DEBUG) += make  -O0\r
29 \r
30 #cflags-y               += -c \r
31 cflags-y                += -dialect=c99\r
32 cflags-y                += -gccext=on\r
33 cflags-y                += -gdwarf-2\r
34 cflags-y                += -gccinc\r
35 cflags-y                += -cwd explicit\r
36 \r
37 # Generate dependencies\r
38 cflags-y                += -gccdepends -MMD\r
39 \r
40 # Warnings\r
41 cflags-y          += -W=most\r
42 \r
43 # Conformance\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
52 \r
53 #cflags-y          += -fno-strict-aliasing\r
54 #cflags-y          += -fno-builtin\r
55 \r
56 # Get machine cflags\r
57 #cflags-y               += $(cflags-$(ARCH))\r
58 \r
59 CFLAGS = $(cflags-y) $(cflags-yy)\r
60 \r
61 CCOUT           = -o $@ \r
62 \r
63 # ---------------------------------------------------------------------------\r
64 # Preprocessor\r
65 \r
66 CPP     =       $(CC) -E\r
67 \r
68 CPP_ASM_FLAGS += -ppopt noline -ppopt nopragma -dialect c\r
69 \r
70 comma = ,\r
71 empty = \r
72 space = $(empty) $(empty)\r
73 \r
74 \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
81 \r
82 \r
83 # libnames .bare - No operating system\r
84 #          .E    - e500, e200\r
85 #          UC    - Noooooo\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
93 endif\r
94 \r
95 C_TO_ASM = -P\r
96 \r
97 # ---------------------------------------------------------------------------\r
98 # Linker\r
99 #\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
107 \r
108 \r
109 LD = $(CW_BIN)/mwldeppc.exe\r
110 \r
111 LDSCRIPT = -lcf\r
112 \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
119 TE = elf\r
120 ldflags-y += -map $(subst .$(TE),.map, $@)\r
121 \r
122 LDFLAGS += $(ldflags-y) \r
123 LDOUT           = -o $@\r
124 \r
125 LD_FILE = -lcf\r
126 \r
127 libitem-y += $(libitem-yy)\r
128 \r
129 # ---------------------------------------------------------------------------\r
130 # Assembler\r
131 #\r
132 # ASFLAGS               - assembler flags\r
133 # ASOUT                 - how to generate output file\r
134 \r
135 AS      =       $(CW_BIN)/mwasmeppc.exe\r
136 \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
141 ASOUT = -o $@\r
142 \r
143 # ---------------------------------------------------------------------------\r
144 # Dumper\r
145 \r
146 #DDUMP          = $(Q)$(COMPILER_ROOT)/$(cross_machine-y)-objcopy\r
147 #DDUMP_FLAGS    = -O srec\r
148 #OBJCOPY                = $(CROSS_COMPILE)objcopy\r
149 \r
150 # ---------------------------------------------------------------------------\r
151 # Archiver\r
152 #\r
153 # AROUT                 - archiver flags\r
154 \r
155 #AR     =       $(CROSS_COMPILE)ar\r
156 #AROUT  = $@\r
157 \r
158 \r
159 \r
160 \r