source: soft/giet_vm/applications/rosenfeld/Makefile @ 827

Last change on this file since 827 was 826, checked in by meunier, 7 years ago
  • Mise à jour NR2 et Rosenfeld
File size: 2.1 KB
Line 
1
2# -- Paths ----------
3SRC_PATH = src-par
4OBJ_PATH = obj
5INC_PATH = include
6
7TARGET ?= linux
8IGNORE_ASSERT ?= false
9
10#
11# -- Config ----------
12
13ifeq ($(TARGET),giet-vm)
14
15CC      = mipsel-unknown-elf-gcc
16LD      = mipsel-unknown-elf-ld
17
18C_OPTIM_FLAGS = -std=c99 -O2 -fstrict-aliasing
19C_OS_FLAGS = -DTARGET_OS=GIETVM
20C_CONFIG_FLAGS = -static-libgcc -lgcc
21C_INC_FLAGS = -I$(INC_PATH) -Inrc2/include -I../.. -I../../giet_libs -I../../giet_xml/
22CFLAGSCPU = -mips32 -EL -G0 -mhard-float -fomit-frame-pointer -fno-builtin -ffreestanding
23
24GCC_LIB = -L$(shell $(CC) -print-libgcc-file-name | sed 's/libgcc.a//')
25LDFLAGS = $(GCC_LIB) -Lnrc2 -L../../build/libs -Trosenfeld.ld --start-group -lnrc2x -luser -lmath -lgcc --end-group
26
27endif
28
29ifeq ($(TARGET),linux)
30
31CC = gcc
32LD = gcc
33
34# -- Config ----------
35C_OPTIM_FLAGS = -std=c99 -O2 -fstrict-aliasing
36C_OS_FLAGS = -DTARGET_OS=LINUX -D_GNU_SOURCE
37C_CONFIG_FLAGS =
38C_INC_FLAGS = -I$(INC_PATH) -Inrc2/include
39CFLAGSCPU = 
40ifeq ($(IGNORE_ASSERT),true)
41C_OPTIM_FLAGS := $(C_OPTIM_FLAGS) -DNDEBUG
42endif
43
44LDFLAGS = -Lnrc2 -Wl,--start-group -lnrc2x -lm -lpthread -Wl,--end-group
45
46endif
47
48
49
50CFLAGSW = -Wredundant-decls -Wdisabled-optimization -Winline -Wpointer-arith -Wsign-compare -Wendif-labels -Wno-unused-function -Wno-unused-variable
51
52# -- Flags ----------
53CFLAGS = $(C_OPTIM_FLAGS) $(C_OS_FLAGS) $(C_INC_FLAGS) $(C_CONFIG_FLAGS) -g -Wall $(CFLAGSW) $(CFLAGSCPU)
54
55
56APP_NAME = appli.elf
57
58SRC_FILE = $(wildcard $(SRC_PATH)/*.c)
59INC_FILE = $(wildcard $(INC_PATH)/*.h)
60
61#SRC = $(addprefix $(SRC_PATH)/,$(FILE))
62OBJ_FILE = $(addprefix $(OBJ_PATH)/,$(addsuffix .o, $(basename $(notdir $(SRC_FILE)))))
63
64
65
66
67
68all: objdir nrclib $(APP_NAME)
69
70objdir:
71        mkdir -p $(OBJ_PATH)
72
73nrclib:
74        make -C nrc2
75
76$(APP_NAME): $(OBJ_FILE)
77        $(LD) -o $@ $^ $(LDFLAGS)
78
79#obj/bmpNR.o: src-par/bmpNR.c $(INC_FILE) nrc2/libnrc2x.a ../../build/libs/libuser.a nrc2/include/nrc_os_config.h
80#       $(CC) -c $(CFLAGS) -o $@ $<
81
82$(OBJ_PATH)/%.o: $(SRC_PATH)/%.c $(INC_FILE) nrc2/libnrc2x.a ../../build/libs/libuser.a nrc2/include/nrc_os_config.h
83        $(CC) -c $(CFLAGS) -o $@ $<
84
85clean:
86        rm -f $(OBJ_FILE)
87        rm -f $(APP_NAME)
88
89
90
Note: See TracBrowser for help on using the repository browser.