Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Adjust Makefiles for JVM and Moar.
With this Moar and JVM both place generated source files in gen/moar and
gen/jvm respectively.
  • Loading branch information
peschwa committed Sep 14, 2015
1 parent 17d7a17 commit 92ef047
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 22 deletions.
5 changes: 4 additions & 1 deletion tools/build/Makefile-JVM.in
Expand Up @@ -243,9 +243,12 @@ J_CLEANUPS = \
J_HARNESS_WITH_FUDGE = $(PERL) t/harness --fudge --keep-exit-code --jvm
J_HARNESS = $(PERL) t/harness --jvm

j-all: $(PERL6_JAR) $(SETTING_JAR) $(J_RUNNER) lib/Test.pm.jar lib/lib.pm6.jar lib/Pod/To/Text.pm.jar \
j-all: j-gen $(PERL6_JAR) $(SETTING_JAR) $(J_RUNNER) lib/Test.pm.jar lib/lib.pm6.jar lib/Pod/To/Text.pm.jar \
lib/NativeCall.pm.jar lib/NativeCall/Types.pm.jar lib/NativeCall/Compiler/GNU.pm.jar lib/NativeCall/Compiler/MSVC.pm.jar $(PERL6_DEBUG_JAR) $(J_DEBUG_RUNNER)

j-gen:
$(MKPATH) $(J_BUILD_DIR)

$(RUNTIME_JAR): $(RUNTIME_JAVAS)
$(PERL) -MExtUtils::Command -e mkpath bin
$(JAVAC) -source 1.7 -cp $(NQP_JARS) -g -d bin -encoding UTF8 $(RUNTIME_JAVAS)
Expand Down
45 changes: 24 additions & 21 deletions tools/build/Makefile-Moar.in
Expand Up @@ -5,6 +5,8 @@ M_LDFLAGS = @moar::ldflags@ @moar::ldmiscflags@ @moar::ldoptiflags@ @moar::ldlib

M_GEN_CAT = tools/build/gen-cat.nqp moar

M_BUILD_DIR = gen/moar

