iverilog-vpi: Consolidate creation in driver-vpi
This change standardizes the creation of iverilog-vpi-related targets, which now follow the same pattern as the iverilog targets in the 'driver' subdirectory.
This commit is contained in:
parent
9b42bf0df6
commit
181cb7b2ed
75
Makefile.in
75
Makefile.in
|
|
@ -51,11 +51,7 @@ else
|
|||
NOTUSED += libveriuser cadpli
|
||||
endif
|
||||
|
||||
ifeq (@MINGW32@,yes)
|
||||
SUBDIRS += driver-vpi
|
||||
else
|
||||
NOTUSED += driver-vpi
|
||||
endif
|
||||
|
||||
# To get the version headers to build correctly we only want to look
|
||||
# for C++ files in the source directory. All other files will require
|
||||
|
|
@ -71,8 +67,6 @@ libdir = @libdir@
|
|||
# This is actually the directory where we install our own header files.
|
||||
# It is a little different from the generic includedir.
|
||||
ivl_includedir = @includedir@/iverilog$(suffix)
|
||||
man1dir = @mandir@/man1
|
||||
docdir = @docdir@
|
||||
|
||||
dllib=@DLLIB@
|
||||
|
||||
|
|
@ -135,7 +129,7 @@ O = main.o async.o design_dump.o discipline.o dup_expr.o elaborate.o \
|
|||
PGate.o PGenerate.o PModport.o PNamedItem.o PPackage.o PScope.o PSpec.o PTimingCheck.o \
|
||||
PTask.o PUdp.o PWire.o Statement.o AStatement.o $M $(FF) $(TT)
|
||||
|
||||
all: dep config.h _pli_types.h version_tag.h version_base.h ivl@EXEEXT@ iverilog-vpi.man
|
||||
all: dep config.h _pli_types.h version_tag.h version_base.h ivl@EXEEXT@
|
||||
$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
|
||||
|
||||
# In the windows world, the installer will need a dosify program to
|
||||
|
|
@ -172,7 +166,7 @@ check-installed check-installed-vpi check-installed-vvp check-installed-vvp-py:
|
|||
clean:
|
||||
$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
|
||||
rm -f *.o parse.cc parse.h lexor.cc
|
||||
rm -f ivl.exp iverilog-vpi.man iverilog-vpi.pdf iverilog-vpi.ps
|
||||
rm -f ivl.exp
|
||||
rm -f iverilog_man.ps iverilog_man.pdf iverilog_man_$(VERSION_MAJOR)_$(VERSION_MINOR).pdf
|
||||
rm -f parse.output syn-rules.output dosify$(BUILDEXT) ivl@EXEEXT@ check.vvp
|
||||
rm -f lexor_keyword.cc libivl.a libvpi.a iverilog-vpi syn-rules.cc version_base.h
|
||||
|
|
@ -239,23 +233,6 @@ ivl@EXEEXT@: $O
|
|||
$(CXX) $(LDFLAGS) -o ivl@EXEEXT@ $O $(dllib)
|
||||
endif
|
||||
|
||||
ifeq (@MINGW32@,no)
|
||||
all: iverilog-vpi
|
||||
|
||||
iverilog-vpi: $(srcdir)/iverilog-vpi.sh Makefile
|
||||
sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \
|
||||
-e 's;@ENABLE_PLI1@;@LIBVERIUSER@;' \
|
||||
-e 's;@SUFFIX@;$(suffix);' \
|
||||
-e 's;@IVCC@;$(CC);' \
|
||||
-e 's;@IVCXX@;$(CXX);' \
|
||||
-e 's;@IVCFLAGS@;$(CFLAGS);' \
|
||||
-e 's;@IVCXXFLAGS@;$(CXXFLAGS);' \
|
||||
-e 's;@IVCTARGETFLAGS@;$(CTARGETFLAGS);' \
|
||||
-e 's;@INCLUDEDIR@;$(ivl_includedir);' \
|
||||
-e 's;@LIBDIR@;@libdir@;' $< > $@
|
||||
chmod +x $@
|
||||
endif
|
||||
|
||||
version_base.h: $(srcdir)/version_base.h.in config.status
|
||||
./config.status --file=$@
|
||||
|
||||
|
|
@ -285,16 +262,7 @@ lexor_keyword.o: lexor_keyword.cc parse.h
|
|||
lexor_keyword.cc: $(srcdir)/lexor_keyword.gperf
|
||||
gperf -o -i 7 -C -k 1-4,6,9,$$ -H keyword_hash -N check_identifier -t $< > $@ || (rm -f $@ ; false)
|
||||
|
||||
iverilog-vpi.man: $(srcdir)/iverilog-vpi.man.in config.status
|
||||
./config.status --file=$@
|
||||
|
||||
iverilog-vpi.ps: iverilog-vpi.man
|
||||
$(MAN) -t ./$< > $@
|
||||
|
||||
iverilog-vpi.pdf: iverilog-vpi.ps
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
iverilog_man.ps: driver/iverilog.man vvp/vvp.man iverilog-vpi.man
|
||||
iverilog_man.ps: driver/iverilog.man vvp/vvp.man driver-vpi/iverilog-vpi.man
|
||||
$(GROFF) -man -rC1 -rD1 -T ps $^ > $@
|
||||
|
||||
iverilog_man.pdf: iverilog_man.ps
|
||||
|
|
@ -325,22 +293,6 @@ version_tag.h version:
|
|||
echo '#define VERSION_TAG ""' > version_tag.h; \
|
||||
fi
|
||||
|
||||
INSTALL_DOC =
|
||||
ifneq ($(MAN),none)
|
||||
INSTALL_DOC += installman
|
||||
ifneq ($(PS2PDF),none)
|
||||
ifeq (@MINGW32@,yes)
|
||||
INSTALL_DOC += installpdf
|
||||
all: iverilog-vpi.pdf
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (@MINGW32@,yes)
|
||||
WIN32_INSTALL =
|
||||
else
|
||||
WIN32_INSTALL = installwin32
|
||||
endif
|
||||
|
||||
install: all installdirs installfiles
|
||||
$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
|
||||
|
||||
|
|
@ -352,18 +304,7 @@ F = ./ivl@EXEEXT@ \
|
|||
$(srcdir)/sv_vpi_user.h \
|
||||
$(srcdir)/vpi_user.h \
|
||||
$(srcdir)/acc_user.h \
|
||||
$(srcdir)/veriuser.h \
|
||||
$(INSTALL_DOC) \
|
||||
$(WIN32_INSTALL)
|
||||
|
||||
installwin32: ./iverilog-vpi installdirs
|
||||
$(INSTALL_SCRIPT) ./iverilog-vpi "$(DESTDIR)$(bindir)/iverilog-vpi$(suffix)"
|
||||
|
||||
installman: iverilog-vpi.man installdirs
|
||||
$(INSTALL_DATA) iverilog-vpi.man "$(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1"
|
||||
|
||||
installpdf: iverilog-vpi.pdf installdirs
|
||||
$(INSTALL_DATA) iverilog-vpi.pdf "$(DESTDIR)$(pdfdir)/iverilog-vpi$(suffix).pdf"
|
||||
$(srcdir)/veriuser.h
|
||||
|
||||
installfiles: $(F) | installdirs
|
||||
$(INSTALL_PROGRAM) ./ivl@EXEEXT@ "$(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@"
|
||||
|
|
@ -380,9 +321,7 @@ installdirs: $(srcdir)/mkinstalldirs
|
|||
$(srcdir)/mkinstalldirs "$(DESTDIR)$(bindir)" \
|
||||
"$(DESTDIR)$(ivl_includedir)" \
|
||||
"$(DESTDIR)$(libdir)/ivl$(suffix)" \
|
||||
"$(DESTDIR)$(libdir)/ivl$(suffix)/include" \
|
||||
"$(DESTDIR)$(docdir)" \
|
||||
"$(DESTDIR)$(man1dir)"
|
||||
"$(DESTDIR)$(libdir)/ivl$(suffix)/include"
|
||||
|
||||
uninstall:
|
||||
$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
|
||||
|
|
@ -390,13 +329,11 @@ uninstall:
|
|||
do rm -f "$(DESTDIR)$(libdir)/ivl$(suffix)/$$f"; done
|
||||
-rmdir "$(DESTDIR)$(libdir)/ivl$(suffix)/include"
|
||||
-rmdir "$(DESTDIR)$(libdir)/ivl$(suffix)"
|
||||
for f in verilog$(suffix) iverilog-vpi$(suffix) gverilog$(suffix)@EXEEXT@; \
|
||||
for f in verilog$(suffix) gverilog$(suffix)@EXEEXT@; \
|
||||
do rm -f "$(DESTDIR)$(bindir)/$$f"; done
|
||||
for f in ivl_target.h vpi_user.h _pli_types.h sv_vpi_user.h acc_user.h veriuser.h; \
|
||||
do rm -f "$(DESTDIR)$(ivl_includedir)/$$f"; done
|
||||
-test X$(suffix) = X || rmdir "$(DESTDIR)$(ivl_includedir)"
|
||||
rm -f "$(DESTDIR)$(man1dir)/iverilog-vpi$(suffix).1" \
|
||||
"$(DESTDIR)$(docdir)/iverilog-vpi$(suffix).pdf"
|
||||
|
||||
|
||||
-include $(patsubst %.o, dep/%.d, $O)
|
||||
|
|
|
|||
|
|
@ -407,10 +407,10 @@ AC_CONFIG_FILES([
|
|||
Makefile
|
||||
cadpli/Makefile
|
||||
driver-vpi/Makefile
|
||||
driver-vpi/iverilog-vpi.man
|
||||
driver-vpi/res.rc
|
||||
driver/Makefile
|
||||
driver/iverilog.man
|
||||
iverilog-vpi.man
|
||||
ivlpp/Makefile
|
||||
ivtest/Makefile
|
||||
libveriuser/Makefile
|
||||
|
|
|
|||
|
|
@ -31,7 +31,11 @@ suffix = @install_suffix@
|
|||
bindir = $(exec_prefix)/bin
|
||||
libdir = $(exec_prefix)/lib
|
||||
includedir = $(prefix)/include
|
||||
mandir = @mandir@
|
||||
# This is actually the directory where we install our own header files.
|
||||
# It is a little different from the generic includedir.
|
||||
ivl_includedir = @includedir@/iverilog$(suffix)
|
||||
man1dir = @mandir@/man1
|
||||
docdir = @docdir@
|
||||
|
||||
dllib=@DLLIB@
|
||||
|
||||
|
|
@ -39,8 +43,11 @@ CC = @CC@
|
|||
HOSTCC := @CC@
|
||||
WINDRES = @WINDRES@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MAN = @MAN@
|
||||
PS2PDF = @PS2PDF@
|
||||
|
||||
ifeq (@srcdir@,.)
|
||||
INCLUDE_PATH = -I. -I..
|
||||
|
|
@ -48,19 +55,36 @@ else
|
|||
INCLUDE_PATH = -I. -I.. -I$(srcdir) -I$(srcdir)/..
|
||||
endif
|
||||
|
||||
CPPFLAGS = $(INCLUDE_PATH) @CPPFLAGS@ @DEFS@
|
||||
CPPFLAGS = @DEFS@ $(INCLUDE_PATH) @CPPFLAGS@
|
||||
CFLAGS = @WARNING_FLAGS@ @WARNING_FLAGS_CC@ @CFLAGS@
|
||||
CXXFLAGS = @WARNING_FLAGS@ @WARNING_FLAGS_CXX@ @CXXFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
PICFLAGS = @PICFLAG@
|
||||
LDFLAGS = @rdynamic@ @LDFLAGS@
|
||||
|
||||
O = main.o res.o
|
||||
|
||||
ifeq (@MINGW32@,yes)
|
||||
all: iverilog-vpi@EXEEXT@
|
||||
else
|
||||
all: iverilog-vpi
|
||||
endif
|
||||
|
||||
INSTALL_DOC =
|
||||
ifneq ($(MAN),none)
|
||||
INSTALL_DOC += installman
|
||||
ifneq ($(PS2PDF),none)
|
||||
ifeq (@MINGW32@,yes)
|
||||
INSTALL_DOC += installpdf
|
||||
all: iverilog-vpi.pdf
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
check: all
|
||||
|
||||
clean:
|
||||
rm -f *.o config.h iverilog-vpi@EXEEXT@ res.rc
|
||||
rm -f *.o config.h iverilog-vpi@EXEEXT@ iverilog-vpi \
|
||||
iverilog-vpi.man iverilog-vpi.ps iverilog-vpi.pdf res.rc
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile config.log
|
||||
|
|
@ -75,8 +99,24 @@ cppcheck: main.c config.h
|
|||
Makefile: $(srcdir)/Makefile.in ../config.status
|
||||
cd ..; ./config.status --file=driver-vpi/$@
|
||||
|
||||
ifeq (@MINGW32@,yes)
|
||||
iverilog-vpi@EXEEXT@: $O
|
||||
$(CC) $(LDFLAGS) $O -o iverilog-vpi@EXEEXT@ @EXTRALIBS@
|
||||
endif
|
||||
ifeq (@MINGW32@,no)
|
||||
iverilog-vpi: $(srcdir)/iverilog-vpi.sh ../config.status
|
||||
sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \
|
||||
-e 's;@ENABLE_PLI1@;@LIBVERIUSER@;' \
|
||||
-e 's;@SUFFIX@;$(suffix);' \
|
||||
-e 's;@IVCC@;$(CC);' \
|
||||
-e 's;@IVCXX@;@CXX@;' \
|
||||
-e 's;@IVCFLAGS@;$(CFLAGS);' \
|
||||
-e 's;@IVCXXFLAGS@;$(CXXFLAGS);' \
|
||||
-e 's;@IVCTARGETFLAGS@;@CTARGETFLAGS@;' \
|
||||
-e 's;@INCLUDEDIR@;$(ivl_includedir);' \
|
||||
-e 's;@LIBDIR@;@libdir@;' $< > $@
|
||||
chmod +x $@
|
||||
endif
|
||||
|
||||
main.o: $(srcdir)/main.c config.h
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/main.c
|
||||
|
|
@ -102,12 +142,32 @@ res.o: res.rc
|
|||
$(WINDRES) -i res.rc -o res.o
|
||||
#
|
||||
|
||||
iverilog-vpi.man: $(srcdir)/iverilog-vpi.man.in ../config.status
|
||||
cd ..; ./config.status --file=driver-vpi/$@
|
||||
|
||||
iverilog-vpi.ps: iverilog-vpi.man
|
||||
$(MAN) -t ./$< > $@
|
||||
|
||||
iverilog-vpi.pdf: iverilog-vpi.ps
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
install: all installdirs installfiles
|
||||
|
||||
F = ./iverilog-vpi@EXEEXT@
|
||||
F = $(INSTALL_DOC)
|
||||
ifeq (@MINGW32@,yes)
|
||||
F += ./iverilog-vpi@EXEEXT@
|
||||
endif
|
||||
ifeq (@MINGW32@,no)
|
||||
F += ./iverilog-vpi
|
||||
endif
|
||||
|
||||
installfiles: $(F) | installdirs
|
||||
ifeq (@MINGW32@,yes)
|
||||
$(INSTALL_PROGRAM) ./iverilog-vpi@EXEEXT@ "$(DESTDIR)$(bindir)/iverilog-vpi$(suffix)@EXEEXT@"
|
||||
endif
|
||||
ifeq (@MINGW32@,no)
|
||||
$(INSTALL_SCRIPT) ./iverilog-vpi "$(DESTDIR)$(bindir)/iverilog-vpi$(suffix)"
|
||||
endif
|
||||
ifeq (@WIN32@,yes)
|
||||
ifneq ($(HOSTCC),$(CC))
|
||||
$(INSTALL_PROGRAM) $(shell $(HOSTCC) --print-file-name=libwinpthread-1.dll) "$(DESTDIR)$(bindir)"
|
||||
|
|
@ -116,8 +176,24 @@ ifneq ($(HOSTCC),$(CC))
|
|||
endif
|
||||
endif
|
||||
|
||||
installman: iverilog-vpi.man installdirs
|
||||
$(INSTALL_DATA) iverilog-vpi.man "$(DESTDIR)$(man1dir)/iverilog-vpi$(suffix).1"
|
||||
|
||||
installpdf: iverilog-vpi.pdf installdirs
|
||||
$(INSTALL_DATA) iverilog-vpi.pdf "$(DESTDIR)$(docdir)/iverilog-vpi$(suffix).pdf"
|
||||
|
||||
installdirs: $(srcdir)/../mkinstalldirs
|
||||
$(srcdir)/../mkinstalldirs "$(DESTDIR)$(bindir)"
|
||||
$(srcdir)/../mkinstalldirs \
|
||||
"$(DESTDIR)$(bindir)" \
|
||||
"$(DESTDIR)$(docdir)" \
|
||||
"$(DESTDIR)$(man1dir)"
|
||||
|
||||
uninstall:
|
||||
ifeq (@MINGW32@,yes)
|
||||
rm -f $(DESTDIR)$(bindir)/iverilog-vpi$(suffix)@EXEEXT@
|
||||
endif
|
||||
ifeq (@MINGW32@,no)
|
||||
rm -f $(DESTDIR)$(bindir)/iverilog-vpi$(suffix)
|
||||
endif
|
||||
rm -f "$(DESTDIR)$(man1dir)/iverilog-vpi$(suffix).1" \
|
||||
"$(DESTDIR)$(docdir)/iverilog-vpi$(suffix).pdf"
|
||||
|
|
|
|||
Loading…
Reference in New Issue