source: soft/giet_vm/applications/rosenfeld/nrc2/Makefile @ 821

Last change on this file since 821 was 821, checked in by meunier, 9 years ago
  • Added several versions of rosenfeld: { SLOW, FAST } x { FEATURES, NO_FEATURES }
  • Added native linux compilation support
  • Added a script to check results natively
  • Started to refactor nrc code
File size: 2.1 KB
RevLine 
[772]1# ------------------ #
2# -- NRC Makefile -- #
3# ------------------ #
4
5# Copyright (c) 2000-2007 Lionel Lacassagne
6# with a little help of Stephane Piskorski and Joel Falcou
7
8# -- File list ----------
[821]9FILE = 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, 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
[772]10
11
[821]12TARGET ?= linux
[772]13
14# -- Paths ----------
15SRC_PATH = src
16OBJ_PATH = obj
17INC_PATH = include
18
[821]19ifeq ($(TARGET),giet-vm)
[772]20
[821]21CC      = mipsel-unknown-elf-gcc
22AR      = mipsel-unknown-elf-ar
23RANLIB  = mipsel-unknown-elf-ranlib
24AS      = mipsel-unknown-elf-as
25OD      = mipsel-unknown-elf-objdump
26OCPY    = mipsel-unknown-elf-objcopy
27LD      = mipsel-unknown-elf-ld
28NM      = mipsel-unknown-elf-nm
29
30
[772]31C_DEBUG_FLAGS = -O0
32C_OPTIMISATION_FLAGS = -std=c99 -O2 -fstrict-aliasing
[798]33C_OS_FLAGS = -DGTODay -DTARGET_OS=GIETVM
[772]34C_CONFIG_FLAGS = -DCLI
35C_INC_FLAGS = -I$(INC_PATH) -I../../.. -I../../../giet_libs
[821]36CFLAGSCPU := -mips32 -EL -G0 -mhard-float
[772]37
[821]38endif
39
40ifeq ($(TARGET),linux)
41
42CC = gcc
43LD = gcc
44AR = ar
45RANLIB = ranlib
46
47C_DEBUG_FLAGS = -O0
48C_OPTIMISATION_FLAGS = -std=c99 -O2 -fstrict-aliasing
49C_OS_FLAGS = -DGTODay -DTARGET_OS=LINUX
50C_CONFIG_FLAGS = -DCLI
51C_INC_FLAGS = -I$(INC_PATH)
52
53endif
54
55
[772]56# -- Flags ----------
57CFLAGS = $(C_OPTIMISATION_FLAGS) $(C_OS_FLAGS) $(C_INC_FLAGS)
58
59
60#------------------------------------------------------------------------------
61# CC tools and parameters
62#------------------------------------------------------------------------------
63
64CFLAGSW := -Wredundant-decls -Wdisabled-optimization -Winline -Wpointer-arith -Wsign-compare -Wendif-labels
[798]65CFLAGS := $(CFLAGS) -g -Wall -fomit-frame-pointer $(CFLAGSW) $(CFLAGSCPU) -fno-builtin -ffreestanding
[772]66
67
68PRODUCT = libnrc2x.a
69
70OBJS = $(addprefix $(OBJ_PATH)/, $(addsuffix .o, $(basename $(FILE))))
71
72all: $(PRODUCT)
73
74$(OBJ_PATH)/%.o: $(SRC_PATH)/%.c
75        $(CC) -c $(CFLAGS) -o $@ $<
76
77
78$(PRODUCT): $(OBJS)
[821]79        $(AR) -cr $@ $^
[793]80        $(RANLIB) $@ 
[772]81
82clean:
83        rm -f $(OBJS)
84        rm -f $(PRODUCT)
85
Note: See TracBrowser for help on using the repository browser.