# Hey Emacs, this is a -*- makefile -*- # # Copyright (C) 2012 Felix Ruess # # This has some common targets # for bare metal systems like on the ARM7TDMI, cortex M3/4 ifdef CC CC_VERSION := $(shell $(CC) --version | head -1) else CC_VERSION := Not found endif printcommands: @echo "" @echo "GCC version: $(CC_VERSION)" '\n' # @echo "Using CC = $(CC)" # @echo "Using LD = $(LD)" # @echo "Using CP = $(CP)" # @echo "Using DMP = $(DMP)" # @echo "Using NM = $(NM)" # @echo "Using SIZE = $(SIZE)" # @echo "" # Display size of file. HEXSIZE = $(SIZE) --target=$(FORMAT) $(OBJDIR)/$(TARGET).hex ELFSIZE = $(SIZE) -A -x $(OBJDIR)/$(TARGET).elf sizebefore: @if [ -f $(OBJDIR)/$(TARGET).elf ]; then echo; echo "Previous size:"; $(ELFSIZE); fi sizeafter: @if [ -f $(OBJDIR)/$(TARGET).elf ]; then echo; echo "Current size:"; $(ELFSIZE); fi # Target: clean project. clean: clean_list clean_list : @echo $(RM) $(OBJDIR)/$(TARGET).hex $(RM) $(OBJDIR)/$(TARGET).obj $(RM) $(OBJDIR)/$(TARGET).elf $(RM) $(OBJDIR)/$(TARGET).map $(RM) $(OBJDIR)/$(TARGET).obj $(RM) $(OBJDIR)/$(TARGET).a90 $(RM) $(OBJDIR)/$(TARGET).sym $(RM) $(OBJDIR)/$(TARGET).lnk $(RM) $(OBJDIR)/$(TARGET).lss $(RM) $(COBJ) $(RM) $(AOBJ) $(RM) $(COBJARM) $(RM) $(AOBJARM) $(RM) $(LST) $(RM) $(SRC:.c=.s) $(RM) $(SRC:.c=.d) $(RM) $(SRCARM:.c=.s) $(RM) $(SRCARM:.c=.d) $(RM) .dep/* $(RM) *~ .PHONY : printcommands sizebefore sizeafter clean clean_list