#cflags-$(CFG_OPT_RELEASE) += -O3\r
#cflags-$(CFG_OPT_DEBUG) += make -O0\r
\r
-# Remove sections if needed.. may be problems with other compilers here.\r
-#cflags-y += -ffunction-sections\r
-\r
-#ifneq ($(filter -O2 -O3 -O1,$(cflags-y)),) \r
-# cflags-y += -fno-schedule-insns -fno-schedule-insns2\r
-#endif\r
-\r
#cflags-y += -c \r
-#cflags-y += -fno-common\r
-#cflags-y += -std=gnu99\r
cflags-y += -dialect=c99\r
cflags-y += -gccext=on\r
cflags-y += -gdwarf-2\r
cflags-y += -gccinc\r
\r
# Generate dependencies\r
-#cflags-y += -MMD\r
cflags-y += -gccdepends -MMD\r
\r
# Warnings\r
cflags-y += -W=most\r
-#cflags-y += -Wall\r
-#cflags-y += -Winline # warn if inline failed\r
-#cflags-y += -pedantic\r
\r
# Conformance\r
cflags-y += -abi=eabi\r
\r
CPP = $(CC) -E\r
\r
-CPP_ASM_FLAGS += -ppopt noline\r
+CPP_ASM_FLAGS += -ppopt noline -dialect c\r
\r
comma = ,\r
empty = \r
space = $(empty) $(empty)\r
\r
-# Note!\r
-# Libs related to GCC(libgcc.a, libgcov.a) is located under \r
-# lib/gcc/<machine>/<version>/<multilib>\r
-# Libs related to the library (libc.a,libm.a,etc) are under:\r
-# <machine>/lib/<multilib>\r
-\r
-# It seems some versions of make want "\=" and some "="\r
-# "=" - msys cpmake on windows 7 \r
-#gcc_lib_path := "$(subst /libgcc.a,,$(shell $(CC) $(CFLAGS) --print-libgcc-file-name))" \r
-#gcc_lib_path := $(subst \libgcc.a,,$(gcc_lib_path)) \r
-#lib_lib_path := "$(subst /libc.a,,$(shell $(CC) $(CFLAGS) --print-file-name=libc.a))"\r
-#lib_lib_path := $(subst \libc.a,,$(lib_lib_path))\r
-#text_chunk := $(subst \,/,$(shell touch i_m_here.c; $(CC) -v -c i_m_here.c &> i_m_here.txt;gawk -f $(TOPDIR)/scripts/gcc_getinclude.awk i_m_here.txt))\r
-#cc_inc_path := $(realpath $(text_chunk))\r
-#libpath-y += -L$(lib_lib_path)\r
-#libpath-y += -L$(gcc_lib_path)\r
+\r
\r
cw_lib_path += -L$(CW_COMPILE)/PowerPC_EABI_Support/Runtime/Lib\r
cw_lib_path += -L$(CW_COMPILE)/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Lib\r
\r
LDSCRIPT = -lcf\r
\r
+# To make "rom" images (make LOAD() work)\r
ldflags-y += -romaddr 0x0 \r
ldflags-y += -rambuffer 0x0\r
#ldflags-y += -nodefaults\r
LDFLAGS += $(ldflags-y) \r
LDOUT = -o $@\r
\r
-#LDMAPFILE = -M > $(subst .$(TE),.map, $@)\r
-\r
-\r
LD_FILE = -lcf\r
\r
libitem-y += $(libitem-yy)\r
-#LDFLAGS += --gc-section\r
\r
# ---------------------------------------------------------------------------\r
# Assembler\r
\r
#DDUMP = $(Q)$(COMPILER_ROOT)/$(cross_machine-y)-objcopy\r
#DDUMP_FLAGS = -O srec\r
-OBJCOPY = $(CROSS_COMPILE)objcopy\r
+#OBJCOPY = $(CROSS_COMPILE)objcopy\r
\r
# ---------------------------------------------------------------------------\r
# Archiver\r
#\r
# AROUT - archiver flags\r
\r
-AR = $(CROSS_COMPILE)ar\r
-AROUT = $@\r
+#AR = $(CROSS_COMPILE)ar\r
+#AROUT = $@\r
\r
\r
\r
@echo " >> LD $@"\r
ifeq ($(CROSS_COMPILE),)\r
$(Q)$(CC) $(LDFLAGS) -o $@ $(libpath-y) $(obj-y) $(lib-y) $(libitem-y) \r
-else\r
-ifeq ($(COMPILER),cw) \r
- $(Q)$(LD) $(LDFLAGS) $(LD_FILE) $(ldcmdfile-y) -o $@ $(libpath-y) $(LD_START_GRP) $(obj-y) $(lib-y) $(libitem-y) $(LD_END_GRP) \r
else\r
$(Q)$(LD) $(LDFLAGS) $(LD_FILE) $(ldcmdfile-y) -o $@ $(libpath-y) $(LD_START_GRP) $(obj-y) $(lib-y) $(libitem-y) $(LD_END_GRP) $(LDMAPFILE)\r
endif\r
/^\.data/ { print " data:" $$3+0 " bytes"; rom+=$$3; ram+=$$3}; \\r
/^\.bss/ { print " bss :" $$3+0 " bytes"; ram+=$$3}; \\r
END { print " ROM: ~" rom " bytes"; print " RAM: ~" ram " bytes"}' $(subst .elf,.map,$@)\r
-endif \r
+endif # ($(COMPILER),gcc) \r
ifeq ($(BUILD_LOAD_MODULE),y)\r
@$(CROSS_COMPILE)objcopy -O srec $@ $@.raw.s19\r
srec_cat $@.raw.s19 --crop 0x8008000 0x803fffc --fill 0x00 0x8008000 0x803fffc --l-e-crc32 0x803fffc -o $@.lm.s19\r
endif\r
-endif\r
endif\r
@echo\r
@echo " >>>>>>> DONE <<<<<<<<<"\r