Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
320 lines (258 sloc) 14.4 KB
BAT = @bat@
JAVA = java
JAVAC = javac
JAR = jar
J_RUNNER = nqp-j$(BAT)
NQP_JAR_DIR = $(NQP_LANG_DIR)/runtime
JVM_BUILD_DIR = gen/jvm
RUNTIME_JAVAS = \
src/vm/jvm/runtime/org/perl6/nqp/io/*.java \
src/vm/jvm/runtime/org/perl6/nqp/jast2bc/*.java \
src/vm/jvm/runtime/org/perl6/nqp/runtime/*.java \
src/vm/jvm/runtime/org/perl6/nqp/sixmodel/*.java \
src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/*.java \
src/vm/jvm/runtime/org/perl6/nqp/tools/*.java \
RUNTIME_JAR = nqp-runtime.jar
ASM = @asm@
ASMTREE = @asmtree@
JLINE = @jline@
JNA = @jna@
THIRDPARTY_JARS = $(ASM)@cpsep@$(ASMTREE)@cpsep@$(JLINE)@cpsep@$(JNA)
J_STAGE0_DIR = src/vm/jvm/stage0
J_STAGE1_DIR = $(JVM_BUILD_DIR)/stage1
J_STAGE2_DIR = $(JVM_BUILD_DIR)/stage2
J_STAGE0_NQP = $(JAVA) -cp $(J_STAGE0_DIR) -Xbootclasspath/a:$(J_STAGE0_DIR)@cpsep@nqp-runtime.jar@cpsep@$(THIRDPARTY_JARS)@cpsep@$(J_STAGE0_DIR)/nqp.jar nqp --bootstrap
J_STAGE1_NQP = $(JAVA) -cp $(J_STAGE1_DIR) -Xbootclasspath/a:$(J_STAGE1_DIR)@cpsep@nqp-runtime.jar@cpsep@$(THIRDPARTY_JARS)@cpsep@$(J_STAGE1_DIR)/nqp.jar nqp --bootstrap
NQP_MO_JAR = nqpmo.jar
MODULE_LOADER_JAR = ModuleLoader.jar
CORE_SETTING_JAR = NQPCORE.setting.jar
QASTNODE_JAR = QASTNode.jar
QREGEX_JAR = QRegex.jar
HLL_JAR = NQPHLL.jar
J_HLL_SOURCES = src/vm/jvm/HLL/Backend.nqp $(COMMON_HLL_SOURCES)
JASTNODES_JAR = JASTNodes.jar
JASTNODES_COMBINED = JASTNodes.nqp
JASTNODES_SOURCES = \
src/vm/jvm/QAST/JASTNodes.nqp \
QAST_JAR = QAST.jar
J_QAST_SOURCES = src/vm/jvm/QAST/Compiler.nqp
P6QREGEX_JAR = NQPP6QRegex.jar
P5QREGEX_JAR = NQPP5QRegex.jar
EVAL_CLIENT = tools/jvm/eval-client.pl
NQP_JAR = nqp.jar
J_NQP_SOURCES= src/vm/jvm/NQP/Ops.nqp $(COMMON_NQP_SOURCES)
J_STAGE1_OUTPUT = \
$(J_STAGE1_DIR)/$(NQP_MO_JAR) \
$(J_STAGE1_DIR)/$(MODULE_LOADER_JAR) \
$(J_STAGE1_DIR)/$(CORE_SETTING_JAR) \
$(J_STAGE1_DIR)/$(QASTNODE_JAR) \
$(J_STAGE1_DIR)/$(QREGEX_JAR) \
$(J_STAGE1_DIR)/$(HLL_JAR) \
$(J_STAGE1_DIR)/$(JASTNODES_JAR) \
$(J_STAGE1_DIR)/$(QAST_JAR) \
$(J_STAGE1_DIR)/$(P6QREGEX_JAR) \
$(J_STAGE1_DIR)/$(NQP_JAR) \
J_STAGE2_OUTPUT = \
$(J_STAGE2_DIR)/$(NQP_MO_JAR) \
$(J_STAGE2_DIR)/$(MODULE_LOADER_JAR) \
$(J_STAGE2_DIR)/$(CORE_SETTING_JAR) \
$(J_STAGE2_DIR)/$(QASTNODE_JAR) \
$(J_STAGE2_DIR)/$(QREGEX_JAR) \
$(J_STAGE2_DIR)/$(HLL_JAR) \
$(J_STAGE2_DIR)/$(JASTNODES_JAR) \
$(J_STAGE2_DIR)/$(QAST_JAR) \
$(J_STAGE2_DIR)/$(P6QREGEX_JAR) \
$(J_STAGE2_DIR)/$(NQP_JAR) \
ALL_OUTPUT = \
$(NQP_MO_JAR) \
$(MODULE_LOADER_JAR) \
$(CORE_SETTING_JAR) \
$(QASTNODE_JAR) \
$(QREGEX_JAR) \
$(HLL_JAR) \
$(JASTNODES_JAR) \
$(QAST_JAR) \
$(P6QREGEX_JAR) \
$(NQP_JAR) \
j-all: $(ALL_OUTPUT) $(J_RUNNER) $(P5QREGEX_JAR)
j-install: j-all
$(MKPATH) $(DESTDIR)$(BIN_DIR)
$(MKPATH) $(DESTDIR)$(NQP_JAR_DIR)
$(MKPATH) $(DESTDIR)$(NQP_LIB_DIR)
$(CP) $(ASM) $(ASMTREE) $(DESTDIR)$(NQP_JAR_DIR)
$(CP) $(JLINE) $(JNA) $(DESTDIR)$(NQP_JAR_DIR)
$(CP) $(RUNTIME_JAR) $(DESTDIR)$(NQP_JAR_DIR)
$(CP) $(NQP_MO_JAR) $(MODULE_LOADER_JAR) $(DESTDIR)$(NQP_LIB_DIR)
$(CP) $(CORE_SETTING_JAR) $(QASTNODE_JAR) $(QREGEX_JAR) $(DESTDIR)$(NQP_LIB_DIR)
$(CP) $(HLL_JAR) $(JASTNODES_JAR) $(QAST_JAR) $(P6QREGEX_JAR) $(DESTDIR)$(NQP_LIB_DIR)
$(CP) $(NQP_JAR) $(P5QREGEX_JAR) $(DESTDIR)$(NQP_LIB_DIR)
$(CP) $(EVAL_CLIENT) $(DESTDIR)$(BIN_DIR)
$(CHMOD) 0755 $(DESTDIR)$(BIN_DIR)/eval-client.pl
$(PERL) tools/build/install-jvm-runner.pl "$(DESTDIR)" $(PREFIX)
$(RUNTIME_JAR): $(RUNTIME_JAVAS) tools/build/gen-jvm-properties.pl
$(PERL) -MExtUtils::Command -e mkpath bin
$(JAVAC) -source 1.7 -cp $(THIRDPARTY_JARS) -g -d bin -encoding UTF8 $(RUNTIME_JAVAS)
$(PERL) tools/build/gen-jvm-properties.pl . $(THIRDPARTY_JARS) > jvmconfig.properties
$(PERL) tools/build/gen-jvm-properties.pl @prefix@ $(THIRDPARTY_JARS) > bin/jvmconfig.properties
$(JAR) cf0 nqp-runtime.jar -C bin/ .
J_CLEANUPS = *.class *.jar $(J_STAGE1_DIR) $(J_STAGE2_DIR) bin nqp nqp.bat jvmconfig.properties $(J_RUNNER)
j-clean:
$(RM_RF) $(J_CLEANUPS)
$(J_STAGE0_DIR): $(RUNTIME_JAR)
$(J_STAGE1_DIR): $(J_STAGE1_OUTPUT)
$(J_STAGE1_DIR)/$(NQP_MO_JAR): $(J_STAGE0_DIR) $(NQP_MO_SOURCES)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(NQP_MO_SOURCES) > $(J_STAGE1_DIR)/$(NQP_MO_COMBINED)
$(J_STAGE0_NQP) --setting=NULL --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(NQP_MO_JAR) $(J_STAGE1_DIR)/$(NQP_MO_COMBINED)
$(J_STAGE1_DIR)/$(MODULE_LOADER_JAR): $(J_STAGE0_DIR) src/vm/jvm/ModuleLoader.nqp
$(J_STAGE0_NQP) --setting=NULL --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(MODULE_LOADER_JAR) src/vm/jvm/ModuleLoader.nqp
$(J_STAGE1_DIR)/$(CORE_SETTING_JAR): $(J_STAGE0_DIR) $(CORE_SETTING_SOURCES) $(J_STAGE1_DIR)/$(NQP_MO_JAR) $(J_STAGE1_DIR)/$(MODULE_LOADER_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(CORE_SETTING_SOURCES) > $(J_STAGE1_DIR)/$(CORE_SETTING_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting=NULL --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(CORE_SETTING_JAR) $(J_STAGE1_DIR)/$(CORE_SETTING_COMBINED)
$(J_STAGE1_DIR)/$(QASTNODE_JAR): $(J_STAGE0_DIR) $(QASTNODE_SOURCES) $(J_STAGE1_DIR)/$(CORE_SETTING_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(QASTNODE_SOURCES) > $(J_STAGE1_DIR)/$(QASTNODE_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(QASTNODE_JAR) $(J_STAGE1_DIR)/$(QASTNODE_COMBINED)
$(J_STAGE1_DIR)/$(QREGEX_JAR): $(J_STAGE0_DIR) $(QREGEX_SOURCES) $(J_STAGE1_DIR)/$(QASTNODE_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(QREGEX_SOURCES) > $(J_STAGE1_DIR)/$(QREGEX_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(QREGEX_JAR) $(J_STAGE1_DIR)/$(QREGEX_COMBINED)
$(J_STAGE1_DIR)/$(HLL_JAR): $(J_STAGE0_DIR) $(J_HLL_SOURCES) $(J_STAGE1_DIR)/$(QREGEX_JAR) $(J_STAGE1_DIR)/$(JASTNODES_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(J_HLL_SOURCES) > $(J_STAGE1_DIR)/$(HLL_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(HLL_JAR) $(J_STAGE1_DIR)/$(HLL_COMBINED)
$(J_STAGE1_DIR)/$(JASTNODES_JAR): $(J_STAGE0_DIR) $(JASTNODES_SOURCES) $(J_STAGE1_DIR)/$(CORE_SETTING_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(JASTNODES_SOURCES) > $(J_STAGE1_DIR)/$(JASTNODES_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(JASTNODES_JAR) $(J_STAGE1_DIR)/$(JASTNODES_COMBINED)
$(J_STAGE1_DIR)/$(QAST_JAR): $(J_STAGE0_DIR) $(J_QAST_SOURCES) $(J_STAGE1_DIR)/$(HLL_JAR) $(J_STAGE1_DIR)/$(JASTNODES_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(J_QAST_SOURCES) > $(J_STAGE1_DIR)/$(QAST_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(QAST_JAR) $(J_STAGE1_DIR)/$(QAST_COMBINED)
$(J_STAGE1_DIR)/$(P6QREGEX_JAR): $(J_STAGE0_DIR) $(P6QREGEX_SOURCES) $(J_STAGE1_DIR)/$(QAST_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(P6QREGEX_SOURCES) > $(J_STAGE1_DIR)/$(P6QREGEX_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE1_DIR)/$(P6QREGEX_JAR) $(J_STAGE1_DIR)/$(P6QREGEX_COMBINED)
$(J_STAGE1_DIR)/$(NQP_JAR): $(J_STAGE0_DIR) $(J_NQP_SOURCES) $(J_STAGE1_DIR)/$(P6QREGEX_JAR)
$(MKPATH) $(J_STAGE1_DIR)
$(PERL) tools/build/gen-version.pl $(PREFIX) $(NQP_LIB_DIR) > $(J_STAGE1_DIR)/nqp-config.nqp
$(PERL) tools/build/gen-cat.pl jvm $(J_NQP_SOURCES) $(J_STAGE1_DIR)/nqp-config.nqp > $(J_STAGE1_DIR)/$(NQP_COMBINED)
$(J_STAGE0_NQP) --module-path=$(J_STAGE1_DIR) --setting-path=$(J_STAGE1_DIR) \
--setting=NQPCORE --target=jar --no-regex-lib --javaclass=nqp \
--output=$(J_STAGE1_DIR)/$(NQP_JAR) $(J_STAGE1_DIR)/$(NQP_COMBINED)
$(J_STAGE2_DIR): $(J_STAGE2_OUTPUT)
$(J_STAGE2_DIR)/$(NQP_MO_JAR): $(J_STAGE1_DIR) $(NQP_MO_SOURCES)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(NQP_MO_SOURCES) > $(J_STAGE2_DIR)/$(NQP_MO_COMBINED)
$(J_STAGE1_NQP) --setting=NULL --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(NQP_MO_JAR) $(J_STAGE2_DIR)/$(NQP_MO_COMBINED)
$(J_STAGE2_DIR)/$(MODULE_LOADER_JAR): $(J_STAGE1_DIR) src/vm/jvm/ModuleLoader.nqp
$(J_STAGE1_NQP) --setting=NULL --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(MODULE_LOADER_JAR) src/vm/jvm/ModuleLoader.nqp
$(J_STAGE2_DIR)/$(CORE_SETTING_JAR): $(J_STAGE1_DIR) $(CORE_SETTING_SOURCES) $(J_STAGE2_DIR)/$(NQP_MO_JAR) $(J_STAGE2_DIR)/$(MODULE_LOADER_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(CORE_SETTING_SOURCES) > $(J_STAGE2_DIR)/$(CORE_SETTING_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting=NULL --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(CORE_SETTING_JAR) $(J_STAGE2_DIR)/$(CORE_SETTING_COMBINED)
$(J_STAGE2_DIR)/$(QASTNODE_JAR): $(J_STAGE1_DIR) $(QASTNODE_SOURCES) $(J_STAGE2_DIR)/$(CORE_SETTING_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(QASTNODE_SOURCES) > $(J_STAGE2_DIR)/$(QASTNODE_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(QASTNODE_JAR) $(J_STAGE2_DIR)/$(QASTNODE_COMBINED)
$(J_STAGE2_DIR)/$(QREGEX_JAR): $(J_STAGE1_DIR) $(QREGEX_SOURCES) $(J_STAGE2_DIR)/$(QASTNODE_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(QREGEX_SOURCES) > $(J_STAGE2_DIR)/$(QREGEX_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(QREGEX_JAR) $(J_STAGE2_DIR)/$(QREGEX_COMBINED)
$(J_STAGE2_DIR)/$(HLL_JAR): $(J_STAGE1_DIR) $(J_HLL_SOURCES) $(J_STAGE2_DIR)/$(QREGEX_JAR) $(J_STAGE2_DIR)/$(JASTNODES_JAR)
$(MKPATH) $(J_STAGE2_DIR)/gen
$(PERL) tools/build/gen-cat.pl jvm $(J_HLL_SOURCES) > $(J_STAGE2_DIR)/$(HLL_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(HLL_JAR) $(J_STAGE2_DIR)/$(HLL_COMBINED)
$(J_STAGE2_DIR)/$(JASTNODES_JAR): $(J_STAGE1_DIR) $(JASTNODES_SOURCES) $(J_STAGE2_DIR)/$(CORE_SETTING_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(JASTNODES_SOURCES) > $(J_STAGE2_DIR)/$(JASTNODES_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(JASTNODES_JAR) $(J_STAGE2_DIR)/$(JASTNODES_COMBINED)
$(J_STAGE2_DIR)/$(QAST_JAR): $(J_STAGE1_DIR) $(J_QAST_SOURCES) $(J_STAGE2_DIR)/$(HLL_JAR) $(J_STAGE2_DIR)/$(JASTNODES_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(J_QAST_SOURCES) > $(J_STAGE2_DIR)/$(QAST_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(QAST_JAR) $(J_STAGE2_DIR)/$(QAST_COMBINED)
$(J_STAGE2_DIR)/$(P6QREGEX_JAR): $(J_STAGE1_DIR) $(P6QREGEX_SOURCES) $(J_STAGE2_DIR)/$(QAST_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(P6QREGEX_SOURCES) > $(J_STAGE2_DIR)/$(P6QREGEX_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --no-regex-lib --target=jar \
--output=$(J_STAGE2_DIR)/$(P6QREGEX_JAR) $(J_STAGE2_DIR)/$(P6QREGEX_COMBINED)
$(J_STAGE2_DIR)/$(NQP_JAR): $(J_STAGE1_DIR) $(J_NQP_SOURCES) $(J_STAGE2_DIR)/$(P6QREGEX_JAR)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-version.pl $(PREFIX) $(NQP_LIB_DIR) > $(J_STAGE2_DIR)/nqp-config.nqp
$(PERL) tools/build/gen-cat.pl jvm $(J_NQP_SOURCES) $(J_STAGE2_DIR)/nqp-config.nqp > $(J_STAGE2_DIR)/$(NQP_COMBINED)
$(J_STAGE1_NQP) --module-path=$(J_STAGE2_DIR) --setting-path=$(J_STAGE2_DIR) \
--setting=NQPCORE --target=jar --no-regex-lib --javaclass=nqp \
--output=$(J_STAGE2_DIR)/$(NQP_JAR) $(J_STAGE2_DIR)/$(NQP_COMBINED)
$(ALL_OUTPUT): $(J_STAGE2_OUTPUT)
$(CP) $(J_STAGE2_DIR)/$(NQP_MO_JAR) $(J_STAGE2_DIR)/$(MODULE_LOADER_JAR) .
$(CP) $(J_STAGE2_DIR)/$(CORE_SETTING_JAR) $(J_STAGE2_DIR)/$(QASTNODE_JAR) .
$(CP) $(J_STAGE2_DIR)/$(QREGEX_JAR) $(J_STAGE2_DIR)/$(HLL_JAR) $(J_STAGE2_DIR)/$(JASTNODES_JAR) .
$(CP) $(J_STAGE2_DIR)/$(QAST_JAR) $(J_STAGE2_DIR)/$(P6QREGEX_JAR) $(J_STAGE2_DIR)/$(NQP_JAR) .
$(J_RUNNER): src/vm/jvm/runners/$(J_RUNNER)
$(CP) src/vm/jvm/runners/$(J_RUNNER) .
$(CHMOD) 755 $(J_RUNNER)
j-runner-default: j-all
$(CP) $(J_RUNNER) nqp$(BAT)
$(CHMOD) 755 nqp$(BAT)
j-runner-default-install: j-runner-default j-install
$(CP) $(DESTDIR)$(BIN_DIR)/$(J_RUNNER) $(DESTDIR)$(BIN_DIR)/nqp$(BAT)
$(CHMOD) 755 $(DESTDIR)$(BIN_DIR)/nqp$(BAT)
$(P5QREGEX_JAR): $(ALL_OUTPUT) $(P5QREGEX_SOURCES)
$(MKPATH) $(J_STAGE2_DIR)
$(PERL) tools/build/gen-cat.pl jvm $(P5QREGEX_SOURCES) > $(J_STAGE2_DIR)/$(P5QREGEX_COMBINED)
.@slash@$(J_RUNNER) --target=jar --output=$(P5QREGEX_JAR) \
$(J_STAGE2_DIR)/$(P5QREGEX_COMBINED)
j-bootstrap-files: $(J_STAGE2_OUTPUT)
$(CP) $(J_STAGE2_DIR)/$(NQP_MO_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(MODULE_LOADER_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(CORE_SETTING_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(QASTNODE_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(QREGEX_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(HLL_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(JASTNODES_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(QAST_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(P6QREGEX_JAR) $(J_STAGE0_DIR)
$(CP) $(J_STAGE2_DIR)/$(NQP_JAR) $(J_STAGE0_DIR)
## testing
j-test: j-all
$(PROVE) -r --exec .@slash@$(J_RUNNER) t/nqp t/hll t/qregex t/p5regex t/qast t/serialization t/jvm t/nativecall
j-test-loud: j-all
$(PROVE) -r -v --exec .@slash@$(J_RUNNER) t/nqp t/hll t/qregex t/p5regex t/qast t/serialization t/jvm t/nativecall
j-core-test: $(J_RUNNER)
$(PROVE) -r --exec .@slash@$(J_RUNNER) t/nqp
j-core-test-loud: $(J_RUNNER)
$(PROVE) -r -v --exec .@slash@$(J_RUNNER) t/nqp
j-qregex-test: $(J_RUNNER)
$(PROVE) -r --exec .@slash@$(J_RUNNER) t/qregex
j-qregex-test-loud: $(J_RUNNER)
$(PROVE) -r -v --exec .@slash@$(J_RUNNER) t/qregex