From f7b93c871840a20f1181fe8c64d6e151648f1236 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sat, 25 Aug 2018 07:55:48 -0400 Subject: [PATCH] Fix install test. --- Makefile.in | 14 +++++++------- nodist/install_test | 10 +++++++--- src/Makefile.in | 29 ++++++++++++++++------------- src/Makefile_obj.in | 2 +- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/Makefile.in b/Makefile.in index c087a4736..a88e163fb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -185,8 +185,8 @@ all_nomsg: verilator_exe $(VL_INST_MAN_FILES) .PHONY:verilator_coverage_bin_dbg verilator_exe verilator_bin verilator_bin_dbg verilator_coverage_bin_dbg: @echo ------------------------------------------------------------ - @echo "making verilator in src" ; \ - (cd src && $(MAKE) $(OBJCACHE_JOBS) ) + @echo "making verilator in src" + $(MAKE) -C src $(OBJCACHE_JOBS) .PHONY:msg_test msg_test: all_nomsg @@ -212,7 +212,7 @@ smoke-test: all_nomsg test_regress/t/t_a_first_sc.pl test_regress: all_nomsg - @(cd test_regress && $(MAKE)) + $(MAKE) -C test_regress examples: all_nomsg for p in examples/* ; do \ @@ -299,9 +299,9 @@ installbin: ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_coverage $(DESTDIR)$(bindir)/verilator_coverage ) ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_gantt $(DESTDIR)$(bindir)/verilator_gantt ) ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_profcfunc $(DESTDIR)$(bindir)/verilator_profcfunc ) - ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_bin $(DESTDIR)$(bindir)/verilator_bin ) - ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_bin_dbg $(DESTDIR)$(bindir)/verilator_bin_dbg ) - ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_coverage_bin_dbg $(DESTDIR)$(bindir)/verilator_coverage_bin_dbg ) + ( cd bin ; $(INSTALL_PROGRAM) verilator_bin $(DESTDIR)$(bindir)/verilator_bin ) + ( cd bin ; $(INSTALL_PROGRAM) verilator_bin_dbg $(DESTDIR)$(bindir)/verilator_bin_dbg ) + ( cd bin ; $(INSTALL_PROGRAM) verilator_coverage_bin_dbg $(DESTDIR)$(bindir)/verilator_coverage_bin_dbg ) $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(pkgdatadir)/bin ( cd ${srcdir}/bin ; $(INSTALL_PROGRAM) verilator_includer $(DESTDIR)$(pkgdatadir)/bin/verilator_includer ) @@ -480,7 +480,7 @@ maintainer-clean:: clean mostlyclean distclean maintainer-clean maintainer-copy:: for dir in $(SUBDIRS); do \ echo making $@ in $$dir ; \ - (cd $$dir && $(MAKE) $@) ; \ + $(MAKE) -C $$dir $@ ; \ done clean mostlyclean distclean maintainer-clean:: diff --git a/nodist/install_test b/nodist/install_test index e8afbb1ea..aea80740b 100755 --- a/nodist/install_test +++ b/nodist/install_test @@ -36,7 +36,6 @@ sub test { -r "nodist/install_test" or die "%Error: Run from the top of the verilator kit,"; cleanenv(); - $ENV{VERILATOR_NO_OPT_BUILD} = 1; # Don't build optimized executables; just slows this down run("make distclean") if -r "Makefile"; # Try building from a scratch area @@ -59,7 +58,7 @@ sub test { run("/bin/mkdir -p $prefix"); run("cd $blddir && make install"); run("test -e $prefix/share/man/man1/verilator.1"); - run("test -e $prefix/share/verilator/examples/test_c/Makefile"); + run("test -e $prefix/share/verilator/examples/tracing_c/Makefile"); run("test -e $prefix/share/verilator/include/verilated.h"); run("test -e $prefix/bin/verilator"); run("test -e $prefix/bin/verilator_bin"); @@ -93,6 +92,10 @@ sub test { run("cd $dir/obj_dir && make -f Vfoo.mk"); run("cd $dir/obj_dir && ./Vfoo"); } + + if ($Opt_Stage <= 9) { + print "*-* All Finished *-*\n"; + } } sub write_verilog { @@ -117,7 +120,8 @@ sub write_verilog { sub cleanenv { foreach my $var (keys %ENV) { if ($var eq "VERILATOR_ROOT" - || $var eq "VERILATOR_INCLUDE") { + || $var eq "VERILATOR_INCLUDE" + || $var eq "VERILATOR_NO_OPT_BUILD") { print "unset $var # Was '$ENV{$var}'\n"; delete $ENV{$var} } diff --git a/src/Makefile.in b/src/Makefile.in index 3ad79fd9b..f4db5ff05 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -22,9 +22,10 @@ #### Start of system configuration section. #### srcdir = @srcdir@ -VPATH = @srcdir@ PERL = @PERL@ EXEEXT = @EXEEXT@ +# VPATH only does sources; fix install_test's not creating ../bin +vpath %.h @srcdir@ #### End of system configuration section. #### @@ -42,9 +43,11 @@ UNDER_GIT = $(wildcard ${srcdir}/../.git/logs/HEAD) #********************************************************************* obj_opt: - mkdir $@ + mkdir -p $@ obj_dbg: - mkdir $@ + mkdir -p $@ +../bin: + mkdir -p $@ .SUFFIXES: @@ -52,23 +55,23 @@ obj_dbg: opt: ../bin/verilator_bin ifeq ($(VERILATOR_NO_OPT_BUILD),1) # Faster laptop development... One build -../bin/verilator_bin: ../bin/verilator_bin_dbg +../bin/verilator_bin: ../bin ../bin/verilator_bin_dbg -rm -rf $@ $@.exe -cp -p $<$(EXEEXT) $@$(EXEEXT) else -../bin/verilator_bin: obj_opt prefiles - cd obj_opt && $(MAKE) -j 1 TGT=../$@ -f ../Makefile_obj serial - cd obj_opt && $(MAKE) TGT=../$@ -f ../Makefile_obj +../bin/verilator_bin: obj_opt ../bin prefiles + $(MAKE) -C obj_opt -j 1 TGT=../$@ -f ../Makefile_obj serial + $(MAKE) -C obj_opt TGT=../$@ -f ../Makefile_obj endif dbg: ../bin/verilator_bin_dbg ../bin/verilator_coverage_bin_dbg -../bin/verilator_bin_dbg: obj_dbg prefiles - cd obj_dbg && $(MAKE) -j 1 TGT=../$@ VL_DEBUG=1 -f ../Makefile_obj serial - cd obj_dbg && $(MAKE) TGT=../$@ VL_DEBUG=1 -f ../Makefile_obj +../bin/verilator_bin_dbg: obj_dbg ../bin prefiles + $(MAKE) -C obj_dbg -j 1 TGT=../$@ VL_DEBUG=1 -f ../Makefile_obj serial + $(MAKE) -C obj_dbg TGT=../$@ VL_DEBUG=1 -f ../Makefile_obj -../bin/verilator_coverage_bin_dbg: obj_dbg prefiles - cd obj_dbg && $(MAKE) TGT=../$@ VL_DEBUG=1 VL_VLCOV=1 -f ../Makefile_obj serial_vlcov - cd obj_dbg && $(MAKE) TGT=../$@ VL_DEBUG=1 VL_VLCOV=1 -f ../Makefile_obj +../bin/verilator_coverage_bin_dbg: obj_dbg ../bin prefiles + $(MAKE) -C obj_dbg TGT=../$@ VL_DEBUG=1 VL_VLCOV=1 -f ../Makefile_obj serial_vlcov + $(MAKE) -C obj_dbg TGT=../$@ VL_DEBUG=1 VL_VLCOV=1 -f ../Makefile_obj prefiles:: prefiles:: config_rev.h diff --git a/src/Makefile_obj.in b/src/Makefile_obj.in index 950bbbc4e..50c92ff46 100644 --- a/src/Makefile_obj.in +++ b/src/Makefile_obj.in @@ -93,7 +93,7 @@ endif LIBS = -lm -lstdc++ CPPFLAGS += -MMD -CPPFLAGS += -I. -I$(bldsrc) -I$(srcdir) -I$(incdir) +CPPFLAGS += -I. -I$(bldsrc) -I$(srcdir) -I$(incdir) -I../../include CPPFLAGS += -DYYDEBUG # Required to get nice error messages #CPPFLAGS += -DVL_LEAK_CHECKS # If running valgrind or other hunting tool CPPFLAGS += $(COPT)