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


# -- Config ----------
C_DEBUG_FLAGS = -O0
C_OPTIM_FLAGS = -std=c99 -O2 -fstrict-aliasing
C_OS_FLAGS = -DGTODay
C_CONFIG_FLAGS = -DCLI
C_INC_FLAGS = -I$(INC_PATH) -Inrc2/include -I../.. -I../../giet_libs -I../../giet_xml/

# -- Flags ----------
#CFLAGS = $(C_DEBUG_FLAGS) $(C_OS_FLAGS) $(C_INC_FLAGS) $(C_CONFIG_FLAGS)
CFLAGS = $(C_OPTIM_FLAGS) $(C_OS_FLAGS) $(C_INC_FLAGS) $(C_CONFIG_FLAGS)


APP_NAME = rosenfeld

SRC_FILE = $(wildcard $(SRC_PATH)/*.c)
INC_FILE = $(wildcard $(SRC_PATH)/*.h)

#SRC = $(addprefix $(SRC_PATH)/,$(FILE))
OBJ_FILE = $(addprefix $(OBJ_PATH)/,$(addsuffix .o, $(basename $(notdir $(SRC_FILE)))))


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$(INC_PATH) -fno-builtin -ffreestanding

LDFLAGS := -Lnrc2 -L../../build/libs -T$(APP_NAME).ld --start-group -lnrc2x -luser -lmath --end-group


all: $(APP_NAME)

$(APP_NAME): $(OBJ_FILE)
	$(LD) -o $@ $^ $(LDFLAGS)

$(OBJ_PATH)/%.o: $(SRC_PATH)/%.c $(INC_FILE) nrc2/libnrc2x.a ../../build/libs/libuser.a
	$(CC) -c $(CFLAGS) -o $@ $<

clean:
	rm -f $(OBJ_FILE)
	rm -f $(APP_NAME)



