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

Subversion Repositories ulpi_wrapper

[/] [ulpi_wrapper/] [trunk/] [testbench/] [makefile] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 ultra_embe
#########################################################
2
# Vars
3
#########################################################
4
SYSTEMC_HOME  ?= /opt/systemc-2.3.1
5
 
6
TRACE         ?= 1
7
 
8
RTL_DUT        = ../rtl/ulpi_wrapper.v
9
 
10
#########################################################
11
# Source
12
#########################################################
13
SRC          = $(wildcard *.cpp)
14
 
15
SRC_V        = tb_top.v
16
SRC_V       += $(RTL_DUT)
17
 
18
OBJ          = $(patsubst %.cpp,%.o,$(SRC))
19
 
20
VPI_OBJ      = dut
21
 
22
#########################################################
23
# CFLAGS
24
#########################################################
25
INC_PATH  = -I.
26
INC_PATH += -I/usr/include/iverilog
27
INC_PATH += -I$(SYSTEMC_HOME)/include
28
 
29
VINC_PATH = -I. -I../rtl
30
VFLAGS    = -DTRACE=$(TRACE)
31
 
32
CFLAGS    = -c -fpic
33
 
34
LIB_OPT   = $(SYSTEMC_HOME)/lib-linux64/libsystemc.a
35
 
36
EXE       = output.out
37
 
38
#########################################################
39
# Rules
40
#########################################################
41
all: run
42
 
43
%.o : %.cpp
44
        gcc -c $(INC_PATH) $(CFLAGS) $< -o $@
45
 
46
$(VPI_OBJ).vpi: $(OBJ)
47
        g++ -shared -o $(VPI_OBJ).vpi -Wl,--whole-archive $(LIB_OPT) $(OBJ) -Wl,--no-whole-archive
48
 
49
$(EXE) : $(SRC_V)
50
        iverilog -o $(EXE) $(SRC_V) $(VINC_PATH) $(VFLAGS)
51
 
52
run: $(EXE) $(VPI_OBJ).vpi
53
        vvp -M. -m$(VPI_OBJ) $(EXE) -vcd
54
 
55
clean:
56
        rm -rf $(OBJ) dut.vpi *.vcd *.out

powered by: WebSVN 2.1.0

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