MOAR = $(PREFIX)@slash@bin@slash@moar@exe@
M_NQP = $(PREFIX)@slash@bin@slash@nqp-m@runner_suffix@
M_LIBPATH = $(PREFIX)@slash@share@slash@nqp@slash@lib
Expand Down Expand Up @@ -73,9 +75,7 @@ M_CLEANUPS = \
lib/lib.pm6.moarvm \
lib/Pod/To/Text.pm.moarvm \
rakudo_test_run.tar.gz \
src/gen/m-CORE.setting \
src/gen/*.moarvm \
src/gen/*.pm \
$(M_BUILD_DIR) \
$(M_RUNNER) \
$(M_PERL6_OPS_DLL) \
$(M_PERL6_OPS_OBJ) \
Expand All @@ -88,9 +88,12 @@ M_CLEANUPS = \
M_HARNESS_WITH_FUDGE = $(PERL) t/harness --fudge --moar --keep-exit-code
HARNESS = $(PERL) t/harness

m-all: $(PERL6_MOAR) $(SETTING_MOAR) $(R_SETTING_MOAR) $(M_RUNNER) lib/Test.pm.moarvm lib/lib.pm6.moarvm lib/Pod/To/Text.pm.moarvm \
m-all: m-gen $(PERL6_MOAR) $(SETTING_MOAR) $(R_SETTING_MOAR) $(M_RUNNER) lib/Test.pm.moarvm lib/lib.pm6.moarvm lib/Pod/To/Text.pm.moarvm \
lib/NativeCall.pm.moarvm lib/NativeCall/Types.pm.moarvm lib/NativeCall/Compiler/GNU.pm.moarvm lib/NativeCall/Compiler/MSVC.pm.moarvm $(PERL6_DEBUG_MOAR) $(M_DEBUG_RUNNER) @m_all@

m-gen:
$(MKPATH) $(M_BUILD_DIR)

$(M_PERL6_OPS_DLL): $(M_PERL6_OPS_SRC) $(M_PERL6_CONT_SRC) Makefile
$(M_CC) @moar::ccswitch@ @moar::ccshared@ $(M_CFLAGS) -I$(PREFIX)/include/libatomic_ops \
-I$(PREFIX)/include/dyncall -I$(PREFIX)/include/moar \
Expand All @@ -103,9 +106,9 @@ $(M_PERL6_OPS_DLL): $(M_PERL6_OPS_SRC) $(M_PERL6_CONT_SRC) Makefile
$(M_LD) @moar::ldswitch@ -L@moar::libdir@ -lmoar @moar::ldshared@ $(M_LDFLAGS) @moar::ldout@$(M_PERL6_OPS_DLL) $(M_PERL6_OPS_OBJ) $(M_PERL6_CONT_OBJ) @moarimplib@

$(PERL6_ML_MOAR): src/Perl6/ModuleLoader.nqp src/vm/moar/ModuleLoaderVMConfig.nqp
$(M_NQP) $(M_GEN_CAT) src/vm/moar/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp > src/gen/m-ModuleLoader.nqp
$(M_NQP) $(M_GEN_CAT) src/vm/moar/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp > $(M_BUILD_DIR)/m-ModuleLoader.nqp
$(M_NQP) --target=mbc --output=$(PERL6_ML_MOAR) --encoding=utf8 \
src/gen/m-ModuleLoader.nqp
$(M_BUILD_DIR)/m-ModuleLoader.nqp

$(PERL6_OPS_MOAR): src/vm/moar/Perl6/Ops.nqp $(M_PERL6_OPS_DLL)
$(M_NQP) --target=mbc --output=$(PERL6_OPS_MOAR) --encoding=utf8 \
Expand All @@ -120,43 +123,43 @@ $(PERL6_P_MOAR): src/Perl6/Pod.nqp
src/Perl6/Pod.nqp

$(PERL6_A_MOAR): src/Perl6/Actions.nqp $(PERL6_P_MOAR) $(PERL6_OPS_MOAR)
$(M_NQP) $(M_GEN_CAT) src/Perl6/Actions.nqp > src/gen/m-Perl6-Actions.nqp
$(M_NQP) $(M_GEN_CAT) src/Perl6/Actions.nqp > $(M_BUILD_DIR)/m-Perl6-Actions.nqp
$(M_NQP) --target=mbc --output=$(PERL6_A_MOAR) --encoding=utf8 \
src/gen/m-Perl6-Actions.nqp
$(M_BUILD_DIR)/m-Perl6-Actions.nqp

$(PERL6_G_MOAR): src/Perl6/Grammar.nqp $(PERL6_W_MOAR) $(PERL6_A_MOAR) $(PERL6_P_MOAR)
$(M_NQP) --target=mbc --output=$(PERL6_G_MOAR) --encoding=utf8 \
src/Perl6/Grammar.nqp

$(PERL6_O_MOAR): src/Perl6/Optimizer.nqp $(PERL6_OPS_MOAR)
$(M_NQP) $(M_GEN_CAT) src/Perl6/Optimizer.nqp > src/gen/m-Perl6-Optimizer.nqp
$(M_NQP) $(M_GEN_CAT) src/Perl6/Optimizer.nqp > $(M_BUILD_DIR)/m-Perl6-Optimizer.nqp
$(M_NQP) --target=mbc --output=$(PERL6_O_MOAR) --encoding=utf8 \
src/gen/m-Perl6-Optimizer.nqp
$(M_BUILD_DIR)/m-Perl6-Optimizer.nqp

$(PERL6_C_MOAR): src/Perl6/Compiler.nqp $(PERL6_O_MOAR)
$(M_NQP) --target=mbc --output=$(PERL6_C_MOAR) --encoding=utf8 \
src/Perl6/Compiler.nqp

$(PERL6_MOAR): src/main.nqp $(PERL6_G_MOAR) $(PERL6_A_MOAR) $(PERL6_C_MOAR) $(PERL6_P_MOAR)
$(PERL) tools/build/gen-version.pl > src/gen/main-version.nqp
$(M_NQP) $(M_GEN_CAT) src/main.nqp src/gen/main-version.nqp > src/gen/m-main.nqp
$(PERL) tools/build/gen-version.pl > $(M_BUILD_DIR)/main-version.nqp
$(M_NQP) $(M_GEN_CAT) src/main.nqp $(M_BUILD_DIR)/main-version.nqp > $(M_BUILD_DIR)/m-main.nqp
$(M_NQP) --target=mbc --output=$(PERL6_MOAR) \
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init src/gen/m-main.nqp
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init $(M_BUILD_DIR)/m-main.nqp

$(PERL6_M_MOAR): $(M_METAMODEL_SOURCES) $(PERL6_OPS_MOAR)
$(M_NQP) $(M_GEN_CAT) -f tools/build/common_bootstrap_sources > src/gen/m-Metamodel.nqp
$(M_NQP) $(M_GEN_CAT) -f tools/build/common_bootstrap_sources > $(M_BUILD_DIR)/m-Metamodel.nqp
$(M_NQP) --target=mbc --output=$(PERL6_M_MOAR) --encoding=utf8 \
src/gen/m-Metamodel.nqp
$(M_BUILD_DIR)/m-Metamodel.nqp

$(PERL6_B_MOAR): $(BOOTSTRAP_SOURCES) $(PERL6_M_MOAR)
$(M_NQP) $(M_GEN_CAT) $(BOOTSTRAP_SOURCES) > src/gen/m-BOOTSTRAP.nqp
$(M_NQP) $(M_GEN_CAT) $(BOOTSTRAP_SOURCES) > $(M_BUILD_DIR)/m-BOOTSTRAP.nqp
$(M_NQP) --target=mbc --output=$(PERL6_B_MOAR) --encoding=utf8 \
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init src/gen/m-BOOTSTRAP.nqp
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init $(M_BUILD_DIR)/m-BOOTSTRAP.nqp

$(SETTING_MOAR): $(PERL6_MOAR) $(PERL6_B_MOAR) $(M_CORE_SOURCES)
$(M_NQP) $(M_GEN_CAT) -f tools/build/moar_core_sources > src/gen/m-CORE.setting
$(M_NQP) $(M_GEN_CAT) -f tools/build/moar_core_sources > $(M_BUILD_DIR)/m-CORE.setting
@echo "The following step can take a long time, please be patient."
$(M_RUN_PERL6) --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=$(SETTING_MOAR) src/gen/m-CORE.setting
$(M_RUN_PERL6) --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=$(SETTING_MOAR) $(M_BUILD_DIR)/m-CORE.setting

$(R_SETTING_MOAR): $(PERL6_MOAR) $(SETTING_MOAR) $(R_SETTING_SRC)
$(M_RUN_PERL6) --target=mbc --ll-exception --output=$(R_SETTING_MOAR) $(R_SETTING_SRC)
Expand All @@ -172,9 +175,9 @@ m-runner-default: $(M_RUNNER)
-$(CHMOD) 755 perl6@runner_suffix@

$(PERL6_DEBUG_MOAR): src/perl6-debug.nqp $(PERL6_MOAR)
$(M_NQP) $(M_GEN_CAT) src/perl6-debug.nqp src/gen/main-version.nqp > src/gen/m-perl6-debug.nqp
$(M_NQP) $(M_GEN_CAT) src/perl6-debug.nqp $(M_BUILD_DIR)/main-version.nqp > $(M_BUILD_DIR)/m-perl6-debug.nqp
$(M_NQP) --target=mbc --output=$(PERL6_DEBUG_MOAR) \
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init src/gen/m-perl6-debug.nqp
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init $(M_BUILD_DIR)/m-perl6-debug.nqp

$(M_DEBUG_RUNNER): tools/build/create-moar-runner.pl $(PERL6_DEBUG_MOAR)
$(PERL) tools/build/create-moar-runner.pl "$(MOAR)" perl6-debug.moarvm perl6-debug-m . "" "$(M_LIBPATH)" .
Expand Down

0 comments on commit 92ef047

Please sign in to comment.