#/* ----------------------------------------------------------------------------
# *         ATMEL Microcontroller Software Support  -  ROUSSET  -
# * ----------------------------------------------------------------------------
# * Copyright (c) 2006, Atmel Corporation
#
# * All rights reserved.
# *
# * 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 disclaiimer below.
# *
# * - Redistributions in binary form must reproduce the above copyright notice,
# * this list of conditions and the disclaimer below in the documentation and/or
# * other materials provided with the distribution.
# *
# * Atmel's name may not be used to endorse or promote products derived from
# * this software without specific prior written permission.
# *
# * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
# * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
# * DISCLAIMED. IN NO EVENT SHALL ATMEL 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.
# * ----------------------------------------------------------------------------
# */
#-------------------------------------------------------------------------------
# content	Makefile for building the AT91SAM7SE-EK "board" module
# author    JJo
# version   $Id$
#-------------------------------------------------------------------------------

MODULE = board

#-------------------------------------------------------------------------------
#       Input and output files
#-------------------------------------------------------------------------------

# Object list (filename only, i.e. no path)
INPUT = lowlevel.o

# Output file
OUTPUT = $(OBJ)\$(MODULE).partial

# Automatic appending of module name to prevent multiple usage of the same
# file in several modules
INPUT := $(addprefix $(OBJ)\$(MODULE)_, $(INPUT))

#-------------------------------------------------------------------------------
#       Header files used as dependencies
#-------------------------------------------------------------------------------

HEADERS = board.h

#-------------------------------------------------------------------------------
#       Rules
#-------------------------------------------------------------------------------

.PHONY: all

all: $(OUTPUT)

$(OUTPUT): $(INPUT)
# Link input files into a partial object
	$(LD) $(LDFLAGS) -r -o $@ $^

# C files
$(filter %.o, $(INPUT)): $(OBJ)\$(MODULE)_%.o: $(SRC)\$(MODULE)\\%.c $(HEADERS)
	$(CC) $(CCFLAGS) -o $@ -c $<

# Assembly files
$(filter %.O,$(INPUT)): $(OBJ)\$(MODULE)_%.O: $(SRC)\$(MODULE)\\%.S $(HEADERS)
	$(AS) $(ASFLAGS) -o $@ -c $<
