]> rtime.felk.cvut.cz Git - arc.git/blobdiff - scripts/rules.mk
Bug: mpc560x was forced to defined sleep
[arc.git] / scripts / rules.mk
index 9375e381c0c6b2e749fe0ac0ec85ca4024c0706a..e41b18fc3f4b20e6db6f64f82ecc03e409b57e0d 100644 (file)
@@ -27,8 +27,8 @@ endif
 ifeq (${COMPILER},cw)\r
 ifneq (${CW_COMPILE},${DEFAULT_CW_COMPILE})\r
 ${warning Not using default cross compiler for architecture.}\r
-${warning CROSS_COMPILE:         ${CW_COMPILE} [${origin CW_COMPILE}]}\r
-${warning DEFAULT_CROSS_COMPILE: ${DEFAULT_CW_COMPILE} [${origin DEFAULT_CW_COMPILE}]}\r
+${warning CW_COMPILE:            ${CW_COMPILE} [${origin CW_COMPILE}]}\r
+${warning DEFAULT_CW_COMPILE:    ${DEFAULT_CW_COMPILE} [${origin DEFAULT_CW_COMPILE}]}\r
 endif\r
 else\r
 ifneq (${DEFAULT_CROSS_COMPILE},)\r
@@ -122,6 +122,11 @@ ifndef _BOARD_COMMON_MK
 include $(ROOTDIR)/boards/board_common.mk\r
 endif\r
 \r
+# Misc tools\r
+ifneq ($(CFG_BOOT),)\r
+include $(ROOTDIR)/boards/$(BOARDDIR)/boot_info.mk\r
+include $(ROOTDIR)/scripts/bootloader_image.mk\r
+endif  \r
 \r
 ##### For backwards compatability with older project makefiles:\r
 \r
@@ -197,9 +202,9 @@ endif
 .PHONY clean: \r
 clean: FORCE\r
        @echo\r
