60 lines
1.5 KiB
Makefile
60 lines
1.5 KiB
Makefile
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
|
|
|