# ------------------ #
# -- NRC Makefile -- #
# ------------------ #

# Copyright (c) 2000-2007 Lionel Lacassagne
# with a little help of Stephane Piskorski and Joel Falcou

# -- File list ----------
FILE = nralloc1.c, nralloc2.c, nralloc2x.c, nrarith0.c, nrarith1.c, nrarith2.c, nrarith2x.c, nrbool1.c, nrbool2.c,  nrhisto.c, nrio0.c, nrio1.c, nrio2.c, nrkernel.c, nrlinalg.c, nrlut.c, nrmem1.c, nrmem1x.c, nrmem2.c, nrmem2x.c, nrset1.c, nrset2.c, nrset2x.c, nrsort1.c, nrsort2.c, nrwrap1.c, nrwrap2.c



# -- Paths ----------
SRC_PATH = src
OBJ_PATH = obj
INC_PATH = include


C_DEBUG_FLAGS = -O0
C_OPTIMISATION_FLAGS = -std=c99 -O2 -fstrict-aliasing
C_OS_FLAGS = -DGTODay
C_CONFIG_FLAGS = -DCLI
C_INC_FLAGS = -I$(INC_PATH) -I../../.. -I../../../giet_libs

# -- Flags ----------
CFLAGS = $(C_OPTIMISATION_FLAGS) $(C_OS_FLAGS) $(C_INC_FLAGS)


#------------------------------------------------------------------------------
# CC tools and parameters
#------------------------------------------------------------------------------
CC      = mipsel-unknown-elf-gcc
AR      = mipsel-unknown-elf-ar -cr
AS      = mipsel-unknown-elf-as
OD      = mipsel-unknown-elf-objdump
OCPY    = mipsel-unknown-elf-objcopy
LD      = mipsel-unknown-elf-ld
NM      = mipsel-unknown-elf-nm

CFLAGSW := -Wredundant-decls -Wdisabled-optimization -Winline -Wpointer-arith -Wsign-compare -Wendif-labels
CFLAGSCPU := -mips32 -EL -G0 -mhard-float
CFLAGS := $(CFLAGS) -g -Wall -fomit-frame-pointer $(CFLAGSW) $(CFLAGSCPU) -I$(DIR_INC) -fno-builtin -ffreestanding


PRODUCT = libnrc2x.a

OBJS = $(addprefix $(OBJ_PATH)/, $(addsuffix .o, $(basename $(FILE))))

all: $(PRODUCT)

$(OBJ_PATH)/%.o: $(SRC_PATH)/%.c
	$(CC) -c $(CFLAGS) -o $@ $<


$(PRODUCT): $(OBJS)
	$(AR) $@ $^
	ranlib $@ 

clean:
	rm -f $(OBJS)
	rm -f $(PRODUCT)