-       @echo "  >> Cleaning $(CURDIR)"\r
-       $(Q)-rm -f *.o *.d *.h *.elf *.a *.ldp *.lcf *.tmp *.s *.c *.map *.out\r
-       @echo\r
+       @echo "  >> Rules Clean $(CURDIR)"\r
+       $(Q)-rm -v *\r
+       $(Q)-rm -v $(ROOTDIR)/binaries/$(BOARDDIR)/*\r
        \r
 .PHONY : config \r
 config: FORCE\r
@@ -218,19 +223,16 @@ FORCE:
 $(ROOTDIR)/binaries/$(BOARDDIR):\r
        @mkdir -p $@\r
 \r
-.PHONY all:\r
-all: module_config $(build-exe-y) $(build-hex-y) $(build-lib-y) $(build-bin-y) $(ROOTDIR)/binaries/$(BOARDDIR)\r
-       $(Q)cp -v $(build-lib-y) $(build-exe-y) $(build-hex-y) $(build-bin-y) $(ROOTDIR)/binaries/$(BOARDDIR)\r
-       \r
+all-mod += $(build-hex-y) $(build-exe-y) $(build-srec-y) \r
+all-mod += $(build-lib-y) $(build-bin-y)\r
 \r
+.PHONY all:\r
+all: | module_config $(ROOTDIR)/binaries/$(BOARDDIR) $(all-mod) $(all-mod-post)\r
+all: module_config $(all-mod) $(all-mod-post) $(ROOTDIR)/binaries/$(BOARDDIR) \r
+       @cp -v $(all-mod) $(all-mod-post) $(ROOTDIR)/binaries/$(BOARDDIR)\r
 \r
 .SUFFIXES:\r
 \r
-ifeq ($(COMPILER),cw)\r
-define run_mem_usage-$(CFG_PRINT_MEM_USAGE)\r
-       @gawk -f $(ROOTDIR)/scripts/mem_usage_cw.awk  $(subst .$(TE),.map, $@)\r
-endef\r
-endif\r
 \r
 ###############################################################################\r
 # TARGETS                                                                     #\r
@@ -245,7 +247,8 @@ endif
 %.o: %.c\r
        @echo\r
        @echo "  >> CC $(notdir $<)"\r
-       $(Q)$(CC) -c $(CFLAGS) -o $(goal) $(addprefix -I,$(inc-y)) $(addprefix -D,$(def-y)) $(abspath $<)\r
+       $(Q)$(CC) -c $(CFLAGS) $(CFLAGS_$@) -o $(goal) $(addprefix -I,$(inc-y)) $(addprefix -D,$(def-y)) $(abspath $<)\r
+       $(do-compile-post)\r
 # run lint if enabled\r
        $(run_pclint)\r
        $(run_splint)\r
@@ -263,7 +266,7 @@ endif
 %.s: %.sx\r
        @echo\r
        @echo "  >> CPP $(notdir $<)"\r
-       $(Q)$(CPP) $(CPP_ASM_FLAGS) -o $@ $(addprefix -I,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
+       $(Q)$(CPP) $(CPP_ASM_FLAGS) $(CPPOUT) $@ $(addprefix -I,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
 \r
 # Board linker files are in the board directory \r
 inc-y += $(ROOTDIR)/boards/$(BOARDDIR)\r
@@ -274,7 +277,7 @@ inc-y += $(ROOTDIR)/boards/$(BOARDDIR)
 %.lcf %.ldp: %.ldf\r
        @echo\r
        @echo "  >> CPP $(notdir $<)"\r
-       $(Q)$(CPP) -E -P $(CPP_ASM_FLAGS) -o $@ $(addprefix -I,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
+       $(Q)$(CPP) -P $(CPP_ASM_FLAGS) $(CPPOUT) $@ $(addprefix -I,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
 \r
 .PHONY $(ROOTDIR)/libs:\r
 $(ROOTDIR)/libs:\r
@@ -295,10 +298,10 @@ $(build-hex-y): $(build-exe-y)
        $(Q)$(CROSS_COMPILE)objcopy -O ihex $< $@\r
        \r
 # bin output\r
-$(build-bin-y): $(build-exe-y)\r
-       @echo\r
-       @echo "  >> OBJCOPY $@"   \r
-       $(Q)$(CROSS_COMPILE)objcopy -O binary $< $@     \r
+#$(build-bin-y): $(build-exe-y)\r
+#      @echo\r
+#      @echo "  >> OBJCOPY $@"   \r
+#      $(Q)$(CROSS_COMPILE)objcopy -O binary $< $@     \r
 \r
 # Linker\r
 $(build-exe-y): $(dep-y) $(obj-y) $(sim-y) $(libitem-y) $(ldcmdfile-y)\r
@@ -308,24 +311,8 @@ ifeq ($(CROSS_COMPILE)$(COMPILER),gcc)
        $(Q)$(CC) $(LDFLAGS) -o $@ $(libpath-y) $(obj-y) $(lib-y) $(libitem-y)  \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
-       $(run_mem_usage-y)\r
- ifdef CFG_HC1X\r
-    # Print memory layout\r
-       @$(CROSS_COMPILE)objdump -h $@ | gawk -f $(ROOTDIR)/scripts/hc1x_memory.awk\r
- else\r
-  ifeq ($(COMPILER),gcc)       \r
-    # Print memory layout\r
-       @echo ""\r
-       @gawk --non-decimal-data -f $(ROOTDIR)/scripts/gcc_map_memory.awk $(subst .elf,.map,$@)\r
-  endif # ($(COMPILER),gcc)\r
-   \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 #($(BUILD_LOAD_MODULE),y)\r
-   \r
- endif #CFG_MC912DG128A\r
-\r
+       $(do-memory-footprint)\r
+       $(do-memory-footprint2-y)\r
 endif #($(CROSS_COMPILE),)\r
        @echo\r
        @echo "  >>>>>>>  DONE  <<<<<<<<<"\r