diff --git a/tools/templates/Makefile-backend-common.in b/tools/templates/Makefile-backend-common.in index 5fcbf030dac..29e06c76475 100644 --- a/tools/templates/Makefile-backend-common.in +++ b/tools/templates/Makefile-backend-common.in @@ -19,12 +19,14 @@ @bsv(PERL6_P)@ = @nfp(@bpm(BLIB_DIR)@/Pod.@bext@)@ @bsv(PERL6_C)@ = @nfp(@bpm(BLIB_DIR)@/Compiler.@bext@)@ @bsv(PERL6_M)@ = @nfp(@bpm(BLIB_DIR)@/Metamodel.@bext@)@ -@for_specs(@bsv(PERL6_BOOTSTRAP)@ = @nfp(blib/Perl6/BOOTSTRAP/v6@lcspec@.@bext@)@ +@for_specs(@bsv(PERL6_BOOTSTRAP_@ucspec@)@ = @nfp(blib/Perl6/BOOTSTRAP/v6@lcspec@.@bext@)@ @bsv(SETTING_@ucspec@)@ = CORE.@lcspec@.setting.@bext@ )@ -@bsv(PERL6_ML_SRC)@ = @nfp(src/vm/@backend@/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp)@ @bpm(ML_EXTRA)@ -@bsv(PERL6_OPS_SRC)@ = @nfp(src/vm/@backend@/Perl6/Ops.nqp src/Perl6/Ops.nqp)@ +@bsv(PERL6_ML_SRC)@ = @nfp(src/vm/@backend@/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp)@ @bpm(ML_EXTRA)@ +@bsv(PERL6_OPS_SRC)@ = @nfp(src/vm/@backend@/Perl6/Ops.nqp src/Perl6/Ops.nqp)@ +@bsv(PERL6_A_SRC)@ = @nfpl(src/Perl6/Actions.nqp src/Perl6/PodActions.nqp)@ +@bsv(PERL6_G_SRC)@ = @nfpl(src/Perl6/Grammar.nqp src/Perl6/PodGrammar.nqp)@ @bsv(METAMODEL_ALL_SOURCES)@ = $(COMMON_METAMODEL_SOURCES) \ @bsm(METAMODEL_SOURCES)@ @@ -49,18 +51,13 @@ )@ @bpv(CORE_ALL_SOURCES)@ =@for_specs( @bpm(CORE_@ucspec@_SOURCES)@)@ -@for_specs(@bsv(PERL6_BOOTSTRAP)@ = @nfp(blib/Perl6/BOOTSTRAP/v6@lcspec@.@bext@)@ -@bsv(SETTING)@ = CORE.@lcspec@.setting.@bext@ -)@ - @bpv(PERL6_PRECOMPS)@ = \ @bsm(PERL6_ML)@ @bsm(PERL6_W)@ @bsm(PERL6_G)@ @bsm(PERL6_OPS)@ \ @bsm(PERL6_A)@ @bsm(PERL6_O)@ @bsm(PERL6_P)@ @bsm(PERL6_C)@ \ @bsm(PERL6_M)@ -@bpv(PERL6_BOOTSTRAP_PRECOMPS)@ =@for_specs( @bsm(PERL6_BOOTSTRAP)@)@ +@bpv(PERL6_BOOTSTRAP_PRECOMPS)@ =@for_specs( @bsm(PERL6_BOOTSTRAP_@ucspec@)@)@ -@bpv(DEBUG_RUNNER)@ = perl6-debug-@backend_abbr@@bpm(RUNNER_SUFFIX)@ @bpv(RUNNER)@ = perl6-@backend_abbr@@bpm(RUNNER_SUFFIX)@ @bsv(PERL6_DEBUG)@ = perl6-debug.@bext@ @@ -72,33 +69,124 @@ @bsm(SETTING_@ucspec@)@ \)@ @bsm(PERL6)@ \ @backend_prefix@-rakudo_test_run.tar.gz \ - @nfp(@bpm(BUILD_DIR)@/*)@ \ + @nfp(@bpm(BUILD_DIR)@/*.nqp)@ \ + @nfp(@bpm(BUILD_DIR)@/*.setting)@ \ + @nfp(@bpm(BUILD_DIR)@/core_sources.*)@ \ + @nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/*.nqp)@ \ @bsm(PERL6_DEBUG)@ \ @bpm(DEBUG_RUNNER)@ \ - @bpm(RUNNER)@ \_DLL + @bpm(RUNNER)@ \ @bpm(CLEANUPS)@ @bpv(HARNESS5)@ = $(PERL5) @nfp(t/harness5)@ --@backend@ @bpv(HARNESS5_WITH_FUDGE)@ = @bpm(HARNESS5)@ --fudge --keep-exit-code # --- Pattern rules --- + +# Auto-generate gen//.nqp from sources. @nfp(@bpm(BUILD_DIR)@/%.nqp)@: - @bpm(NQP)@ @bpm(GEN_CAT)@ $? > $@ + @echo "+++ Generating\t$@" + @noecho@@bpm(NQP)@ @bpm(GEN_CAT)@ $^ > $@ + +# Auto-generate pre-compiled bytecode from source in gen//.nqp + +@nfp(@bpm(BLIB_DIR)@/BOOTSTRAP/v6%.@bext@)@ : @nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/v6%.nqp)@ + @echo "+++ Compiling\t$@" + @noecho@@bpm(NQP_RR)@ --module-path=blib --target=@btarget@ --output=$@ @bpm(COMPILER_OPTS_EXTRA)@ $< @nfp(@bpm(BLIB_DIR)@/%.@bext@)@ : @nfp(@bpm(BUILD_DIR)@/%.nqp)@ - @echo BUILDING $@ - @bpm(NQP)@ --module-path=blib --target=@btarget@ --output=$@ $< + @echo "+++ Compiling\t$@" + @noecho@@bpm(NQP)@ --module-path=blib --target=@btarget@ --output=$@ $< -@backend_prefix@-all: check_@backend_prefix@_nqp_version @bsm(PERL6)@@for_specs( @bsm(SETTING_@ucspec@)@)@ @bpm(RUNNER)@ @bpm(DEBUG_RUNNER)@ @bsm(PERL6_DEBUG)@ @bpm(ALL_TARGETS)@) +@nfp(./%.@bext@)@: @nfp(@bpm(BUILD_DIR)@/%.nqp)@ + @echo "+++ Compiling\t$@" + @noecho@@bpm(NQP_RR)@ --module-path=blib --target=@btarget@ --output=$@ @bpm(COMPILER_OPTS_EXTRA)@ $< -check_@backend_abbr@_nqp_version: @@script(check-nqp-version.pl)@@ - $(PERL5) @shquot(@script(check-nqp-version.pl)@)@ @bpm(NQP)@ +@backend_prefix@-all: check_@backend_prefix@_nqp_version @bsm(PERL6)@@for_specs( @bsm(SETTING_@ucspec@)@)@ @bpm(RUNNER)@ @bpm(DEBUG_RUNNER)@ @bsm(PERL6_DEBUG)@ @bpm(ALL_TARGETS)@ + +@backend_prefix@-test: @backend_prefix@-coretest + +@backend_prefix@-test5: @backend_prefix@-coretest5 + +@backend_prefix@fulltest: @backend_prefix@coretest @backend_prefix@stresstest + +@backend_prefix@coretest: @backend_prefix@all @backend_prefix@coretest@bpm(HARNESS_TYPE)@ -@nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@: @bsm(PERL6_ML_SRC)@ +@backend_prefix@spectest: @backend_prefix@spectest@bpm(HARNESS_TYPE)@ -@nfp(@bpm(BUILD_DIR)@/Ops.nqp)@: @bsm(PERL6_OPS_SRC)@ +@backend_prefix@quicktest: @backend_prefix@quicktest@bpm(HARNESS_TYPE)@ -@bsm(PERL6_ML)@: @nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@ @nfp(gen/nqp-version)@ +@backend_prefix@stresstest: @backend_prefix@stresstest@bpm(HARNESS_TYPE)@ -@bsm(PERL6_OPS)@: @nfp(@bpm(BUILD_DIR)@/Ops.nqp)@ @bpm(PERL6_OPS_EXTRA)@ @nfp(gen/nqp-version)@ +@backend_prefix@coretest5: @backend_prefix@all + @bpm(HARNESS5)@ @nfpl(t/01-sanity t/02-rakudo t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/09-moar t/10-qast)@ +# Run the spectests that we know work. +@backend_prefix@spectest5: @backend_prefix@testable $(SPECTEST_DATA) + @bpm(HARNESS5_WITH_FUDGE)@ --tests-from-file=$(SPECTEST_DATA) + +# Run the spectests that we know work after precompiling them. +@backend_prefix@spectest5_precompile: @backend_prefix@testable $(SPECTEST_DATA) + @bpm(HARNESS5_WITH_FUDGE)@ --precompile --tests-from-file=$(SPECTEST_DATA) + +@backend_prefix@spectest_full5: @backend_prefix@testable + @bpm(HARNESS5_WITH_FUDGE)@ @nfp(t/spec)@ + +@backend_prefix@quicktest5: @backend_prefix@testable $(SPECTEST_DATA) + @bpm(HARNESS5_WITH_FUDGE)@ --tests-from-file=$(SPECTEST_DATA) --quick + +@backend_prefix@stresstest5: @backend_prefix@testable $(SPECTEST_DATA) + @bpm(HARNESS5_WITH_FUDGE)@ --tests-from-file=$(SPECTEST_DATA) --stress + +@backend_prefix@testable : @backend_prefix@all spectest_checkout spectest_update + +check_@backend_abbr@_nqp_version: @@script(check-nqp-version.pl)@@ + @echo "+++ Checking for @backend@ NQP version" + @noecho@$(PERL5) @shquot(@script(check-nqp-version.pl)@)@ @bpm(NQP)@ + +# gen-cat sources into gen/ +@nfp(@bpm(BUILD_DIR)@/Actions.nqp)@: @bsm(PERL6_A_SRC)@ +@nfp(@bpm(BUILD_DIR)@/Compiler.nqp)@: @nfp(src/Perl6/Compiler.nqp)@ +@nfp(@bpm(BUILD_DIR)@/Grammar.nqp)@: @bsm(PERL6_G_SRC)@ +@nfp(@bpm(BUILD_DIR)@/Metamodel.nqp)@: @bsm(METAMODEL_ALL_SOURCES)@ +@nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@: @bsm(PERL6_ML_SRC)@ +@nfp(@bpm(BUILD_DIR)@/Ops.nqp)@: @bsm(PERL6_OPS_SRC)@ +@nfp(@bpm(BUILD_DIR)@/Optimizer.nqp)@: @nfp(src/Perl6/Optimizer.nqp)@ +@nfp(@bpm(BUILD_DIR)@/Pod.nqp)@: @nfp(src/Perl6/Pod.nqp)@ +@nfp(@bpm(BUILD_DIR)@/World.nqp)@: @nfp(src/Perl6/World.nqp)@ +@nfp(@bpm(BUILD_DIR)@/perl6.nqp)@: @nfp(@bpm(BUILD_DIR)@/main-version.nqp)@ @nfp(src/main.nqp)@ +@nfp(@bpm(BUILD_DIR)@/perl6-debug.nqp)@: @nfp(src/perl6-debug.nqp)@ @nfp(@bpm(BUILD_DIR)@/main-version.nqp)@ + +# Generate precompilations +@bsm(PERL6_A)@: @nfp(@bpm(BUILD_DIR)@/Actions.nqp)@ @bsm(PERL6_P)@ @bsm(PERL6_OPS)@ +@bsm(PERL6_C)@: @nfp(@bpm(BUILD_DIR)@/Compiler.nqp)@ @bsm(PERL6_O)@ +@bsm(PERL6_G)@: @nfp(@bpm(BUILD_DIR)@/Grammar.nqp)@ @bsm(PERL6_W)@ @bsm(PERL6_A)@ @bsm(PERL6_P)@ +@bsm(PERL6_M)@: @nfp(@bpm(BUILD_DIR)@/Metamodel.nqp)@ @bsm(PERL6_OPS)@ +@bsm(PERL6_ML)@: @nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@ @nfp(gen/nqp-version)@ +@bsm(PERL6_OPS)@: @nfp(@bpm(BUILD_DIR)@/Ops.nqp)@ @bpm(PERL6_OPS_EXTRA)@ @nfp(gen/nqp-version)@ +@bsm(PERL6_O)@: @nfp(@bpm(BUILD_DIR)@/Optimizer.nqp)@ @bsm(PERL6_OPS)@ +@bsm(PERL6_P)@: @nfp(@bpm(BUILD_DIR)@/Pod.nqp)@ @nfp(gen/nqp-version)@ +@bsm(PERL6_W)@: @nfp(@bpm(BUILD_DIR)@/World.nqp)@ @bsm(PERL6_ML)@ @bsm(PERL6_OPS)@ @bsm(PERL6_P)@ + +@nfp(@bpm(BUILD_DIR)@/main-version.nqp)@: @@template(main-version)@@ $(CONFIGURE_SOURCES) @bsm(METAMODEL_ALL_SOURCES)@@for_specs( @bpm(BOOTSTRAP_@ucspec_SOURCES)@ @bpm(CORE_@ucspec@_SOURCES)@)@ + @echo "+++ Expanding\t$@" + @noecho@$(CONFIGURE) --expand main-version --out @nfpq(@bpm(BUILD_DIR)@/main-version.nqp)@ + +@bsm(PERL6)@: @nfp(@bpm(BUILD_DIR)@/perl6.nqp)@ @bsm(PERL6_G)@ @bsm(PERL6_A)@ @bsm(PERL6_C)@ @bsm(PERL6_P)@ @bpm(PERL6_DEPS_EXTRA)@ + +@bsm(PERL6_DEBUG)@: @nfp(@bpm(BUILD_DIR)@/perl6-debug.nqp)@ @bsm(PERL6)@ + +@for_specs(@nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/v6@lcspec@.nqp)@: @bpm(BOOTSTRAP_@ucspec@_SOURCES)@ + +@bsm(PERL6_BOOTSTRAP_@ucspec@)@: @nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/v6@lcspec@.nqp)@ @bsm(PERL6_M)@ + +@bsm(SETTING_@ucspec@)@: @bsm(PERL6)@ @bsm(PERL6_BOOTSTRAP_@ucspec@)@ @bpm(CORE_ALL_SOURCES)@ + @echo "+++ Compiling\t$@" + @noecho@$(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \ + --out @nfpq(@bpm(BUILD_DIR)@/core_sources.@lcspec@)@ \ + --set-var=backend=@backend@ + @noecho@@bpm(NQP)@ @bpm(GEN_CAT)@ -f @nfpq(@bpm(BUILD_DIR)@/core_sources.@lcspec@)@ > @nfpq(@bpm(BUILD_DIR)@/CORE.@lcspec@.setting)@ + @echo "The following step can take a long time, please be patient." + @noecho@@bpm(SET_NQP_LIB)@@bpm(RUN_PERL6)@ --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=@btarget@ --stagestats --output=@bsm(SETTING_@ucspec@)@ @nfpq(@bpm(BUILD_DIR)@/CORE.@lcspec@.setting)@ + +)@ diff --git a/tools/templates/jvm/Makefile.in b/tools/templates/jvm/Makefile.in index ee75af8a8d5..73ca063faee 100644 --- a/tools/templates/jvm/Makefile.in +++ b/tools/templates/jvm/Makefile.in @@ -9,20 +9,20 @@ NQP_PREFIX = @nqp_prefix@ @bpv(RUNNER_SUFFX)@ = @runner_suffix@ +@bpv(DEBUG_RUNNER)@ = perl6-debug-@backend_abbr@@bpm(RUNNER_SUFFIX)@ + NQP_JARS = @nqp_jars@ BLD_NQP_JARS = @bld_nqp_jars@ RUNTIME_JAVAS = @nfp(src/vm/jvm/runtime/org/perl6/rakudo/*.java)@ RUNTIME_JAR = rakudo-runtime.jar -@include(Makefile-backend-common)@ - @bpv(BAT)@ = @runner_suffix@ # This is addition to J_ALL_METAMODEL_SOURCES @bsv(METAMODEL_SOURCES)@ = @nfp(src/vm/jvm/Perl6/Metamodel/JavaHOW.nqp)@ -@bpv(ALL_TARGETS)@ = eval-client.pl +@bpv(ALL_TARGETS)@ = eval-client.pl @bpm(DEBUG_RUNNER)@ @bpv(CLEANUPS)@ = \ $(RUNTIME_JAR) \ @@ -31,66 +31,36 @@ RUNTIME_JAR = rakudo-runtime.jar eval-client.pl @bpv(ML_EXTRA)@ = @nfp(src/vm/jvm/Perl6/JavaModuleLoader.nqp)@ +@bpv(PERL6_DEPS_EXTRA)@ = $(RUNTIME_JAR) + +@bpv(COMPILER_OPTS_EXTRA)@ = --javaclass=perl6 @bpv(HARNESS_TYPE)@ = 5 +@include(Makefile-backend-common)@ + $(RUNTIME_JAR): $(RUNTIME_JAVAS) - $(MKPATH) bin - $(JAVAC) --release 9 -cp @q($(BLD_NQP_JARS))@ -g -d bin -encoding UTF8 $(RUNTIME_JAVAS) - $(JAR) cf0 rakudo-runtime.jar -C bin@slash@ . - -@bsm(PERL6_W)@: @bsm(PERL6_ML)@ @bsm(PERL6_OPS)@ @bsm(PERL6_P)@ @nfp(src/Perl6/World.nqp)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_W)@ \ - @nfp(src/Perl6/World.nqp)@ - -@bsm(PERL6_P)@: @nfpl(src/Perl6/Pod.nqp gen/nqp-version)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_P)@ \ - @nfp(src/Perl6/Pod.nqp)@ - -@bsm(PERL6_A)@: @nfp(src/Perl6/Actions.nqp)@ @bsm(PERL6_P)@ @bsm(PERL6_OPS)@ - $(J_NQP) $(J_GEN_CAT) @nfpl(src/Perl6/Actions.nqp \ - src/Perl6/PodActions.nqp)@ > @nfpq($(J_BUILD_DIR)/Perl6-Actions.nqp)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_A)@ \ - @nfpq($(J_BUILD_DIR)/Perl6-Actions.nqp)@ - -@bsm(PERL6_G)@: @nfp(src/Perl6/Grammar.nqp)@ @bsm(PERL6_W)@ @bsm(PERL6_A)@ @bsm(PERL6_P)@ - $(J_NQP) $(J_GEN_CAT) @nfpl(src/Perl6/Grammar.nqp \ - src/Perl6/PodGrammar.nqp)@ > @nfpq($(J_BUILD_DIR)/Perl6-Grammar.nqp)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_G)@ \ - @nfpq($(J_BUILD_DIR)/Perl6-Grammar.nqp)@ - -@bsm(PERL6_O)@: @nfp(src/Perl6/Optimizer.nqp)@ @bsm(PERL6_OPS)@ - $(J_NQP) $(J_GEN_CAT) @nfp(src/Perl6/Optimizer.nqp)@ > @nfpq($(J_BUILD_DIR)/Perl6-Optimizer.nqp)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_O)@ \ - @nfpq($(J_BUILD_DIR)/Perl6-Optimizer.nqp)@ - -@bsm(PERL6_C)@: @nfp(src/Perl6/Compiler.nqp)@ @bsm(PERL6_O)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_C)@ \ - @nfp(src/Perl6/Compiler.nqp)@ - -@bsm(PERL6)@: @nfp(src/main.nqp)@ $(RUNTIME_JAR) @bsm(PERL6_G)@ @bsm(PERL6_A)@ @bsm(PERL6_C)@ @bsm(PERL6_P)@ $(J_METAMODEL_SOURCES) $(J_CORE_SOURCES)@for_specs( $(J_BOOTSTRAP_@ucspec@_SOURCES) $(J_CORE_@ucspec@_SOURCES))@ - $(CONFIGURE) --expand main-version --out @nfpq($(J_BUILD_DIR)/main-version.nqp)@ - $(J_NQP) $(J_GEN_CAT) @nfp(src/main.nqp)@ @nfpq($(J_BUILD_DIR)/main-version.nqp)@ > @nfpq($(J_BUILD_DIR)/main.nqp)@ - $(J_NQP) --module-path=blib --target=jar --javaclass=perl6 --output=@bsm(PERL6)@ \ - @nfpq($(J_BUILD_DIR)/main.nqp)@ - -@bsm(PERL6_M)@: $(J_METAMODEL_SOURCES) @bsm(PERL6_OPS)@ - $(J_NQP) $(J_GEN_CAT) $(J_METAMODEL_SOURCES) > @nfpq($(J_BUILD_DIR)/Metamodel.nqp)@ - $(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_M)@ \ - @nfpq($(J_BUILD_DIR)/Metamodel.nqp)@ - -@for_specs(@bsm(PERL6_BOOTSTRAP_@ucspec@)@: $(J_BOOTSTRAP_@ucspec@_SOURCES) @bsm(PERL6_M)@ - $(J_NQP) $(J_GEN_CAT) $(J_BOOTSTRAP_@ucspec@_SOURCES) > @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@ - $(J_RUN_NQP_RR) --module-path=blib --target=jar --output=@bsm(PERL6_BOOTSTRAP_@ucspec@)@ @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@ - -@bsm(SETTING_@ucspec@)@: @bsm(PERL6)@ @bsm(PERL6_BOOTSTRAP_@ucspec@)@ $(J_CORE_ALL_SOURCES) - $(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \ - --out @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ \ - --set-var=backend=@backend@ - $(J_NQP) $(J_GEN_CAT) -f @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ > @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@ - @echo "The following step can take a long time, please be patient." - $(J_SET_NQP_LIB)$(J_RUN_PERL6) --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=jar --stagestats --output=@bsm(SETTING_@ucspec@)@ --nqp-lib=blib @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@ -)@ + @echo "+++ Generating\t$@" + @noecho@$(MKPATH) bin + @noecho@$(JAVAC) --release 9 -cp @q($(BLD_NQP_JARS))@ -g -d bin -encoding UTF8 $(RUNTIME_JAVAS) + @noecho@$(JAR) cf0 rakudo-runtime.jar -C bin@slash@ . + +#@bsm(PERL6)@: @nfp(src/main.nqp)@ $(RUNTIME_JAR) @bsm(PERL6_G)@ @bsm(PERL6_A)@ @bsm(PERL6_C)@ @bsm(PERL6_P)@ $(J_METAMODEL_SOURCES) $(J_CORE_SOURCES)@for_specs( $(J_BOOTSTRAP_@ucspec@_SOURCES) $(J_CORE_@ucspec@_SOURCES))@ +# $(J_NQP) --module-path=blib --target=jar --javaclass=perl6 --output=@bsm(PERL6)@ \ +# @nfpq($(J_BUILD_DIR)/main.nqp)@ + +#@for_specs(@bsm(PERL6_BOOTSTRAP_@ucspec@)@: $(J_BOOTSTRAP_@ucspec@_SOURCES) @bsm(PERL6_M)@ +# $(J_NQP) $(J_GEN_CAT) $(J_BOOTSTRAP_@ucspec@_SOURCES) > @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@ +# $(J_RUN_NQP_RR) --module-path=blib --target=jar --output=@bsm(PERL6_BOOTSTRAP_@ucspec@)@ @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@ +# +#@bsm(SETTING_@ucspec@)@: @bsm(PERL6)@ @bsm(PERL6_BOOTSTRAP_@ucspec@)@ $(J_CORE_ALL_SOURCES) +# $(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \ +# --out @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ \ +# --set-var=backend=@backend@ +# $(J_NQP) $(J_GEN_CAT) -f @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ > @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@ +# @echo "The following step can take a long time, please be patient." +# $(J_SET_NQP_LIB)$(J_RUN_PERL6) --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=jar --stagestats --output=@bsm(SETTING_@ucspec@)@ --nqp-lib=blib @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@ +#)@ $(J_RUNNER): @@script(create-jvm-runner.pl)@@ $(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev . . @q($(NQP_PREFIX))@ --nqp-lib=blib @q($(NQP_JARS))@ @@ -103,42 +73,21 @@ j-runner-default: j-all $(J_NQP) --module-path=blib --target=jar --javaclass=perl6-debug --output=@bsm(PERL6_DEBUG)@ \ @nfpq($(J_BUILD_DIR)/perl6-debug.nqp)@ -$(J_DEBUG_RUNNER): @@script(create-jvm-runner.pl)@@ @bsm(PERL6_DEBUG)@ +@bpm(DEBUG_RUNNER)@: @@script(create-jvm-runner.pl)@@ @bsm(PERL6_DEBUG)@ $(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev-debug . . @q($(NQP_PREFIX))@ --nqp-lib=blib @q($(NQP_JARS))@ eval-client.pl: $(CP) @nfpq($(SDKROOT)$(NQP_PREFIX)/bin/eval-client.pl)@ . ## testing targets -j-test : j-coretest - -j-fulltest: j-coretest j-stresstest - -j-coretest: j-all - $(J_HARNESS5) @nfpl(t/01-sanity t/02-rakudo t/03-jvm t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/10-qast)@ # Run the spectests that we know work. -j-spectest: j-testable $(SPECTEST_DATA) - $(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) - -j-spectest_full: j-testable - $(J_HARNESS5_WITH_FUDGE) @nfp(t/spec)@ - -j-quicktest: j-testable $(SPECTEST_DATA) - $(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --quick - -j-stresstest: j-testable $(SPECTEST_DATA) - $(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --stress - j-rakudo_test_run.tar.gz: j-testable $(SPECTEST_DATA) - $(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --archive j-rakudo_test_run.tar.gz #spectest_smolder: rakudo_test_run.tar.gz # ./perl6 -e "shell qqx[git log -1 --pretty=format:%H].fmt(qq[curl -F architecture=@cpuarch@ -F platform=@osname@ -F revision=%s -F report_file=@rakudo_test_run.tar.gz -F username=parrot-autobot -F password=qa_rocks http://smolder.parrot.org/app/projects/process_add_report/5])" -j-testable : j-all spectest_checkout spectest_update - - # Run the tests in t/localtest.data j-localtest: j-all spectest_checkout @nfp(t/localtest.data)@ @$(J_HARNESS5_WITH_FUDGE) --tests-from-file=@nfp(t/localtest.data)@ diff --git a/tools/templates/moar/Makefile-gen-c-runner.in b/tools/templates/moar/Makefile-gen-c-runner.in index 9203bcaf60a..bf8eb790994 100644 --- a/tools/templates/moar/Makefile-gen-c-runner.in +++ b/tools/templates/moar/Makefile-gen-c-runner.in @@ -1,5 +1,6 @@ @exec_name@: @nfp(src/vm/moar/runner/main.c)@ - $(RM_F) $@ + @echo "+++ Compiling\t$@" + @noecho@$(RM_F) $@ # Using only the pkgconfig moar includes does not work, because moar.h assumes all the specific includes below. - $(M_CC) @moar::ccswitch@ @exec_path_define@ @static_nqp_home_define@ @static_perl6_home_define@ @debug_flag@ $(M_CFLAGS) $(M_MOAR_INC_PATHS) @moar::ccout@@obj_file@@moar::obj@ @nfp(src/vm/moar/runner/main.c)@ - $(M_LD) @moar::ldout@$@ $(M_LDFLAGS) $(M_MINGW_UNICODE) @obj_file@@moar::obj@ @moar::lddir@"@moar::libdir@" @c_runner_libs@ @moar_lib@ + @noecho@@bpm(CC)@ @moar::ccswitch@ @exec_path_define@ @static_nqp_home_define@ @static_perl6_home_define@ @debug_flag@ @bpm(CFLAGS)@ @bpm(MOAR_INC_PATHS)@ @moar::ccout@@obj_file@@moar::obj@ @nfp(src/vm/moar/runner/main.c)@ + @noecho@@bpm(LD)@ @moar::ldout@$@ @bpm(LDFLAGS)@ @bpm(MINGW_UNICODE)@ @obj_file@@moar::obj@ @moar::lddir@"@moar::libdir@" @c_runner_libs@ @moar_lib@ diff --git a/tools/templates/moar/Makefile-gen-runner.in b/tools/templates/moar/Makefile-gen-runner.in index c790a366729..f14d539316a 100644 --- a/tools/templates/moar/Makefile-gen-runner.in +++ b/tools/templates/moar/Makefile-gen-runner.in @@ -1,8 +1,9 @@ -$(M_@uc(@toolchain@)@_RUNNER): @@configure_script@@ $(M_C_RUNNER) $(PERL6_MOAR) $(SETTING_MOAR) @@template(perl6-@toolchain@-m)@@ @@template(perl6-debug-notice)@@ @@template(sh-prelude)@@ - $(RM_F) $(M_@uc(@toolchain@)@_RUNNER) - $(CONFIGURE) --expand @nfpq(@backend_subdir@/perl6-@toolchain@-m)@ --out @nfpq(perl6-@toolchain@-m)@ \ +@bpm(@uc(@toolchain@)@_RUNNER)@: @@configure_script@@ @bpm(C_RUNNER)@ @bsm(PERL6)@ @bsm(SETTING)@ @@template(perl6-@toolchain@-m)@@ @@template(perl6-debug-notice)@@ @@template(sh-prelude)@@ + @echo "+++ Generating\t$@" + @noecho@$(RM_F) @bpm(@uc(@toolchain@)@_RUNNER)@ + @noecho@$(CONFIGURE) --expand @nfpq(@backend_subdir@/perl6-@toolchain@-m)@ --out @nfpq(perl6-@toolchain@-m)@ \ --set-var=MOAR=$(MOAR) \ --set-var=ctx_subdir=@backend_subdir@ \ --set-var=runner_opts=@chomp(@insert(Makefile-runner_opts)@)@ - -$(CHMOD) 755 $(M_@uc(@toolchain@)@_RUNNER) + -@noecho@$(CHMOD) 755 @bpm(@uc(@toolchain@)@_RUNNER)@ diff --git a/tools/templates/moar/Makefile.in b/tools/templates/moar/Makefile.in index ea70e708b77..bbb11ba59c2 100644 --- a/tools/templates/moar/Makefile.in +++ b/tools/templates/moar/Makefile.in @@ -20,22 +20,18 @@ R_SETTING_MOAR = RESTRICTED.setting.moarvm @bpv(LIBDIR)@ = @nfp($(PERL6_HOME)/lib)@ @bpv(INCPATH)@ = @nfp($(MOAR_PREFIX)/include)@ @bpv(MOAR_INC_PATHS)@ = \ - @cincludes@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/moar)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/libatomic_ops)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/dyncall)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/moar)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/sha1)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/tinymt)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/libtommath)@ \ - @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/libuv)@ - -@include(Makefile-backend-common)@ + @moar::cincludes@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/moar)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/libatomic_ops)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/dyncall)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/moar)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/sha1)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/tinymt)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/libtommath)@ \ + @bpm(CCINC)@@nfpq(@bpm(INCPATH)@/libuv)@ @bpv(RUNNER)@ = perl6-m@moar::exe@ -@bpv(DEFAULT_RUNNER)@ = perl6@moar::exe@ -@bpv(DEFAULT_DEBUG_RUNNER)@ = perl6-debug@moar::exe@ @bpv(PERL6)@ = perl6@moar::exe@ @bpv(PERL6_DEBUG)@ = perl6-debug@moar::exe@ @bpv(PERL6_M)@ = perl6-m@moar::exe@ @@ -80,6 +76,8 @@ R_SETTING_MOAR = RESTRICTED.setting.moarvm @bpv(PERL6_OPS_EXTRA)@ = @bpm(PERL6_OPS_DLL)@ +@bpv(COMPILER_OPTS_EXTRA)@ = --vmlibs=@bpm(PERL6_OPS_DLL)@=Rakudo_ops_init + @bpv(HARNESS_TYPE)@ = $(HARNESS_TYPE) @bpv(HARNESS6)@ = @nfp(./@bpm(RUNNER)@)@ -Ilib @nfp(t/harness6)@ @@ -87,75 +85,23 @@ R_SETTING_MOAR = RESTRICTED.setting.moarvm @bpv(RUN_CLEAN_TARGET_FILES)@ = @bpm(RUN_PERL6)@ -e "for @*ARGS.head(*-1) { given (@*ARGS[*-1] ~ '.'.IO.SPEC.dir-sep ~ .IO.basename.Str) { say 'rm -f ' ~ .Str; .IO.unlink if .IO.e } }" +@include(Makefile-backend-common)@ + @bpm(PERL6_OPS_DLL)@: @bpm(PERL6_OP_DLLS_SRC)@ @bpm(PERL6_CONT_SRC)@ - @bpm(CC)@ @moar::ccswitch@ @moar::ccshared@ @bpm(CFLAGS)@ @bpm(MOAR_INC_PATHS)@ @moar::ccout@@bpm(PERL6_OPS_OBJ)@ @bpm(PERL6_OPS_DLL_SRC)@ - @bpm(CC)@ @moar::ccswitch@ @moar::ccshared@ @bpm(CFLAGS)@ @bpm(MOAR_INC_PATHS)@ @moar::ccout@@bpm(PERL6_CONT_OBJ)@ @bpm(PERL6_CONT_SRC)@ - @bpm(LD)@ @moar::ldswitch@ @moar::lddir@"@moar::libdir@" @moar::ldshared@ @bpm(LDFLAGS)@ @bpm(LDLIBS)@ @moar::ldout@@bpm(PERL6_OPS_DLL)@ @bpm(PERL6_OPS_OBJ)@ @bpm(PERL6_CONT_OBJ)@ @moar_lib@ - -$(PERL6_W_MOAR): @bsm(PERL6_ML)@ $(PERL6_OPS_MOAR) $(PERL6_P_MOAR) @nfp(src/Perl6/World.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_W_MOAR) \ - @nfp(src/Perl6/World.nqp)@ - -$(PERL6_P_MOAR): @nfpl(src/Perl6/Pod.nqp gen/nqp-version)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_P_MOAR) \ - @nfp(src/Perl6/Pod.nqp)@ - -$(PERL6_A_MOAR): @nfp(src/Perl6/Actions.nqp)@ $(PERL6_P_MOAR) $(PERL6_OPS_MOAR) - $(M_NQP) $(M_GEN_CAT) @nfpl(src/Perl6/Actions.nqp src/Perl6/PodActions.nqp)@ > @nfpq($(M_BUILD_DIR)/Perl6-Actions.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_A_MOAR) @nfpq($(M_BUILD_DIR)/Perl6-Actions.nqp)@ - -$(PERL6_G_MOAR): @nfp(src/Perl6/Grammar.nqp)@ $(PERL6_W_MOAR) $(PERL6_A_MOAR) $(PERL6_P_MOAR) - $(M_NQP) $(M_GEN_CAT) @nfpl(src/Perl6/Grammar.nqp src/Perl6/PodGrammar.nqp)@ > @nfpq($(M_BUILD_DIR)/Perl6-Grammar.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_G_MOAR) \ - @nfpq($(M_BUILD_DIR)/Perl6-Grammar.nqp)@ - -$(PERL6_O_MOAR): @nfp(src/Perl6/Optimizer.nqp)@ $(PERL6_OPS_MOAR) - $(M_NQP) $(M_GEN_CAT) @nfpl(src/Perl6/Optimizer.nqp > $(M_BUILD_DIR)/Perl6-Optimizer.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_O_MOAR) \ - @nfpq($(M_BUILD_DIR)/Perl6-Optimizer.nqp)@ - -$(PERL6_C_MOAR): @nfp(src/Perl6/Compiler.nqp)@ $(PERL6_O_MOAR) - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_C_MOAR) \ - @nfp(src/Perl6/Compiler.nqp)@ - -@nfp($(M_BUILD_DIR)/main-version.nqp)@: @@template(main-version)@@ $(CONFIGURE_SOURCES) @bsm(METAMODEL_ALL_SOURCES)@@for_specs( $(M_BOOTSTRAP_@ucspec_SOURCES) $(M_CORE_@ucspec@_SOURCES))@ - $(CONFIGURE) --expand main-version --out @nfpq($(M_BUILD_DIR)/main-version.nqp)@ - -@nfp($(M_BUILD_DIR)/main.nqp)@: @nfp($(M_BUILD_DIR)/main-version.nqp)@ @nfp(src/main.nqp)@ - $(M_NQP) $(M_GEN_CAT) @nfpl(src/main.nqp $(M_BUILD_DIR)/main-version.nqp > $(M_BUILD_DIR)/main.nqp)@ - -@bsm(PERL6)@: @nfp($(M_BUILD_DIR)/main.nqp)@ $(PERL6_G_MOAR) $(PERL6_A_MOAR) $(PERL6_C_MOAR) $(PERL6_P_MOAR) - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_MOAR) \ - --vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init @nfpq($(M_BUILD_DIR)/main.nqp)@ - -$(PERL6_M_MOAR): @bsm(METAMODEL_ALL_SOURCES)@ $(PERL6_OPS_MOAR) - $(M_NQP) $(M_GEN_CAT) -f @shquot(@template(common_metamodel_sources)@)@ > @nfpq($(M_BUILD_DIR)/Metamodel.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_M_MOAR) \ - @nfpq($(M_BUILD_DIR)/Metamodel.nqp)@ - -@for_specs($(PERL6_BOOTSTRAP_@ucspec@_MOAR): $(M_BOOTSTRAP_@ucspec@_SOURCES) $(PERL6_M_MOAR) - $(M_NQP) $(M_GEN_CAT) $(M_BOOTSTRAP_@ucspec@_SOURCES) > @nfpq($(M_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_BOOTSTRAP_@ucspec@_MOAR) \ - --vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init @nfpq($(M_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@ - -$(SETTING_@ucspec@_MOAR): $(PERL6_MOAR) $(PERL6_BOOTSTRAP_@ucspec@_MOAR) $(M_CORE_ALL_SOURCES) - $(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \ - --out @nfpq($(M_BUILD_DIR)/core_sources.@lcspec@)@ \ - --set-var=backend=@backend@ - $(M_NQP) $(M_GEN_CAT) -f @nfpq($(M_BUILD_DIR)/core_sources.@lcspec@)@ > @nfpq($(M_BUILD_DIR)/CORE.@lcspec@.setting)@ - @echo "The following step can take a long time, please be patient." - $(M_SET_NQP_LIB)$(M_RUN_PERL6) --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=mbc --stagestats --output=$(SETTING_@ucspec@_MOAR) @nfpq($(M_BUILD_DIR)/CORE.@lcspec@.setting)@ + @echo "+++ Compiling\t$@" + @noecho@@bpm(CC)@ @moar::ccswitch@ @moar::ccshared@ @bpm(CFLAGS)@ @bpm(MOAR_INC_PATHS)@ @moar::ccout@@bpm(PERL6_OPS_OBJ)@ @bpm(PERL6_OPS_DLL_SRC)@ + @noecho@@bpm(CC)@ @moar::ccswitch@ @moar::ccshared@ @bpm(CFLAGS)@ @bpm(MOAR_INC_PATHS)@ @moar::ccout@@bpm(PERL6_CONT_OBJ)@ @bpm(PERL6_CONT_SRC)@ + @noecho@@bpm(LD)@ @moar::ldswitch@ @moar::lddir@"@moar::libdir@" @moar::ldshared@ @bpm(LDFLAGS)@ @bpm(LDLIBS)@ @moar::ldout@@bpm(PERL6_OPS_DLL)@ @bpm(PERL6_OPS_OBJ)@ @bpm(PERL6_CONT_OBJ)@ @moar_lib@ -)@ -$(R_SETTING_MOAR): $(PERL6_MOAR)@for_specs( $(SETTING_@ucspec@_MOAR))@ $(R_SETTING_SRC) - $(M_RUN_PERL6) --target=mbc --ll-exception --output=$(R_SETTING_MOAR) $(R_SETTING_SRC) +$(R_SETTING_MOAR): @bsm(PERL6)@@for_specs( @bsm(SETTING_@ucspec@)@)@ $(R_SETTING_SRC) + @bpm(RUN_PERL6)@ --target=@btarget@ --ll-exception --output=$(R_SETTING_MOAR) $(R_SETTING_SRC) -m-runner-default: $(M_INST_PERL6) $(M_INST_PERL6_DEBUG) +m-runner-default: @bpm(INST_PERL6)@ @bpm(INST_PERL6_DEBUG)@ -$(PERL6_DEBUG_MOAR): @nfp(src/perl6-debug.nqp)@ $(PERL6_MOAR) - $(M_NQP) $(M_GEN_CAT) @nfpl(src/perl6-debug.nqp $(M_BUILD_DIR)/main-version.nqp > $(M_BUILD_DIR)/perl6-debug.nqp)@ - $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_DEBUG_MOAR) \ - --vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init @nfpq($(M_BUILD_DIR)/perl6-debug.nqp)@ +#@bsm(PERL6_DEBUG)@: @nfp(src/perl6-debug.nqp)@ @bsm(PERL6)@ +# $(M_NQP) $(M_GEN_CAT) @nfpl(src/perl6-debug.nqp $(M_BUILD_DIR)/main-version.nqp > $(M_BUILD_DIR)/perl6-debug.nqp)@ +# $(M_NQP) --module-path=blib --target=mbc --output=$(PERL6_DEBUG_MOAR) \ +# --vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init @nfpq($(M_BUILD_DIR)/perl6-debug.nqp)@ @perl( for my $toolchain (qw) { @@ -164,31 +110,34 @@ $(PERL6_DEBUG_MOAR): @nfp(src/perl6-debug.nqp)@ $(PERL6_MOAR) } )@ -$(M_RUNNER): @@configure_script@@ $(PERL6_MOAR)@for_specs( $(SETTING_@ucspec@_MOAR))@ @@nfp(@template(@backend_subdir@/perl6-m-build.c.in)@)@@ @@nfp(@template(@backend_subdir@/perl6-m-build.c.windows)@)@@ - $(RM_F) @q($(M_RUNNER))@ - $(CONFIGURE) --expand @nfpq(@backend_subdir@/perl6-m-build.c)@ --out perl6-m.c \ +@bpm(RUNNER)@: @@configure_script@@ @bsm(PERL6)@@for_specs( @bsm(SETTING_@ucspec@)@)@ @@nfp(@template(@backend_subdir@/perl6-m-build.c.in)@)@@ @@nfp(@template(@backend_subdir@/perl6-m-build.c.windows)@)@@ + @echo "+++ Generating\t$@" + @noecho@$(RM_F) @q(@bpm(RUNNER)@)@ + @noecho@$(CONFIGURE) --expand @nfpq(@backend_subdir@/perl6-m-build.c)@ --out perl6-m.c \ --set-var=MOAR=$(MOAR) \ --set-var=base_dir=@shquot(@nfp(@base_dir@)@)@ \ --set-var=nqp_lib_dir=@shquot(@nfp(@nqp::libdir@)@)@ \ --set-var=exec_name=@shquot(@nfp(@base_dir@/$(M_RUNNER))@)@ \ --set-var=mbc=perl6.moarvm - $(M_CC) @moar::ccswitch@ $(M_CFLAGS) @moar::ccout@perl6-m@moar::obj@ perl6-m.c - $(M_LD) @moar::ldout@$@ $(M_LDFLAGS) $(M_MINGW_UNICODE) perl6-m@moar::obj@ + @noecho@@bpm(CC)@ @moar::ccswitch@ @bpm(CFLAGS)@ @moar::ccout@perl6-m@moar::obj@ perl6-m.c + @noecho@@bpm(LD)@ @moar::ldout@$@ @bpm(LDFLAGS)@ @bpm(MINGW_UNICODE)@ perl6-m@moar::obj@ @perl( + # Use keys and values as macros to conform with possible future changes to + # variable name standards. my %execs = ( - '$(M_INST_PERL6)' => '$(M_PERL6)', - '$(M_INST_PERL6_DEBUG)' => '$(M_PERL6_DEBUG)', - '$(M_INST_PERL6_M)' => '$(M_PERL6_M)', - '$(M_INST_PERL6_DEBUG_M)' => '$(M_PERL6_DEBUG_M)', + '@bpm(INST_PERL6)@' => '@bpm(PERL6)@', + '@bpm(INST_PERL6_DEBUG)@' => '@bpm(PERL6_DEBUG)@', + '@bpm(INST_PERL6_M)@' => '@bpm(PERL6_M)@', + '@bpm(INST_PERL6_DEBUG_M)@' => '@bpm(PERL6_DEBUG_M)@', ); for my $build (keys %execs) { - my $installed = $execs{$build}; + my $installed = $macros->expand($execs{$build}); + $build = $macros->expand($build); my %vars = ( exec_name => $build, ); my $obj = $build; - $obj =~ s/\.*$//; my $qchar = $config{'quote'}; $vars{exec_path_define} = '-DSTATIC_EXEC_PATH=' . $qchar . $cfg->c_escape_string($cfg->nfp($config{'prefix'} . '/bin/' . $installed )) . $qchar @@ -201,44 +150,11 @@ $(M_RUNNER): @@configure_script@@ $(PERL6_MOAR)@for_specs( $(SETTING_@ucspec@_MO )@ ## testing targets -m-test : m-coretest$(HARNESS_TYPE) - -m-test5 : m-coretest5 +# No sense in moving this into Makefile-backend-common.in because moar backend +# is the only one supporting harness6 m-test6 : m-coretest6 -m-fulltest: m-coretest m-stresstest - - -m-coretest: m-coretest$(HARNESS_TYPE) - -m-spectest: m-spectest$(HARNESS_TYPE) - -m-quicktest: m-quicktest$(HARNESS_TYPE) - -m-stresstest: m-stresstest$(HARNESS_TYPE) - -m-coretest5: m-all - $(M_HARNESS5) @nfpl(t/01-sanity t/02-rakudo t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/09-moar t/10-qast)@ - -# Run the spectests that we know work. -m-spectest5: m-testable $(SPECTEST_DATA) - $(M_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) - -# Run the spectests that we know work after precompiling them. -m-spectest5_precompile: m-testable $(SPECTEST_DATA) - $(M_HARNESS5_WITH_FUDGE) --precompile --tests-from-file=$(SPECTEST_DATA) - -m-spectest_full5: m-testable - $(M_HARNESS5_WITH_FUDGE) @nfp(t/spec)@ - -m-quicktest5: m-testable $(SPECTEST_DATA) - $(M_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --quick - -m-stresstest5: m-testable $(SPECTEST_DATA) - $(M_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --stress - - m-coretest6: m-all $(M_HARNESS6) @nfpl(t/01-sanity t/02-rakudo t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/09-moar t/10-qast)@ @@ -255,12 +171,9 @@ m-quicktest6: m-testable $(SPECTEST_DATA) m-stresstest6: m-testable $(SPECTEST_DATA) $(M_HARNESS6_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --stress - #spectest_smolder: rakudo_test_run.tar.gz # ./perl6 -e "shell qqx[git log -1 --pretty=format:%H].fmt(qq[curl -F architecture=@cpuarch@ -F platform=@osname@ -F revision=%s -F report_file=@rakudo_test_run.tar.gz -F username=parrot-autobot -F password=qa_rocks http://smolder.parrot.org/app/projects/process_add_report/5])" -m-testable : m-all spectest_checkout spectest_update - # Run the tests in t/localtest.data m-localtest: m-all spectest_checkout @nfp(t/localtest.data)@ @$(M_HARNESS6_WITH_FUDGE) --tests-from-file=@nfp(t/localtest.data)@