###########################################################################
#                                                                         #
#   Copyright (C) 2012 Texas Instruments Incorporated                     #
#     http://www.ti.com/                                                  #
#                                                                         #
###########################################################################



#############################################################################
#                                                                           #
#  Redistribution and use in source and binary forms, with or without       #
#  modification, are permitted provided that the following conditions       #
#  are met:                                                                 #
#                                                                           #
#    Redistributions of source code must retain the above copyright         #
#    notice, this list of conditions and the following disclaimer.          #
#                                                                           #
#    Redistributions in binary form must reproduce the above copyright      #
#    notice, this list of conditions and the following disclaimer in the    #
#    documentation and/or other materials provided with the                 #
#    distribution.                                                          #
#                                                                           #
#    Neither the name of Texas Instruments Incorporated nor the names of    #
#    its contributors may be used to endorse or promote products derived    #
#    from this software without specific prior written permission.          #
#                                                                           #
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS      #
#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        #
#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    #
#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT     #
#  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    #
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT         #
#  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,    #
#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    #
#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT      #
#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE    #
#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     #
#                                                                           #
#############################################################################
#############################################################
# Makefile for ARMVectors files, used to generate binary    #
#   ARM executable data for use in the dMax load images.    #
#############################################################
# Author:   Daniel Allred
#

CROSSCOMPILE=470
CC=cl$(CROSSCOMPILE)
OBJDUMP=dis$(CROSSCOMPILE)
IMG2C=./bin/img2c
LINKERFLAGS=-z -e reset
OBJDUMPFLAGS=-q -S -I -a --ual

IDLE_SOURCE=arm_idle_vectors.asm
ROM_SOURCE=arm_rom_vectors.asm

IDLE_CFILE:=$(patsubst %.asm,%.c,$(IDLE_SOURCE))
IDLE_OUT:=$(patsubst %.asm,%.out,$(IDLE_SOURCE))
ROM_CFILE:=$(patsubst %.asm,%.c,$(ROM_SOURCE))
ROM_OUT:=$(patsubst %.asm,%.out,$(ROM_SOURCE))
LINKERSCRIPT:=arm_vectors.cmd

# Target definitions
all: $(IDLE_CFILE) $(ROM_CFILE) $(IDLE_OUT) $(ROM_OUT)

.PHONY : clean objclean
clean:
		-rm -f -v $(IDLE_CFILE) $(ROM_CFILE) $(IDLE_OUT) $(ROM_OUT)

objclean:
		-rm -f -v $(IDLE_OUT) $(ROM_OUT)

%.c: %.img
		$(IMG2C) $(patsubst %.img,%,$< ) $< > $@
    
%.img: %.out
		$(OBJDUMP) $(OBJDUMPFLAGS) $< > $@

%.out : %.obj $(LINKERSCRIPT)
		$(CC) $(LINKERFLAGS) -o $@ $(LINKERSCRIPT) $<

%.obj : %.asm
		$(CC) $<   