# -- Paths ---------- SRC_PATH = src OBJ_PATH = obj EXE_PATH = bin INC_PATH = include TARGET ?= linux # # -- Config ---------- ifeq ($(TARGET),giet-vm) C_DEBUG_FLAGS = -O0 C_OPTIM_FLAGS = -std=c99 -O2 -fstrict-aliasing C_OS_FLAGS = -DGTODay -DTARGET_OS=GIETVM C_CONFIG_FLAGS = -DCLI C_INC_FLAGS = -I$(INC_PATH) -Inrc2/include -I../.. -I../../giet_libs -I../../giet_xml/ CFLAGSCPU := -mips32 -EL -G0 -mhard-float -fomit-frame-pointer -fno-builtin -ffreestanding LDFLAGS := -Lnrc2 -L../../build/libs -Trosenfeld.ld --start-group -lnrc2x -luser -lmath --end-group endif ifeq ($(TARGET),linux) CC = gcc LD = gcc # -- Config ---------- C_DEBUG_FLAGS = -O0 C_OPTIM_FLAGS = -std=c99 -O2 -fstrict-aliasing C_OS_FLAGS = -DGTODay -DTARGET_OS=LINUX C_CONFIG_FLAGS = -DCLI C_INC_FLAGS = -I$(INC_PATH) -Inrc2/include CFLAGSCPU = LDFLAGS := -Lnrc2 -Wl,--start-group -lnrc2x -lm -Wl,--end-group endif CFLAGSW := -Wredundant-decls -Wdisabled-optimization -Winline -Wpointer-arith -Wsign-compare -Wendif-labels -Wno-unused-function # -- 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) -g -Wall $(CFLAGSW) $(CFLAGSCPU) APP_NAME = appli.elf 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))))) 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)