OpenCores
URL https://opencores.org/ocsvn/riscv_vhdl/riscv_vhdl/trunk

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [debugger/] [makefiles/] [make_cpu_sysc_plugin] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 sergeykhbr
###
2
## @file
3
## @copyright  Copyright 2016 GNSS Sensor Ltd. All right reserved.
4
## @author     Sergey Khabarov - sergeykhbr@gmail.com
5
##
6
 
7
include util.mak
8
 
9
ifeq ($(SYSTEMC_SRC), )
10
   $(error SYSTEMC_SRC variable must be defined)
11
endif
12
 
13
ifeq ($(SYSTEMC_LIB), )
14
   $(error SYSTEMC_LIB variable must be defined)
15
endif
16
 
17
CC=gcc
18
CPP=gcc
19
CFLAGS=-g -c -Wall -Werror -fPIC -pthread
20
LDFLAGS=-shared -pthread -L$(SYSTEMC_LIB) -L$(PLUGINS_ELF_DIR)/..
21
INCL_KEY=-I
22
DIR_KEY=-B
23
 
24
 
25
# include sub-folders list
26
INCL_PATH= \
27
        $(SYSTEMC_SRC) \
28
        $(TOP_DIR)src/common
29
 
30
# source files directories list:
31
SRC_PATH =\
32
        $(TOP_DIR)src/common \
33 4 sergeykhbr
        $(TOP_DIR)src/common/generic \
34 3 sergeykhbr
        $(TOP_DIR)src/cpu_sysc_plugin \
35
        $(TOP_DIR)src/cpu_sysc_plugin/riverlib \
36
        $(TOP_DIR)src/cpu_sysc_plugin/riverlib/core \
37
        $(TOP_DIR)src/cpu_sysc_plugin/riverlib/core/arith \
38
        $(TOP_DIR)src/cpu_sysc_plugin/riverlib/cache
39
 
40
VPATH = $(SRC_PATH)
41
 
42
SOURCES = \
43
        attribute \
44
        autobuffer \
45
        async_tqueue \
46
        plugin_init \
47
        cpu_riscv_rtl \
48
        rtl_wrapper \
49
        river_top \
50
        icache \
51
        dcache \
52
        cache_top \
53
        int_mul \
54
        int_div \
55
        shift \
56
        br_predic \
57
        csr \
58
        decoder \
59
        execute \
60
        fetch \
61
        memaccess \
62
        proc \
63
        regibank \
64
        stacktrbuf \
65
        dbg_port
66
 
67
LIBS = \
68
        dbg64g \
69
        pthread \
70
        m \
71
        stdc++
72
 
73
SRC_FILES = $(addsuffix .cpp,$(SOURCES))
74
OBJ_FILES = $(addprefix $(PLUGINS_OBJ_DIR)/,$(addsuffix .o,$(SOURCES)))
75
EXECUTABLE = $(addprefix $(PLUGINS_ELF_DIR)/,cpu_sysc_plugin.so)
76
 
77
all: $(EXECUTABLE)
78
 
79
all: $(EXECUTABLE)
80
 
81
$(EXECUTABLE): $(OBJ_FILES)
82
        echo $(CPP) $(LDFLAGS) $(OBJ_FILES) -o $@ -Wl,-Bstatic -lsystemc -Wl,-Bdynamic $(addprefix -l,$(LIBS))
83
        $(CPP) $(LDFLAGS) $(OBJ_FILES) -o $@ -Wl,-Bstatic -lsystemc -Wl,-Bdynamic $(addprefix -l,$(LIBS))
84
        $(ECHO) "\n  Plugin '"$@"' has been built successfully.\n"
85
 
86
$(addprefix $(PLUGINS_OBJ_DIR)/,%.o): %.cpp
87
        echo $(CPP) $(CFLAGS) -std=c++0x $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
88
        $(CPP) $(CFLAGS) -std=c++0x $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
89
 
90
$(addprefix $(PLUGINS_OBJ_DIR)/,%.o): %.c
91
        echo $(CC) $(CFLAGS) -std=c99 $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
92
        $(CC) $(CFLAGS) -std=c99 $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.