vvp: introduce variable names for object files used by the vvp library

This commit is contained in:
Ralf Habacker 2026-04-02 11:37:01 +02:00
parent 6f20ec02eb
commit 8060a5886c
1 changed files with 24 additions and 22 deletions

View File

@ -73,22 +73,24 @@ endif
MDIR1 = -DMODULE_DIR1='"$(libdir)/ivl$(suffix)"' MDIR1 = -DMODULE_DIR1='"$(libdir)/ivl$(suffix)"'
VPI = vpi_modules.o vpi_bit.o vpi_callback.o vpi_cobject.o vpi_const.o vpi_darray.o \ CORE_OBJ = lib_main.o \
vpi_event.o vpi_iter.o vpi_mcd.o \ parse.o parse_misc.o lexor.o arith.o array_common.o array.o bufif.o compile.o \
vpi_priv.o vpi_scope.o vpi_real.o vpi_signal.o vpi_string.o vpi_tasks.o vpi_time.o \ concat.o dff.o class_type.o enum_type.o extend.o file_line.o latch.o npmos.o part.o \
vpi_vthr_vector.o vpip_bin.o vpip_hex.o vpip_oct.o \ permaheap.o reduce.o resolv.o \
vpip_to_dec.o vpip_format.o vvp_vpi.o sfunc.o stop.o \
substitute.o \
symbols.o ufunc.o codes.o vthread.o schedule.o \
statistics.o tables.o udp.o vvp_island.o vvp_net.o vvp_net_sig.o \
vvp_object.o vvp_cobject.o vvp_darray.o event.o logic.o delay.o \
words.o island_tran.o
O = lib_main.o \ VPI_OBJ = vpi_modules.o vpi_bit.o vpi_callback.o vpi_cobject.o vpi_const.o vpi_darray.o \
parse.o parse_misc.o lexor.o arith.o array_common.o array.o bufif.o compile.o \ vpi_event.o vpi_iter.o vpi_mcd.o \
concat.o dff.o class_type.o enum_type.o extend.o file_line.o latch.o npmos.o part.o \ vpi_priv.o vpi_scope.o vpi_real.o vpi_signal.o vpi_string.o vpi_tasks.o vpi_time.o \
permaheap.o reduce.o resolv.o \ vpi_vthr_vector.o vpip_bin.o vpip_hex.o vpip_oct.o \
sfunc.o stop.o \ vpip_to_dec.o vpip_format.o vvp_vpi.o
substitute.o \
symbols.o ufunc.o codes.o vthread.o schedule.o \ LIB_OBJ = $(CORE_OBJ) $(VPI_OBJ)
statistics.o tables.o udp.o vvp_island.o vvp_net.o vvp_net_sig.o \
vvp_object.o vvp_cobject.o vvp_darray.o event.o logic.o delay.o \
words.o island_tran.o $(VPI)
all: dep vvp@EXEEXT@ vvp.man all: dep vvp@EXEEXT@ vvp.man
@ -143,18 +145,18 @@ CPPFLAGS+= -fpic
vvp@EXEEXT@: main.o $(srcdir)/vvp.def libvvp$(suffix).$(SLEXT) vvp@EXEEXT@: main.o $(srcdir)/vvp.def libvvp$(suffix).$(SLEXT)
$(CXX) $(LDFLAGS) -o vvp@EXEEXT@ main.o -L. $(LDFLAGS) -lvvp$(suffix) $(LIBS) $(CXX) $(LDFLAGS) -o vvp@EXEEXT@ main.o -L. $(LDFLAGS) -lvvp$(suffix) $(LIBS)
libvvp$(suffix).$(SLEXT): $O libvvp$(suffix).$(SLEXT): $LIB_OBJ
$(CXX) -shared $(LDFLAGS) -o libvvp$(suffix).$(SLEXT) $O $(LIBS) $(dllib) $(CXX) -shared $(LDFLAGS) -o libvvp$(suffix).$(SLEXT) $LIB_OBJ $(LIBS) $(dllib)
else else
ifeq (@WIN32@,yes) ifeq (@WIN32@,yes)
# To support cocotb, we export the VPI functions directly. This allows # To support cocotb, we export the VPI functions directly. This allows
# cocotb to build VPI modules without using our vpi_user.h and libvpi.a. # cocotb to build VPI modules without using our vpi_user.h and libvpi.a.
# The .def file controls what is exported. # The .def file controls what is exported.
vvp@EXEEXT@: main.o $O $(srcdir)/vvp.def vvp@EXEEXT@: main.o $LIB_OBJ $(srcdir)/vvp.def
$(CXX) $(LDFLAGS) -o vvp@EXEEXT@ $(LDFLAGS) $(srcdir)/vvp.def main.o $O $(LIBS) $(CXX) $(LDFLAGS) -o vvp@EXEEXT@ $(LDFLAGS) $(srcdir)/vvp.def main.o $LIB_OBJ $(LIBS)
else else
vvp@EXEEXT@: $O main.o vvp@EXEEXT@: $LIB_OBJ main.o
$(CXX) $(LDFLAGS) -o vvp@EXEEXT@ main.o $O $(LIBS) $(CXX) $(LDFLAGS) -o vvp@EXEEXT@ main.o $LIB_OBJ $(LIBS)
endif endif
endif endif
@ -252,4 +254,4 @@ ifeq (@LIBVVP@,yes)
rm -f "$(DESTDIR)$(includedir)/libvvp.h" rm -f "$(DESTDIR)$(includedir)/libvvp.h"
endif endif
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $LIB_OBJ)