export SHELLOPTS := igncr CPU := -mcpu=e500mc -mbig-endian -msoft-float AOPT := -g -Wall $(CPU) -Wa,--gdwarf2 -mregnames -xassembler-with-cpp -c COPT := -std=c99 -g -O0 -fno-jump-tables -ffunction-sections -fdata-sections -Wall $(CPU) -mno-sdata -c LOPT := -g -Wall $(CPU) -Wl,--nmagic -nodefaultlibs DEFINES := QORIQ LIBS := -lgcc -lc TMP := ./tmp VPATH := . .. CCGRP := powerpc-eabi- NAME := coverage .PHONY: all all: $(NAME).elf $(NAME)_flash.elf $(NAME).c.eca $(TMP): mkdir $(TMP) $(TMP)/%.o: %.c $(MAKEFILE_LIST) $(CCGRP)gcc $(COPT) -o $@ $< $(TMP)/%.o: %.cpp $(MAKEFILE_LIST) $(CCGRP)g++ $(COPT) -o $@ $< $(TMP)/%.o: %.s $(MAKEFILE_LIST) $(CCGRP)gcc $(AOPT) $(addprefix -D,$(DEFINES)) -o $@ $< $(TMP)/crt0.flash.o: crt0.s $(MAKEFILE_LIST) $(CCGRP)gcc $(AOPT) -DBOOT_FROM_FLASH -o $@ $< $(TMP)/sram.ld: mpc55xx.lds $(MAKEFILE_LIST) | $(TMP) $(CCGRP)cpp -P -o $@ $< -D RAM_SIZE=16K $(TMP)/flash.ld: mpc55xx.lds $(MAKEFILE_LIST) | $(TMP) $(CCGRP)cpp -P -o $@ $< -D RAM_SIZE=16K -D ROM_SIZE=128K $(NAME).elf: $(addprefix $(TMP)/,sram.ld crt0.o main.o $(NAME).o) $(CCGRP)gcc $(LOPT) -o $@ -T $^ -Wl,--start-group $(LIBS) -Wl,--end-group $(NAME)_flash.elf: $(addprefix $(TMP)/,flash.ld crt0.flash.o main.o $(NAME).o) $(CCGRP)gcc $(LOPT) -o $@ -T $^ -Wl,--start-group $(LIBS) -Wl,--end-group # Create files for extended code analysis using t32cast ECAOPT := -m32 %.c.eca: %.c | $(TMP) $(ECAGRP)t32cast $(ECAOPT) -o $(addprefix ../,$@) $^ clean: -rm -fvr $(TMP) -rm -fv *.elf -rm -fv ../*.eca