忍者ブログ

雑記

【Makefile】DPI-C覚書

雑記 > > [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

【Makefile】DPI-C覚書

雑記 > codeのメモ > 【Makefile】DPI-C覚書

DPI-C用に記載したMakefaile

vcsでDPI-Cを実施したときのMakefile。vcsでのDPI-C立ち上げの参考にも。


最初にsimvの作成を行い、soファイルがされれば問題なくsimvが実行される。

#========================================= 
# COMMON options
#-----------------------------------------
TEST = sample
CC   = gcc

vpath %.cpp cpp cpp/common
vpath %.h   cpp/include
vpath %.o   dpi/obj
vpath %.so  dpi

#=========================================
# Options for normal function
#-----------------------------------------
CFLAGS  = \
	-m64

INCLUDE = \
	-I ./ \
	-I cpp/include

OBJ_DIR = dpi/obj
DPI_DIR = dpi

#=========================================
# .SUFFIXES .PHONY .IGNOEW
#-----------------------------------------
.SUFFIXES : .so .o .c
.PHONY    : clean clean_log vcs all
.IGNORE   : simv

#=========================================
# all
#-----------------------------------------
all : simv vcs

#=========================================
# simv
#-----------------------------------------
vcs : $(TEST).so
	./simv -sv_root ./$(DPI_DIR) -sv_lib $(TEST) -l log/$(TEST).log

#=========================================
# vcs : simvを作成
#-----------------------------------------
simv : test.sv
	vcs -full64 -Mupdate -sverilog $<

#=========================================
# gcc
#-----------------------------------------
SOURCES = $(wildcard cpp/$(TEST).cpp cpp/common/*.cpp)
OBJECTS = $(addprefix $(OBJ_DIR)/,$(notdir $(SOURCES:.cpp=.o))) 

$(OBJ_DIR)/$(TEST).o : cpp/$(TEST).cpp
	mkdir -p $(OBJ_DIR)
	$(CC) $(CFLAGS) -o $@ -c -g -fPIC -I${VCS_HOME}/include $(INCLUDE) $<

$(OBJ_DIR)/%.o : cpp/common/%.cpp
	mkdir -p $(OBJ_DIR)
	$(CC) $(CFLAGS) -o $@ -c -g -fPIC -I${VCS_HOME}/include $(INCLUDE) $<

$(TEST).so : $(OBJECTS)
	mkdir -p $(DPI_DIR)
	$(CC) $(CFLAGS) -o ./$(DPI_DIR)/$@ -shared $^

#=========================================
# clean
#-----------------------------------------
(略)

Makefile関連記事

Code memo home

コメント

ただいまコメントを受けつけておりません。

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30