diff --git a/.gitignore b/.gitignore index 80c682f2e..243365603 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,13 @@ dep # Check output /check.vvp + +# The PostScript and PDF generated manual files. +/driver/iverilog.ps +/driver/iverilog.pdf +/iverilog-vpi.ps +/iverilog-vpi.pdf +/tgt-fpga/iverilog-fpga.ps +/tgt-fpga/iverilog-fpga.pdf +/vvp/vvp.ps +/vvp/vvp.pdf diff --git a/Makefile.in b/Makefile.in index 779ef5a6f..916937992 100644 --- a/Makefile.in +++ b/Makefile.in @@ -88,7 +88,19 @@ check: all for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) check); done test -r check.conf || cp $(srcdir)/check.conf . driver/iverilog -B. -BPivlpp -tcheck -ocheck.vvp $(srcdir)/examples/hello.vl +ifeq (@WIN32@,yes) +ifeq (@install_suffix@,) vvp/vvp -M- -M./vpi ./check.vvp | grep 'Hello, World' +else + # On Windows if we have a suffix we must run the vvp part of + # the test with a suffix since it was built/linked that way. + ln vvp/vvp.exe vvp/vvp$(suffix).exe + vvp/vvp$(suffix) -M- -M./vpi ./check.vvp | grep 'Hello, World' + rm vvp/vvp$(suffix).exe +endif +else + vvp/vvp -M- -M./vpi ./check.vvp | grep 'Hello, World' +endif clean: for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done @@ -96,8 +108,9 @@ clean: for dir in vpi ivlpp tgt-verilog tgt-stub driver; \ do (cd $$dir ; $(MAKE) $@); done rm -f *.o parse.cc parse.output parse.h lexor.cc syn-rules.output - rm -f lexor_keyword.cc libivl.a libvpi.a iverilog-vpi syn-rules.cc* - rm -rf dep ivl@EXEEXT@ + rm -f iverilog-vpi.ps iverilog-vpi.pdf + rm -f lexor_keyword.cc libivl.a libvpi.a iverilog-vpi syn-rules.cc + rm -rf dep ivl@EXEEXT@ dosify.exe check.vvp distclean: clean for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done @@ -230,37 +243,37 @@ install: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(includedir)/ivl_t for dir in vpi ivlpp driver; \ do (cd $$dir ; $(MAKE) $@); done -$(bindir)/iverilog-vpi$(suffix): ./iverilog-vpi +$(DESTDIR)$(bindir)/iverilog-vpi$(suffix): ./iverilog-vpi $(INSTALL_SCRIPT) ./iverilog-vpi $(DESTDIR)$(bindir)/iverilog-vpi$(suffix) $(libdir)/ivl$(suffix)/ivl@EXEEXT@: ./ivl@EXEEXT@ $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@ -$(libdir)/ivl$(suffix)/xnf-s.conf: $(srcdir)/xnf-s.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/xnf-s.conf: $(srcdir)/xnf-s.conf $(INSTALL_DATA) $(srcdir)/xnf-s.conf $(DESTDIR)$(libdir)/ivl$(suffix)/xnf-s.conf -$(libdir)/ivl$(suffix)/xnf.conf: $(srcdir)/xnf.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/xnf.conf: $(srcdir)/xnf.conf $(INSTALL_DATA) $(srcdir)/xnf.conf $(DESTDIR)$(libdir)/ivl$(suffix)/xnf.conf -$(includedir)/ivl_target.h: $(srcdir)/ivl_target.h +$(DESTDIR)$(includedir)/ivl_target.h: $(srcdir)/ivl_target.h $(INSTALL_DATA) $(srcdir)/ivl_target.h $(DESTDIR)$(includedir)/ivl_target.h -$(includedir)/_pli_types.h: _pli_types.h +$(DESTDIR)$(includedir)/_pli_types.h: _pli_types.h $(INSTALL_DATA) $< $(DESTDIR)$(includedir)/_pli_types.h -$(includedir)/vpi_user.h: $(srcdir)/vpi_user.h +$(DESTDIR)$(includedir)/vpi_user.h: $(srcdir)/vpi_user.h $(INSTALL_DATA) $(srcdir)/vpi_user.h $(DESTDIR)$(includedir)/vpi_user.h -$(includedir)/acc_user.h: $(srcdir)/acc_user.h +$(DESTDIR)$(includedir)/acc_user.h: $(srcdir)/acc_user.h $(INSTALL_DATA) $(srcdir)/acc_user.h $(DESTDIR)$(includedir)/acc_user.h -$(includedir)/veriuser.h: $(srcdir)/veriuser.h +$(DESTDIR)$(includedir)/veriuser.h: $(srcdir)/veriuser.h $(INSTALL_DATA) $(srcdir)/veriuser.h $(DESTDIR)$(includedir)/veriuser.h -$(mandir)/man1/iverilog-vpi$(suffix).1: $(srcdir)/iverilog-vpi.man +$(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1: $(srcdir)/iverilog-vpi.man $(INSTALL_DATA) $(srcdir)/iverilog-vpi.man $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1 -$(prefix)/iverilog-vpi$(suffix).pdf: iverilog-vpi.pdf +$(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf: iverilog-vpi.pdf $(INSTALL_DATA) iverilog-vpi.pdf $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf @@ -281,8 +294,9 @@ uninstall: do rm -f $(DESTDIR)$(bindir)/$$f; done for f in ivl_target.h vpi_user.h _pli_types.h acc_user.h veriuser.h; \ do rm -f $(DESTDIR)$(includedir)/$$f; done - -test X$(suffix) = X || rmdir $(DESTDIR)/$(includedir) - rm -f $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1 $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf + -test X$(suffix) = X || rmdir $(DESTDIR)$(includedir) + rm -f $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1 + rm -f $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf -include $(patsubst %.o, dep/%.d, $O) diff --git a/cadpli/Makefile.in b/cadpli/Makefile.in index 005a2ce4f..fd236c62e 100644 --- a/cadpli/Makefile.in +++ b/cadpli/Makefile.in @@ -87,14 +87,14 @@ distclean: clean install: all installdirs $(vpidir)/cadpli.vpl $(INSTALL32) -$(vpidir)/cadpli.vpl: ./cadpli.vpl - $(INSTALL_PROGRAM) ./cadpli.vpl $(DESTDIR)/$(vpidir)/cadpli.vpl +$(DESTDIR)$(vpidir)/cadpli.vpl: ./cadpli.vpl + $(INSTALL_PROGRAM) ./cadpli.vpl $(DESTDIR)$(vpidir)/cadpli.vpl installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(vpidir) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(vpidir) uninstall: $(UNINSTALL32) - rm -f $(DESTDIR)/$(vpidir)/cadpli.vpl + rm -f $(DESTDIR)$(vpidir)/cadpli.vpl ifeq (@enable_vvp32@,yes) include $(srcdir)/enable_vvp32.mk diff --git a/driver/Makefile.in b/driver/Makefile.in index ab315794e..5ace0b5c6 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -50,6 +50,7 @@ all: iverilog@EXEEXT@ clean: rm -f *.o lexor.c parse.c parse.h parse.output rm -f cflexor.c cfparse.c cfparse.h cfparse.output + rm -f iverilog.ps iverilog.pdf rm -f iverilog@EXEEXT@ distclean: clean @@ -100,18 +101,19 @@ endif install: all installdirs $(bindir)/iverilog$(suffix)@EXEEXT@ $(INSTALL_DOC) -$(bindir)/iverilog$(suffix)@EXEEXT@: ./iverilog@EXEEXT@ - $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(DESTDIR)/$(bindir)/iverilog$(suffix)@EXEEXT@ +$(DESTDIR)$(bindir)/iverilog$(suffix)@EXEEXT@: ./iverilog@EXEEXT@ + $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(DESTDIR)$(bindir)/iverilog$(suffix)@EXEEXT@ -$(mandir)/man1/iverilog$(suffix).1: $(srcdir)/iverilog.man - $(INSTALL_DATA) $(srcdir)/iverilog.man $(DESTDIR)/$(mandir)/man1/iverilog$(suffix).1 +$(DESTDIR)$(mandir)/man1/iverilog$(suffix).1: $(srcdir)/iverilog.man + $(INSTALL_DATA) $(srcdir)/iverilog.man $(DESTDIR)$(mandir)/man1/iverilog$(suffix).1 -$(prefix)/iverilog$(suffix).pdf: iverilog.pdf - $(INSTALL_DATA) iverilog.pdf $(DESTDIR)/$(prefix)/iverilog$(suffix).pdf +$(DESTDIR)$(prefix)/iverilog$(suffix).pdf: iverilog.pdf + $(INSTALL_DATA) iverilog.pdf $(DESTDIR)$(prefix)/iverilog$(suffix).pdf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(INSTALL_DOCDIR) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(INSTALL_DOCDIR) uninstall: - rm -f $(DESTDIR)/$(bindir)/iverilog$(suffix)@EXEEXT@ - rm -f $(DESTDIR)/$(mandir)/man1/iverilog$(suffix).1 + rm -f $(DESTDIR)$(bindir)/iverilog$(suffix)@EXEEXT@ + rm -f $(DESTDIR)$(mandir)/man1/iverilog$(suffix).1 + rm -f $(DESTDIR)$(prefix)/iverilog$(suffix).pdf diff --git a/ivlpp/Makefile.in b/ivlpp/Makefile.in index e62238d91..05be00402 100644 --- a/ivlpp/Makefile.in +++ b/ivlpp/Makefile.in @@ -60,16 +60,16 @@ lexor.c: lexor.lex parse.h parse.c: parse.y bison --verbose -t -d -o parse.c $(srcdir)/parse.y -install: all installdirs $(libdir)/ivl$(suffix)/ivlpp +install: all installdirs $(DESTDIR)$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ -$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@: ivlpp@EXEEXT@ - $(INSTALL_PROGRAM) ./ivlpp@EXEEXT@ $(DESTDIR)/$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ +$(DESTDIR)$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@: ivlpp@EXEEXT@ + $(INSTALL_PROGRAM) ./ivlpp@EXEEXT@ $(DESTDIR)$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(libdir)/ivl$(suffix) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ lexor.o: lexor.c parse.h globals.h main.o: main.c globals.h diff --git a/libveriuser/Makefile.in b/libveriuser/Makefile.in index 0ca5849d8..37be1f2ba 100644 --- a/libveriuser/Makefile.in +++ b/libveriuser/Makefile.in @@ -95,14 +95,14 @@ distclean: clean install:: all installdirs $(libdir64)/libveriuser$(suffix).a $(INSTALL32) -$(libdir64)/libveriuser$(suffix).a: ./libveriuser.a - $(INSTALL_DATA) ./libveriuser.a $(DESTDIR)/$(libdir64)/libveriuser$(suffix).a +$(DESTDIR)$(libdir64)/libveriuser$(suffix).a: ./libveriuser.a + $(INSTALL_DATA) ./libveriuser.a $(DESTDIR)$(libdir64)/libveriuser$(suffix).a installdirs: mkinstalldirs - $(srcdir)/mkinstalldirs $(includedir) $(DESTDIR)/$(libdir64) + $(srcdir)/mkinstalldirs $(includedir) $(DESTDIR)$(libdir64) uninstall:: - rm -f $(DESTDIR)/$(libdir64)/libveriuser$(suffix).a + rm -f $(DESTDIR)$(libdir64)/libveriuser$(suffix).a ifeq (@enable_vvp32@,yes) all32: bin32 bin32/libveriuser.a @@ -123,8 +123,8 @@ bin32/libveriuser.a: bin32/libveriuser.o install32: $(libdir)/libveriuser$(suffix).a -$(libdir)/libveriuser$(suffix).a: bin32/libveriuser.a - $(INSTALL_DATA) bin32/libveriuser.a $(DESTDIR)/$(libdir)/libveriuser$(suffix).a +$(DESTDIR)$(libdir)/libveriuser$(suffix).a: bin32/libveriuser.a + $(INSTALL_DATA) bin32/libveriuser.a $(DESTDIR)$(libdir)/libveriuser$(suffix).a uninstall:: rm -f $(DESTDIR)$(libdir)/libveriuser$(suffix).a diff --git a/tgt-edif/Makefile.in b/tgt-edif/Makefile.in index a92a139c5..31c2c2a91 100644 --- a/tgt-edif/Makefile.in +++ b/tgt-edif/Makefile.in @@ -105,42 +105,42 @@ ifeq ($(MAN),none) INSTALL_DOC = else ifeq ($(PS2PDF),none) -#INSTALL_DOC = $(mandir)/man1/iverilog-edif.1 +#INSTALL_DOC = $(DESTDIR)$(mandir)/man1/iverilog-edif.1 else -#INSTALL_DOC = $(prefix)/iverilog-edif.pdf $(mandir)/man1/iverilog-edif.1 +#INSTALL_DOC = $(DESTDIR)$(prefix)/iverilog-edif.pdf $(DESTDIR)$(mandir)/man1/iverilog-edif.1 #all: iverilog-edif.pdf endif endif else -#INSTALL_DOC = $(prefix)/iverilog-edif.pdf $(mandir)/man1/iverilog-edif.1 +#INSTALL_DOC = $(DESTDIR)$(prefix)/iverilog-edif.pdf $(DESTDIR)$(mandir)/man1/iverilog-edif.1 #INSTALL_DOCDIR = $(mandir)/man1 endif -install: all installdirs $(libdir)/ivl$(suffix)/edif.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/edif.conf $(libdir)/ivl$(suffix)/edif-s.conf +install: all installdirs $(DESTDIR)$(libdir)/ivl$(suffix)/edif.tgt $(INSTALL_DOC) $(DESTDIR)$(libdir)/ivl$(suffix)/edif.conf $(DESTDIR)$(libdir)/ivl$(suffix)/edif-s.conf -$(libdir)/ivl$(suffix)/edif.tgt: ./edif.tgt - $(INSTALL_PROGRAM) ./edif.tgt $(DESTDIR)/$(libdir)/ivl$(suffix)/edif.tgt +$(DESTDIR)$(libdir)/ivl$(suffix)/edif.tgt: ./edif.tgt + $(INSTALL_PROGRAM) ./edif.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/edif.tgt -$(libdir)/ivl$(suffix)/edif.conf: $(srcdir)/edif.conf - $(INSTALL_DATA) $(srcdir)/edif.conf $(DESTDIR)/$(libdir)/ivl$(suffix)/edif.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/edif.conf: $(srcdir)/edif.conf + $(INSTALL_DATA) $(srcdir)/edif.conf $(DESTDIR)$(libdir)/ivl$(suffix)/edif.conf -$(libdir)/ivl$(suffix)/edif-s.conf: $(srcdir)/edif-s.conf - $(INSTALL_DATA) $(srcdir)/edif-s.conf $(DESTDIR)/$(libdir)/ivl$(suffix)/edif-s.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/edif-s.conf: $(srcdir)/edif-s.conf + $(INSTALL_DATA) $(srcdir)/edif-s.conf $(DESTDIR)$(libdir)/ivl$(suffix)/edif-s.conf -$(mandir)/man1/iverilog-edif$(suffix).1: $(srcdir)/iverilog-edif.man - $(INSTALL_DATA) $(srcdir)/iverilog-edif.man $(DESTDIR)/$(mandir)/man1/iverilog-edif$(suffix).1 +$(DESTDIR)$(mandir)/man1/iverilog-edif$(suffix).1: $(srcdir)/iverilog-edif.man + $(INSTALL_DATA) $(srcdir)/iverilog-edif.man $(DESTDIR)$(mandir)/man1/iverilog-edif$(suffix).1 -$(prefix)/iverilog-edif$(suffix).pdf: iverilog-edif.pdf - $(INSTALL_DATA) iverilog-edif.pdf $(DESTDIR)/$(prefix)/iverilog-edif$(suffix).pdf +$(DESTDIR)$(prefix)/iverilog-edif$(suffix).pdf: iverilog-edif.pdf + $(INSTALL_DATA) iverilog-edif.pdf $(DESTDIR)$(prefix)/iverilog-edif$(suffix).pdf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(libdir)/ivl$(suffix) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(prefix) $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/edif.tgt - rm -f $(DESTDIR)/$(INSTALL_DOC) - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/edif-s.conf - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/edif.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/edif.tgt + rm -f $(INSTALL_DOC) + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/edif-s.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/edif.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-fpga/Makefile.in b/tgt-fpga/Makefile.in index ae2b523ee..6adc2efcb 100644 --- a/tgt-fpga/Makefile.in +++ b/tgt-fpga/Makefile.in @@ -79,6 +79,7 @@ Makefile: Makefile.in config.status ./config.status clean: + rm -f iverilog-fpga.ps iverilog-fpga.pdf rm -rf *.o dep fpga.tgt distclean: clean @@ -89,47 +90,49 @@ check: all ifeq (@WIN32@,yes) ifeq ($(MAN),none) -INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).1 else ifeq (@PS2PDF@,none) -INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).1 else -INSTALL_DOC = $(prefix)/iverilog-fpga$(suffix).pdf $(mandir)/man1/iverilog-fpga$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(prefix)/iverilog-fpga$(suffix).pdf $(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 all: iverilog-fpga.pdf endif endif INSTALL_DOCDIR = $(mandir)/man1 else -INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 endif -install: all installdirs $(libdir)/ivl$(suffix)/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/fpga.conf $(libdir)/ivl$(suffix)/fpga-s.conf +install: all installdirs $(DESTDIR)$(libdir)/ivl$(suffix)/fpga.tgt $(INSTALL_DOC) $(DESTDIR)$(libdir)/ivl$(suffix)/fpga.conf $(DESTDIR)$(libdir)/ivl$(suffix)/fpga-s.conf -$(libdir)/ivl$(suffix)/fpga.tgt: ./fpga.tgt - $(INSTALL_PROGRAM) ./fpga.tgt $(DESTDIR)/$(libdir)/ivl$(suffix)/fpga.tgt +$(DESTDIR)$(libdir)/ivl$(suffix)/fpga.tgt: ./fpga.tgt + $(INSTALL_PROGRAM) ./fpga.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/fpga.tgt -$(libdir)/ivl$(suffix)/fpga.conf: $(srcdir)/fpga.conf - $(INSTALL_DATA) $(srcdir)/fpga.conf $(DESTDIR)/$(libdir)/ivl$(suffix)/fpga.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/fpga.conf: $(srcdir)/fpga.conf + $(INSTALL_DATA) $(srcdir)/fpga.conf $(DESTDIR)$(libdir)/ivl$(suffix)/fpga.conf -$(libdir)/ivl$(suffix)/fpga-s.conf: $(srcdir)/fpga-s.conf - $(INSTALL_DATA) $(srcdir)/fpga-s.conf $(DESTDIR)/$(libdir)/ivl$(suffix)/fpga-s.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/fpga-s.conf: $(srcdir)/fpga-s.conf + $(INSTALL_DATA) $(srcdir)/fpga-s.conf $(DESTDIR)$(libdir)/ivl$(suffix)/fpga-s.conf -$(mandir)/man1/iverilog-fpga$(suffix).1: $(srcdir)/iverilog-fpga.man - $(INSTALL_DATA) $(srcdir)/iverilog-fpga.man $(DESTDIR)/$(mandir)/man1/iverilog-fpga$(suffix).1 +$(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).1: $(srcdir)/iverilog-fpga.man + $(INSTALL_DATA) $(srcdir)/iverilog-fpga.man $(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).1 -$(prefix)/iverilog-fpga$(suffix).pdf: iverilog-fpga.pdf - $(INSTALL_DATA) iverilog-fpga.pdf $(DESTDIR)/$(prefix)/iverilog-fpga$(suffix).pdf +$(DESTDIR)$(prefix)/iverilog-fpga$(suffix).pdf: iverilog-fpga.pdf + $(INSTALL_DATA) iverilog-fpga.pdf $(DESTDIR)$(prefix)/iverilog-fpga$(suffix).pdf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(libdir)/ivl$(suffix) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/fpga.tgt - rm -f $(DESTDIR)/$(INSTALL_DOC) - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/fpga-s.conf - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/fpga.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/fpga.tgt + rm -f $(INSTALL_DOC) + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/fpga-s.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/fpga.conf + rm -f $(DESTDIR)$(mandir)/man1/iverilog-fpga$(suffix).man + rm -f $(DESTDIR)$(prefix)/iverilog-fpga$(suffix).pdf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-null/Makefile.in b/tgt-null/Makefile.in index 8537d0268..60865d0b4 100644 --- a/tgt-null/Makefile.in +++ b/tgt-null/Makefile.in @@ -71,23 +71,23 @@ check: all install: all installdirs $(libdir)/ivl$(suffix)/null.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/null.conf $(libdir)/ivl$(suffix)/null-s.conf -$(libdir)/ivl$(suffix)/null.tgt: ./null.tgt - $(INSTALL_PROGRAM) ./null.tgt $(DESTDIR)/$(libdir)/ivl$(suffix)/null.tgt +$(DESTDIR)$(libdir)/ivl$(suffix)/null.tgt: ./null.tgt + $(INSTALL_PROGRAM) ./null.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/null.tgt -$(libdir)/ivl$(suffix)/null.conf: $(srcdir)/null.conf - $(INSTALL_DATA) $(srcdir)/null.conf $(DESTDIR)/$(libdir)/ivl$(suffix)/null.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/null.conf: $(srcdir)/null.conf + $(INSTALL_DATA) $(srcdir)/null.conf $(DESTDIR)$(libdir)/ivl$(suffix)/null.conf -$(libdir)/ivl$(suffix)/null-s.conf: $(srcdir)/null-s.conf - $(INSTALL_DATA) $(srcdir)/null-s.conf $(DESTDIR)/$(libdir)/ivl$(suffix)/null-s.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/null-s.conf: $(srcdir)/null-s.conf + $(INSTALL_DATA) $(srcdir)/null-s.conf $(DESTDIR)$(libdir)/ivl$(suffix)/null-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(includedir) $(DESTDIR)/$(bindir) $(DESTDIR)/$(libdir)/ivl$(suffix) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix) uninstall: - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/null.tgt - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/null.conf - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/null-s.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/null.tgt + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/null.conf + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/null-s.conf -include $(patsubst %.o, dep/%.d, $O) diff --git a/tgt-stub/Makefile.in b/tgt-stub/Makefile.in index 4d8915da8..7c6f0020f 100644 --- a/tgt-stub/Makefile.in +++ b/tgt-stub/Makefile.in @@ -76,18 +76,18 @@ install: all installdirs $(libdir)/ivl$(suffix)/stub.tgt \ $(libdir)/ivl$(suffix)/stub-s.conf \ $(includedir)/vpi_user.h -$(libdir)/ivl$(suffix)/stub.tgt: ./stub.tgt - $(INSTALL_PROGRAM) ./stub.tgt $(libdir)/ivl$(suffix)/stub.tgt +$(DESTDIR)$(libdir)/ivl$(suffix)/stub.tgt: ./stub.tgt + $(INSTALL_PROGRAM) $< $(DESTDIR)$(libdir)/ivl$(suffix)/stub.tgt -$(libdir)/ivl$(suffix)/stub.conf: stub.conf - $(INSTALL_DATA) $< $(libdir)/ivl$(suffix)/stub.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/stub.conf: stub.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/stub.conf -$(libdir)/ivl$(suffix)/stub-s.conf: stub-s.conf - $(INSTALL_DATA) $< $(libdir)/ivl$(suffix)/stub-s.conf +$(DESTDIR)$(libdir)/ivl$(suffix)/stub-s.conf: stub-s.conf + $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/stub-s.conf installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl$(suffix) + $(srcdir)/../mkinstalldirs $(DESTDIT)$(libdir)/ivl$(suffix) uninstall: rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub.tgt diff --git a/vpi/Makefile.in b/vpi/Makefile.in index 8b568619f..44147369d 100644 --- a/vpi/Makefile.in +++ b/vpi/Makefile.in @@ -99,38 +99,38 @@ bin32/system.vpi: $(addprefix bin32/,$O) install32: all32 $(vpidir32)/system.vpi -$(vpidir32)/system.vpi: bin32/system.vpi - $(INSTALL_PROGRAM) bin32/system.vpi $(DESTDIR)/$(vpidir32)/system.vpi - $(STRIP) $(strip_dynamic) $(DESTDIR)/$(vpidir32)/system.vpi +$(DESTDIR)$(vpidir32)/system.vpi: bin32/system.vpi + $(INSTALL_PROGRAM) bin32/system.vpi $(DESTDIR)$(vpidir32)/system.vpi + $(STRIP) $(strip_dynamic) $(DESTDIR)$(vpidir32)/system.vpi uninstall32: - rm -f $(DESTDIR)/$(vpidir32)/system.vpi + rm -f $(DESTDIR)$(vpidir32)/system.vpi endif clean: rm -rf *.o sys_readmem_lex.c dep system.vpi bin32 distclean: clean - rm -f Makefile + rm -f Makefile config.log config.status rm -rf autom4te.cache check: all install: all installdirs $(vpidir)/system.vpi $(libdir)/ivl$(suffix)/system.sft $(INSTALL32) -$(vpidir)/system.vpi: ./system.vpi - $(INSTALL_PROGRAM) ./system.vpi $(DESTDIR)/$(vpidir)/system.vpi - $(STRIP) $(strip_dynamic) $(DESTDIR)/$(vpidir)/system.vpi +$(DESTDIR)$(vpidir)/system.vpi: ./system.vpi + $(INSTALL_PROGRAM) ./system.vpi $(DESTDIR)$(vpidir)/system.vpi + $(STRIP) $(strip_dynamic) $(DESTDIR)$(vpidir)/system.vpi -$(libdir)/ivl$(suffix)/system.sft: system.sft - $(INSTALL_DATA) $< $(DESTDIR)/$@ +$(DESTDIR)$(libdir)/ivl$(suffix)/system.sft: system.sft + $(INSTALL_DATA) $< $(DESTDIR)$@ installdirs: ../mkinstalldirs - $(srcdir)/../mkinstalldirs $(DESTDIR)/$(vpidir) + $(srcdir)/../mkinstalldirs $(DESTDIR)$(vpidir) uninstall: $(UNINSTALL32) - rm -f $(DESTDIR)/$(vpidir)/system.vpi - rm -f $(DESTDIR)/$(libdir)/ivl$(suffix)/system.sft + rm -f $(DESTDIR)$(vpidir)/system.vpi + rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/system.sft -include $(patsubst %.o, dep/%.d, $O) diff --git a/vvp/Makefile.in b/vvp/Makefile.in index 582893149..8e78b56b4 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -71,6 +71,7 @@ all: dep vvp@EXEEXT@ libvpi.a $(ALL32) clean: rm -f *.o *~ parse.cc parse.cc.output parse.h lexor.cc tables.cc + rm -f vvp.ps vvp.pdf rm -rf dep vvp@EXEEXT@ libvpi.a bin32 distclean: clean @@ -78,7 +79,19 @@ distclean: clean rm -rf autom4te.cache check: all +ifeq (@WIN32@,yes) +ifeq (@install_suffix@,) ./vvp -M../vpi $(srcdir)/examples/hello.vvp | grep 'Hello, World.' +else + # On Windows if we have a suffix we must run the vvp test with + # a suffix since it was built/linked that way. + ln vvp.exe vvp$(suffix).exe + ./vvp$(suffix) -M../vpi $(srcdir)/examples/hello.vvp | grep 'Hello, World.' + rm -f vvp$(suffix).exe +endif +else + ./vvp -M../vpi $(srcdir)/examples/hello.vvp | grep 'Hello, World.' +endif V = vpi_modules.o vpi_callback.o vpi_const.o vpi_event.o vpi_iter.o vpi_mcd.o \ vpi_priv.o vpi_scope.o vpi_real.o vpi_signal.o vpi_tasks.o vpi_time.o \ @@ -95,10 +108,15 @@ ifeq (@WIN32@,yes) # The first step makes an ivl.exe that dlltool can use to make an # export and import library, and the last link makes a, ivl.exe # that really exports the things that the import library imports. +# that really exports the things that the import library imports. +# +# To get this to work correctly we must use the suffixed version of the +# executable to build the library. vvp@EXEEXT@ libvpi.a: $O vvp.def - $(CXX) -o vvp@EXEEXT@ $(LDFLAGS) $O $(dllib) $(LIBS) - dlltool --dllname vvp@EXEEXT@ --def vvp.def \ + $(CXX) -o vvp$(suffix)@EXEEXT@ $(LDFLAGS) $O $(dllib) $(LIBS) + dlltool --dllname vvp$(suffix)@EXEEXT@ --def vvp.def \ --output-lib libvpi.a --output-exp vvp.exp + rm -f vvp$(suffix)@EXEEXT@ $(CXX) -o vvp@EXEEXT@ vvp.exp $(LDFLAGS) $O $(dllib) $(LIBS) else libvpi.a: libvpi.c @@ -107,8 +125,8 @@ libvpi.a: libvpi.c ar cqv libvpi.a libvpi.o $(RANLIB) libvpi.a -vvp: $O - $(CXX) $(LDFLAGS) -o vvp $O $(LIBS) $(dllib) +vvp@EXEEXT@: $O + $(CXX) $(LDFLAGS) -o vvp@EXEEXT@ $O $(LIBS) $(dllib) endif dep: @@ -169,23 +187,26 @@ parse.h: parse.cc lexor.cc: $(srcdir)/lexor.lex $(LEX) -s -olexor.cc $(srcdir)/lexor.lex -vvp.pdf: $(srcdir)/vvp.man - $(MAN) -t $(srcdir)/vvp.man | $(PS2PDF) - vvp.pdf +vvp.ps: $(srcdir)/vvp.man + $(MAN) -t $(srcdir)/vvp.man > vvp.ps + +vvp.pdf: vvp.ps + $(PS2PDF) vvp.ps vvp.pdf ifeq (@WIN32@,yes) ifeq ($(MAN),none) -INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 else ifeq ($(PS2PDF),none) -INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 else -INSTALL_DOC = $(prefix)/vvp$(suffix).pdf $(mandir)/man1/vvp$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(prefix)/vvp$(suffix).pdf $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 all: vvp.pdf endif endif INSTALL_DOCDIR = $(mandir)/man1 else -INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1 +INSTALL_DOC = $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 INSTALL_DOCDIR = $(mandir)/man1 endif @@ -193,42 +214,43 @@ Makefile: Makefile.in config.status ./config.status -install: all installdirs $(bindir)/vvp$(suffix)@EXEEXT@ $(libdir64)/libvpi$(suffix).a $(INSTALL_DOC) $(INSTALL32) +install: all installdirs $(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@ $(DESTDIR)$(libdir64)/libvpi$(suffix).a $(INSTALL_DOC) $(INSTALL32) -$(bindir)/vvp$(suffix)@EXEEXT@: ./vvp@EXEEXT@ - $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(DESTDIR)/$(bindir)/vvp$(suffix)@EXEEXT@ +$(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@: ./vvp@EXEEXT@ + $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@ -$(libdir64)/libvpi$(suffix).a : ./libvpi.a - $(INSTALL_DATA) libvpi.a $(DESTDIR)/$(libdir64)/libvpi$(suffix).a +$(DESTDIR)$(libdir64)/libvpi$(suffix).a : ./libvpi.a + $(INSTALL_DATA) libvpi.a $(DESTDIR)$(libdir64)/libvpi$(suffix).a $(mandir)/man1/vvp$(suffix).1: $(srcdir)/vvp.man - $(INSTALL_DATA) $(srcdir)/vvp.man $(DESTDIR)/$(mandir)/man1/vvp$(suffix).1 + $(INSTALL_DATA) $(srcdir)/vvp.man $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 -$(prefix)/vvp.pdf: vvp.pdf - $(INSTALL_DATA) vvp.pdf $(DESTDIR)/$(prefix)/vvp$(suffix).pdf +$(DESTDIR)$(prefix)/vvp$(suffix).pdf: ./vvp.pdf + $(INSTALL_DATA) vvp.pdf $(DESTDIR)$(prefix)/vvp$(suffix).pdf installdirs: $(srcdir)/mkinstalldirs - $(srcdir)/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(libdir) \ - $(DESTDIR)/$(libdir64) $(DESTDIR)/$(INSTALL_DOCDIR) + $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) \ + $(DESTDIR)$(libdir64) $(DESTDIR)$(INSTALL_DOCDIR) ifeq (@enable_vvp32@,yes) install32: all32 $(libdir)/libvpi$(suffix).a $(bindir)/vvp32$(suffix) -$(libdir)/libvpi$(suffix).a: bin32/libvpi.a - $(INSTALL_DATA) bin32/libvpi.a $(DESTDIR)/$(libdir)/libvpi$(suffix).a +$(DESTDIR)$(libdir)/libvpi$(suffix).a: bin32/libvpi.a + $(INSTALL_DATA) bin32/libvpi.a $(DESTDIR)$(libdir)/libvpi$(suffix).a -$(bindir)/vvp32$(suffix): ./vvp32 - $(INSTALL_PROGRAM) ./vvp32 $(DESTDIR)/$(bindir)/vvp32$(suffix) +$(DESTDIR)$(bindir)/vvp32$(suffix): ./vvp32 + $(INSTALL_PROGRAM) ./vvp32 $(DESTDIR)$(bindir)/vvp32$(suffix) uninstall32: - rm -f $(DESTDIR)/$(libdir)/libvpi$(suffix).a - rm -f $(DESTDIR)/$(bindir)/vvp32$(suffix) + rm -f $(DESTDIR)$(libdir)/libvpi$(suffix).a + rm -f $(DESTDIR)$(bindir)/vvp32$(suffix) endif uninstall: $(UNINSTALL32) - rm -f $(DESTDIR)/$(bindir)/vvp$(suffix)@EXEEXT@ - rm -f $(DESTDIR)/$(libdir64)/libvpi$(suffix).a - rm -f $(DESTDIR)/$(mandir)/man1/vvp$(suffix).1 + rm -f $(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@ + rm -f $(DESTDIR)$(libdir64)/libvpi$(suffix).a + rm -f $(DESTDIR)$(mandir)/man1/vvp$(suffix).1 + rm -f $(DESTDIR)$(prefix)/vvp$(suffix).pdf -include $(patsubst %.o, dep/%.d, $O)