# Makefile code generated by Configure.pl: # Generated from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/Makefile.in # Template Makefile # .NOTPARALLEL: LAUNCHER = m-runner-default all: m-all $(LAUNCHER) install: m-install $(LAUNCHER)-install clean: m-clean test: m-test qregex-test: m-qregex-test ############################################################################################## # Included from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/Makefile-common.in # ############################################################################################## # common definitions used by all backends NOECHO = @ ifdef VERBOSE_BUILD NOECHO = endif COMMON_HLL_SOURCES = \ src/HLL/Grammar.nqp \ src/HLL/Actions.nqp \ src/HLL/Compiler.nqp \ src/HLL/SysConfig.nqp \ src/HLL/CommandLine.nqp \ src/HLL/World.nqp \ src/HLL/sprintf.nqp \ HLL_COMBINED = NQPHLL.nqp CORE_SETTING_SOURCES = \ src/core/NativeTypes.nqp \ src/core/NQPRoutine.nqp \ src/core/dispatchers.nqp \ src/core/NQPMu.nqp \ src/core/NQPCapture.nqp \ src/core/IO.nqp \ src/core/Regex.nqp \ src/core/Hash.nqp \ src/core/NQPLock.nqp \ src/core/testing.nqp \ src/core/YOUAREHERE.nqp \ CORE_SETTING_COMBINED = NQPCORE.setting QASTNODE_SOURCES = \ src/QAST/CompileTimeValue.nqp \ src/QAST/SpecialArg.nqp \ src/QAST/Children.nqp \ src/QAST/Node.nqp \ src/QAST/NodeList.nqp \ src/QAST/Regex.nqp \ src/QAST/IVal.nqp \ src/QAST/NVal.nqp \ src/QAST/SVal.nqp \ src/QAST/BVal.nqp \ src/QAST/WVal.nqp \ src/QAST/Want.nqp \ src/QAST/Var.nqp \ src/QAST/VarWithFallback.nqp \ src/QAST/ParamTypeCheck.nqp \ src/QAST/Op.nqp \ src/QAST/VM.nqp \ src/QAST/Stmts.nqp \ src/QAST/Stmt.nqp \ src/QAST/Block.nqp \ src/QAST/Unquote.nqp \ src/QAST/CompUnit.nqp \ src/QAST/InlinePlaceholder.nqp \ QASTNODE_COMBINED = QASTNode.nqp P5QREGEX_SOURCES = \ src/QRegex/P5Regex/Grammar.nqp \ src/QRegex/P5Regex/Actions.nqp \ src/QRegex/P5Regex/Compiler.nqp \ P5QREGEX_COMBINED = NQPP5QRegex.nqp P6QREGEX_SOURCES = \ src/QRegex/P6Regex/Grammar.nqp \ src/QRegex/P6Regex/Actions.nqp \ src/QRegex/P6Regex/Compiler.nqp \ src/QRegex/P6Regex/Optimizer.nqp \ P6QREGEX_COMBINED = NQPP6QRegex.nqp QREGEX_SOURCES = \ src/QRegex/NFA.nqp \ src/QRegex/Cursor.nqp \ QREGEX_COMBINED = QRegex.nqp COMMON_NQP_SOURCES = \ src/NQP/World.nqp \ src/NQP/Grammar.nqp \ src/NQP/Optimizer.nqp \ src/NQP/Actions.nqp \ src/NQP/Compiler.nqp \ NQP_COMBINED = NQP.nqp # No QAST_SOURCES because it's just a single file that does not need combining QAST_COMBINED = QAST.nqp NQP_MO_SOURCES = \ src/how/Archetypes.nqp \ src/how/RoleToRoleApplier.nqp \ src/how/NQPConcreteRoleHOW.nqp \ src/how/RoleToClassApplier.nqp \ src/how/NQPCurriedRoleHOW.nqp \ src/how/NQPParametricRoleHOW.nqp \ src/how/NQPClassHOW.nqp \ src/how/NQPNativeHOW.nqp \ src/how/NQPAttribute.nqp \ src/how/NQPModuleHOW.nqp \ src/how/EXPORTHOW.nqp \ NQP_MO_COMBINED = nqpmo.nqp COMMON_SOURCES = \ $(CORE_SETTING_SOURCES) \ $(QASTNODE_SOURCES) \ $(P5QREGEX_SOURCES) \ $(P6QREGEX_SOURCES) \ $(QREGEX_SOURCES) \ $(NQP_MO_SOURCES) \ BAT = PERL5 = '/usr/local/bin/perl' CONFIGURE = $(PERL5) '/friends/.rakubrew/versions/moar-main/nqp/Configure.pl' --git-protocol='https' --git-cache-dir='/friends/.rakubrew/git_reference' --no-relocatable --no-ignore-errors --backends=moar --prefix='/friends/.rakubrew/versions/moar-main/install' --silent-build MKPATH = mkdir -p -- CHMOD = chmod -- CP = cp -- RM_RF = rm -rf -- RM_F = rm -f -- RM_L = rm -f -- SHELL = sh SYSROOT = PREFIX = /friends/.rakubrew/versions/moar-main/install BIN_DIR = /friends/.rakubrew/versions/moar-main/install/bin NQP_HOME = /friends/.rakubrew/versions/moar-main/install/share/nqp STATIC_NQP_HOME = /friends/.rakubrew/versions/moar-main/install/share/nqp NQP_LIB_DIR = $(NQP_HOME)/lib PROVE_OPTIONS = -j0$(TEST_JOBS) PROVE = prove $(PROVE_OPTIONS) BASE_DIR = /friends/.rakubrew/versions/moar-main/nqp # vim: ft=make noexpandtab ts=4 sw=4 ############################################################################################################# # End of section included from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/Makefile-common.in # ############################################################################################################# ############################################################################################ # Included from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/moar/Makefile.in # ############################################################################################ M_NQP = nqp M_NQP_M = nqp-m M_BUILD_RUNNER = nqp-m M_BUILD_RUNNER_BIN = $(BASE_DIR)/$(M_BUILD_RUNNER) M_INST_NQP = inst-nqp M_INST_NQP_M = inst-nqp-m NQP_LIB_DIR_MOAR = $(NQP_LIB_DIR) # It's ok to shell quote this one as it only used in a command line # FIXME: M_CLEANUPS_EXTRA = \ nqpmc \ nqp-m.c \ nqp-m.o \ nqp.c \ nqp.o \ inst-nqp-m.o \ $(M_INST_NQP_M) \ inst-nqp.o \ $(M_INST_NQP) M_MOAR_INC_PATHS = \ -I'/friends/.rakubrew/versions/moar-main/install/include' \ -I'/friends/.rakubrew/versions/moar-main/install/include/moar' \ -I'/friends/.rakubrew/versions/moar-main/install/include/libuv' \ -I'/friends/.rakubrew/versions/moar-main/install/include/libtommath' \ -I'/friends/.rakubrew/versions/moar-main/install/include/dyncall' \ -I'/friends/.rakubrew/versions/moar-main/install/include/mimalloc' M_STAGE1_GEN_CAT = $(M_GEN_CAT) stage1 M_STAGE2_GEN_CAT = $(M_GEN_CAT) stage2 M_STAGE0_NQP = '/friends/.rakubrew/versions/moar-main/install/bin/moar' --libpath=$(M_STAGE0_DIR) $(M_STAGE0_DIR)/nqp.moarvm --bootstrap M_STAGE1_NQP = '/friends/.rakubrew/versions/moar-main/install/bin/moar' --libpath=$(M_STAGE1_DIR) $(M_STAGE1_DIR)/nqp.moarvm --bootstrap ASTOPS_MOAR = MASTOps.moarvm M_ASTOPS_SOURCES = /friends/.rakubrew/versions/moar-main/install/share/nqp/lib/MAST/Ops.nqp M_ASTNODES_SOURCES = /friends/.rakubrew/versions/moar-main/install/share/nqp/lib/MAST/Nodes.nqp M_NQP_SOURCES_EXTRA = src/vm/moar/NQP/Ops.nqp M_EXTRA_TESTS = t/concurrency ###################################################################################################### # Included from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/Makefile-backend-common.in # ###################################################################################################### M_GEN_CAT = $(PERL5) '/friends/.rakubrew/versions/moar-main/nqp/tools/build/gen-cat.pl' moar M_BUILD_DIR = gen/moar M_STAGE0_DIR = src/vm/moar/stage0 M_STAGE1_DIR = $(M_BUILD_DIR)/stage1 M_STAGE2_DIR = $(M_BUILD_DIR)/stage2 NQP_MO_MOAR = nqpmo.moarvm MODULE_LOADER_MOAR = ModuleLoader.moarvm CORE_SETTING_MOAR = NQPCORE.setting.moarvm QASTNODE_MOAR = QASTNode.moarvm QREGEX_MOAR = QRegex.moarvm HLL_MOAR = NQPHLL.moarvm QAST_MOAR = QAST.moarvm P6QREGEX_MOAR = NQPP6QRegex.moarvm P5QREGEX_MOAR = NQPP5QRegex.moarvm M_PRECOMP_STAGE1_FLAGS = --stable-sc=stage1 M_PRECOMP_STAGE2_FLAGS = M_HLL_SOURCES = src/vm/moar/HLL/Backend.nqp $(COMMON_HLL_SOURCES) M_QAST_SOURCES = \ src/vm/moar/QAST/QASTRegexCompilerMAST.nqp \ src/vm/moar/QAST/QASTOperationsMAST.nqp \ src/vm/moar/QAST/QASTCompilerMAST.nqp M_MODULE_LOADER_SOURCES = src/vm/moar/ModuleLoader.nqp NQP_MOAR = nqp.moarvm M_NQP_SOURCES = $(M_NQP_SOURCES_EXTRA) $(COMMON_NQP_SOURCES) M_SOURCES = \ $(COMMON_SOURCES) \ $(M_QAST_SOURCES) \ $(M_HLL_SOURCES) \ $(M_NQP_SOURCES) \ $(M_MODULE_LOADER_SOURCES) ASTNODES_MOAR = MASTNodes.moarvm M_STAGE1_OUTPUT = \ $(M_STAGE1_DIR)/$(NQP_MO_MOAR) \ $(M_STAGE1_DIR)/$(MODULE_LOADER_MOAR) \ $(M_STAGE1_DIR)/$(CORE_SETTING_MOAR) \ $(M_STAGE1_DIR)/$(QASTNODE_MOAR) \ $(M_STAGE1_DIR)/$(QREGEX_MOAR) \ $(M_STAGE1_DIR)/$(HLL_MOAR) \ $(M_STAGE1_DIR)/$(ASTOPS_MOAR) \ $(M_STAGE1_DIR)/$(ASTNODES_MOAR) \ $(M_STAGE1_DIR)/$(QAST_MOAR) \ $(M_STAGE1_DIR)/$(P6QREGEX_MOAR) \ $(M_STAGE1_DIR)/$(NQP_MOAR) M_STAGE2_OUTPUT = \ $(M_STAGE2_DIR)/$(NQP_MO_MOAR) \ $(M_STAGE2_DIR)/$(MODULE_LOADER_MOAR) \ $(M_STAGE2_DIR)/$(CORE_SETTING_MOAR) \ $(M_STAGE2_DIR)/$(QASTNODE_MOAR) \ $(M_STAGE2_DIR)/$(QREGEX_MOAR) \ $(M_STAGE2_DIR)/$(HLL_MOAR) \ $(M_STAGE2_DIR)/$(ASTOPS_MOAR) \ $(M_STAGE2_DIR)/$(ASTNODES_MOAR) \ $(M_STAGE2_DIR)/$(QAST_MOAR) \ $(M_STAGE2_DIR)/$(P6QREGEX_MOAR) \ $(M_STAGE2_DIR)/$(NQP_MOAR) m-all:: m-dirs m-dirs:: @echo '+++ Preparing MOAR build directories' $(NOECHO)$(MKPATH) $(M_STAGE1_DIR) $(M_STAGE2_DIR) m-stage0:: @echo '++++++ Building MOAR backend' # --- MOAR STAGE1 RULES --- STAGE1_DEPS_MOAR = $(M_STAGE0_DIR) $(M_STAGE0_DIR)/$(NQP_MOAR) m-stage1:: m-stage0 $(M_STAGE1_OUTPUT) # Combined sources M_NQP_MO_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(NQP_MO_COMBINED) M_CORE_SETTING_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(CORE_SETTING_COMBINED) M_QASTNODE_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(QASTNODE_COMBINED) M_QAST_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(QAST_COMBINED) M_ASTNODES_COMBINED_STAGE1 = $(M_STAGE1_DIR)/MASTNodes.nqp M_QREGEX_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(QREGEX_COMBINED) M_HLL_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(HLL_COMBINED) M_P6QREGEX_COMBINED_STAGE1 = $(M_STAGE1_DIR)/$(P6QREGEX_COMBINED) # Precompiled files NQP_MO_STAGE1_MOAR = $(M_STAGE1_DIR)/$(NQP_MO_MOAR) MODULE_LOADER_STAGE1_MOAR = $(M_STAGE1_DIR)/$(MODULE_LOADER_MOAR) CORE_SETTING_STAGE1_MOAR = $(M_STAGE1_DIR)/$(CORE_SETTING_MOAR) QASTNODE_STAGE1_MOAR = $(M_STAGE1_DIR)/$(QASTNODE_MOAR) ifdef ASTOPS_MOAR ASTOPS_STAGE1_MOAR = $(M_STAGE1_DIR)/$(ASTOPS_MOAR) else ASTOPS_STAGE1_MOAR = endif ASTNODES_STAGE1_MOAR = $(M_STAGE1_DIR)/$(ASTNODES_MOAR) QREGEX_STAGE1_MOAR = $(M_STAGE1_DIR)/$(QREGEX_MOAR) HLL_STAGE1_MOAR = $(M_STAGE1_DIR)/$(HLL_MOAR) QAST_STAGE1_MOAR = $(M_STAGE1_DIR)/$(QAST_MOAR) P6QREGEX_STAGE1_MOAR = $(M_STAGE1_DIR)/$(P6QREGEX_MOAR) NQP_STAGE1_MOAR = $(M_STAGE1_DIR)/$(NQP_MOAR) # Building rules $(M_STAGE1_DIR): $(M_STAGE1_OUTPUT) $(M_NQP_MO_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(NQP_MO_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(NQP_MO_SOURCES) > $@ $(M_CORE_SETTING_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(CORE_SETTING_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(CORE_SETTING_SOURCES) > $@ $(M_QASTNODE_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(QASTNODE_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(QASTNODE_SOURCES) > $@ $(M_ASTNODES_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(M_ASTNODES_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(M_ASTNODES_SOURCES) > $@ $(M_QREGEX_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(QREGEX_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(QREGEX_SOURCES) > $@ $(M_HLL_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(M_HLL_SOURCES) $(M_STAGE1_DIR)/nqp-config.nqp @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(M_HLL_SOURCES) $(M_STAGE1_DIR)/nqp-config.nqp > $@ $(M_QAST_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(M_QAST_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(M_QAST_SOURCES) > $@ $(M_P6QREGEX_COMBINED_STAGE1): $(STAGE1_DEPS_MOAR) $(P6QREGEX_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE1_GEN_CAT) $(P6QREGEX_SOURCES) > $@ $(NQP_MO_STAGE1_MOAR): $(M_NQP_MO_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --no-regex-lib --target=mbc --setting=NULL $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_NQP_MO_COMBINED_STAGE1) $(MODULE_LOADER_STAGE1_MOAR): $(M_MODULE_LOADER_SOURCES) $(STAGE1_DEPS_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --no-regex-lib --target=mbc --setting=NULL $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_MODULE_LOADER_SOURCES) $(CORE_SETTING_STAGE1_MOAR): $(M_CORE_SETTING_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(NQP_MO_STAGE1_MOAR) $(MODULE_LOADER_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NULL $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_CORE_SETTING_COMBINED_STAGE1) $(QASTNODE_STAGE1_MOAR): $(M_QASTNODE_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(CORE_SETTING_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_QASTNODE_COMBINED_STAGE1) $(ASTOPS_STAGE1_MOAR): $(M_ASTOPS_SOURCES) $(STAGE1_DEPS_MOAR) $(CORE_SETTING_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_ASTOPS_SOURCES) $(ASTNODES_STAGE1_MOAR): $(M_ASTNODES_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(CORE_SETTING_STAGE1_MOAR) $(ASTOPS_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_ASTNODES_COMBINED_STAGE1) $(QREGEX_STAGE1_MOAR): $(M_QREGEX_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(QASTNODE_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_QREGEX_COMBINED_STAGE1) $(HLL_STAGE1_MOAR): $(M_HLL_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(QREGEX_STAGE1_MOAR) $(ASTNODES_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_HLL_COMBINED_STAGE1) $(QAST_STAGE1_MOAR): $(M_QAST_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(HLL_STAGE1_MOAR) $(ASTNODES_STAGE1_MOAR) $(ASTOPS_STAGE1_MOAR) $(QREGEX_STAGE1_MOAR) $(QASTNODE_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_QAST_COMBINED_STAGE1) $(P6QREGEX_STAGE1_MOAR): $(M_P6QREGEX_COMBINED_STAGE1) $(STAGE1_DEPS_MOAR) $(HLL_STAGE1_MOAR) $(QREGEX_STAGE1_MOAR) $(QAST_STAGE1_MOAR) $(QASTNODE_STAGE1_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE0_NQP) --setting-path=$(M_STAGE1_DIR) --module-path=$(M_STAGE1_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE1_FLAGS) --output=$@ $(M_P6QREGEX_COMBINED_STAGE1) $(M_STAGE1_DIR)/nqp-config.nqp: $(M_SOURCES) @echo '+++ Generating stage 1 nqp-config.nqp' $(NOECHO)$(PERL5) '/friends/.rakubrew/versions/moar-main/nqp/tools/build/gen-version.pl' '$(PREFIX)' '$(STATIC_NQP_HOME)' '$(NQP_LIB_DIR)' moar > '$(M_STAGE1_DIR)/nqp-config.nqp' $(M_STAGE1_DIR)/$(NQP_MOAR): $(NQP_STAGE0_MOAR) $(M_STAGE1_DIR)/$(QAST_MOAR) $(M_STAGE1_DIR)/$(P6QREGEX_MOAR) $(M_SOURCES) @echo '+++ Creating stage 1 NQP' $(NOECHO)$(M_STAGE1_GEN_CAT) $(M_NQP_SOURCES) > '$(M_STAGE1_DIR)/$(NQP_COMBINED)' $(NOECHO)$(M_STAGE0_NQP) --module-path='$(M_STAGE1_DIR)' --setting-path='$(M_STAGE1_DIR)' \ --setting=NQPCORE --target=mbc --no-regex-lib $(M_PRECOMP_STAGE1_FLAGS) $(M_NQP_STAGE1_FLAGS) \ --output='$(M_STAGE1_DIR)/$(NQP_MOAR)' '$(M_STAGE1_DIR)/$(NQP_COMBINED)' # --- MOAR STAGE2 RULES --- STAGE2_DEPS_MOAR = $(M_STAGE1_DIR) $(M_STAGE1_DIR)/$(NQP_MOAR) m-stage2:: m-stage1 $(M_STAGE2_OUTPUT) # Combined sources M_NQP_MO_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(NQP_MO_COMBINED) M_CORE_SETTING_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(CORE_SETTING_COMBINED) M_QASTNODE_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(QASTNODE_COMBINED) M_QAST_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(QAST_COMBINED) M_ASTNODES_COMBINED_STAGE2 = $(M_STAGE2_DIR)/MASTNodes.nqp M_QREGEX_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(QREGEX_COMBINED) M_HLL_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(HLL_COMBINED) M_P6QREGEX_COMBINED_STAGE2 = $(M_STAGE2_DIR)/$(P6QREGEX_COMBINED) # Precompiled files NQP_MO_STAGE2_MOAR = $(M_STAGE2_DIR)/$(NQP_MO_MOAR) MODULE_LOADER_STAGE2_MOAR = $(M_STAGE2_DIR)/$(MODULE_LOADER_MOAR) CORE_SETTING_STAGE2_MOAR = $(M_STAGE2_DIR)/$(CORE_SETTING_MOAR) QASTNODE_STAGE2_MOAR = $(M_STAGE2_DIR)/$(QASTNODE_MOAR) ifdef ASTOPS_MOAR ASTOPS_STAGE2_MOAR = $(M_STAGE2_DIR)/$(ASTOPS_MOAR) else ASTOPS_STAGE2_MOAR = endif ASTNODES_STAGE2_MOAR = $(M_STAGE2_DIR)/$(ASTNODES_MOAR) QREGEX_STAGE2_MOAR = $(M_STAGE2_DIR)/$(QREGEX_MOAR) HLL_STAGE2_MOAR = $(M_STAGE2_DIR)/$(HLL_MOAR) QAST_STAGE2_MOAR = $(M_STAGE2_DIR)/$(QAST_MOAR) P6QREGEX_STAGE2_MOAR = $(M_STAGE2_DIR)/$(P6QREGEX_MOAR) NQP_STAGE2_MOAR = $(M_STAGE2_DIR)/$(NQP_MOAR) # Building rules $(M_STAGE2_DIR): $(M_STAGE2_OUTPUT) $(M_NQP_MO_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(NQP_MO_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(NQP_MO_SOURCES) > $@ $(M_CORE_SETTING_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(CORE_SETTING_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(CORE_SETTING_SOURCES) > $@ $(M_QASTNODE_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(QASTNODE_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(QASTNODE_SOURCES) > $@ $(M_ASTNODES_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(M_ASTNODES_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(M_ASTNODES_SOURCES) > $@ $(M_QREGEX_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(QREGEX_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(QREGEX_SOURCES) > $@ $(M_HLL_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(M_HLL_SOURCES) $(M_STAGE2_DIR)/nqp-config.nqp @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(M_HLL_SOURCES) $(M_STAGE2_DIR)/nqp-config.nqp > $@ $(M_QAST_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(M_QAST_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(M_QAST_SOURCES) > $@ $(M_P6QREGEX_COMBINED_STAGE2): $(STAGE2_DEPS_MOAR) $(P6QREGEX_SOURCES) @echo '+++ Generating $@' $(NOECHO)$(M_STAGE2_GEN_CAT) $(P6QREGEX_SOURCES) > $@ $(NQP_MO_STAGE2_MOAR): $(M_NQP_MO_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --no-regex-lib --target=mbc --setting=NULL $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_NQP_MO_COMBINED_STAGE2) $(MODULE_LOADER_STAGE2_MOAR): $(M_MODULE_LOADER_SOURCES) $(STAGE2_DEPS_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --no-regex-lib --target=mbc --setting=NULL $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_MODULE_LOADER_SOURCES) $(CORE_SETTING_STAGE2_MOAR): $(M_CORE_SETTING_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(NQP_MO_STAGE2_MOAR) $(MODULE_LOADER_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NULL $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_CORE_SETTING_COMBINED_STAGE2) $(QASTNODE_STAGE2_MOAR): $(M_QASTNODE_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(CORE_SETTING_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_QASTNODE_COMBINED_STAGE2) $(ASTOPS_STAGE2_MOAR): $(M_ASTOPS_SOURCES) $(STAGE2_DEPS_MOAR) $(CORE_SETTING_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_ASTOPS_SOURCES) $(ASTNODES_STAGE2_MOAR): $(M_ASTNODES_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(CORE_SETTING_STAGE2_MOAR) $(ASTOPS_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_ASTNODES_COMBINED_STAGE2) $(QREGEX_STAGE2_MOAR): $(M_QREGEX_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(QASTNODE_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_QREGEX_COMBINED_STAGE2) $(HLL_STAGE2_MOAR): $(M_HLL_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(QREGEX_STAGE2_MOAR) $(ASTNODES_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_HLL_COMBINED_STAGE2) $(QAST_STAGE2_MOAR): $(M_QAST_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(HLL_STAGE2_MOAR) $(ASTNODES_STAGE2_MOAR) $(ASTOPS_STAGE2_MOAR) $(QREGEX_STAGE2_MOAR) $(QASTNODE_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_QAST_COMBINED_STAGE2) $(P6QREGEX_STAGE2_MOAR): $(M_P6QREGEX_COMBINED_STAGE2) $(STAGE2_DEPS_MOAR) $(HLL_STAGE2_MOAR) $(QREGEX_STAGE2_MOAR) $(QAST_STAGE2_MOAR) $(QASTNODE_STAGE2_MOAR) @echo '+++ Compiling $@' $(NOECHO)$(M_STAGE1_NQP) --setting-path=$(M_STAGE2_DIR) --module-path=$(M_STAGE2_DIR) --no-regex-lib --target=mbc --setting=NQPCORE $(M_PRECOMP_STAGE2_FLAGS) --output=$@ $(M_P6QREGEX_COMBINED_STAGE2) $(M_STAGE2_DIR)/nqp-config.nqp: $(M_SOURCES) @echo '+++ Generating stage 2 nqp-config.nqp' $(NOECHO)$(PERL5) '/friends/.rakubrew/versions/moar-main/nqp/tools/build/gen-version.pl' '$(PREFIX)' '$(STATIC_NQP_HOME)' '$(NQP_LIB_DIR)' moar > '$(M_STAGE2_DIR)/nqp-config.nqp' $(M_STAGE2_DIR)/$(NQP_MOAR): $(NQP_STAGE1_MOAR) $(M_STAGE2_DIR)/$(QAST_MOAR) $(M_STAGE2_DIR)/$(P6QREGEX_MOAR) $(M_SOURCES) @echo '+++ Creating stage 2 NQP' $(NOECHO)$(M_STAGE2_GEN_CAT) $(M_NQP_SOURCES) > '$(M_STAGE2_DIR)/$(NQP_COMBINED)' $(NOECHO)$(M_STAGE1_NQP) --module-path='$(M_STAGE2_DIR)' --setting-path='$(M_STAGE2_DIR)' \ --setting=NQPCORE --target=mbc --no-regex-lib $(M_PRECOMP_STAGE2_FLAGS) $(M_NQP_STAGE2_FLAGS) \ --output='$(M_STAGE2_DIR)/$(NQP_MOAR)' '$(M_STAGE2_DIR)/$(NQP_COMBINED)' $(NQP_MOAR): m-stage2 #$(M_STAGE2_OUTPUT) @echo '+++ Installing MOAR stage 2 files locally' $(NOECHO)$(CP) $(M_STAGE2_OUTPUT) . $(P5QREGEX_MOAR): $(P5QREGEX_SOURCES) $(NQP_MOAR) $(M_BUILD_RUNNER) @echo '+++ Compiling $@' $(NOECHO)$(M_GEN_CAT) stage2 $(P5QREGEX_SOURCES) > '$(M_STAGE2_DIR)/$(P5QREGEX_COMBINED)' $(NOECHO)$(M_BUILD_RUNNER_BIN) --target=mbc --output=$(P5QREGEX_MOAR) \ '$(M_STAGE2_DIR)/$(P5QREGEX_COMBINED)' M_CLEANUPS = \ *.moarvm \ '$(M_BUILD_DIR)/*' \ '$(M_STAGE1_DIR)' \ '$(M_STAGE2_DIR)' \ $(M_BUILD_RUNNER) \ $(M_NQP) m-all:: $(NQP_MOAR) $(M_BUILD_RUNNER) $(P5QREGEX_MOAR) m-clean:: @echo '+++ Cleaning MOAR backend' $(NOECHO)$(RM_RF) $(M_CLEANUPS) $(M_CLEANUPS_EXTRA) m-install-dirs:: @echo '+++ Creating MOAR installation directories' $(NOECHO)$(MKPATH) '$(DESTDIR)$(BIN_DIR)' $(NOECHO)$(MKPATH) '$(DESTDIR)$(NQP_LIB_DIR)' $(NOECHO)$(MKPATH) '$(DESTDIR)$(NQP_LIB_DIR_MOAR)' m-install:: m-all m-install-dirs /friends/.rakubrew/versions/moar-main/nqp/Configure.pl @echo '+++ Installing into $(DESTDIR)$(PREFIX)' $(NOECHO)$(CP) $(M_STAGE2_OUTPUT) '$(DESTDIR)$(NQP_LIB_DIR)' $(NOECHO)$(CP) $(P5QREGEX_MOAR) '$(DESTDIR)$(NQP_LIB_DIR)' m-bootstrap-files: $(M_STAGE2_OUTPUT) @echo '+++ Bootstrapping into $(M_STAGE0_DIR)' $(NOECHO)$(CP) $(M_STAGE2_OUTPUT) $(M_STAGE0_DIR) ## testing m-test: m-all $(PROVE) -r --exec '$(M_BUILD_RUNNER_BIN)' t/nqp t/hll t/qregex t/p5regex t/qast t/moar t/serialization t/nativecall $(M_EXTRA_TESTS) m-test-loud: m-all $(PROVE) -r -v --exec '$(M_BUILD_RUNNER_BIN)' t/nqp t/hll t/qregex t/p5regex t/qast t/moar t/serialization t/nativecall $(M_EXTRA_TESTS) m-core-test: $(M_BUILD_RUNNER) $(PROVE) -r --exec '$(M_BUILD_RUNNER)' t/nqp m-core-test-loud: $(M_BUILD_RUNNER) $(PROVE) -r -v --exec '$(M_BUILD_RUNNER)' t/nqp m-qregex-test: $(M_BUILD_RUNNER) $(PROVE) -r --exec '$(M_BUILD_RUNNER)' t/qregex m-qregex-test-loud: $(M_BUILD_RUNNER) $(PROVE) -r -v --exec '$(M_BUILD_RUNNER)' t/qregex # vim: ft=make ts=4 sw=4 noexpandtab ##################################################################################################################### # End of section included from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/Makefile-backend-common.in # ##################################################################################################################### m-all:: $(M_INST_NQP_M) $(M_INST_NQP) m-install-dirs:: $(NOECHO)$(MKPATH) '$(DESTDIR)$(NQP_LIB_DIR)/profiler' m-install:: @echo '+++ Installing MOAR specifics' $(NOECHO)$(CP) $(ASTOPS_MOAR) '$(DESTDIR)$(NQP_LIB_DIR)' $(NOECHO)$(CP) src/vm/moar/profiler/template.html '$(DESTDIR)$(NQP_LIB_DIR)/profiler/template.html' $(NOECHO)$(CP) $(M_INST_NQP_M) '$(DESTDIR)$(BIN_DIR)/$(M_NQP_M)' M_CC_INST_NQP=clang -c -fno-omit-frame-pointer -fno-optimize-sibling-calls -Werror=vla -O3 -DNDEBUG -Wno-logical-op-parentheses -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -gdwarf-4 -DMVM_HEAPSNAPSHOT_FORMAT=2 -D_GNU_SOURCE -DSTATIC_NQP_HOME='/friends/.rakubrew/versions/moar-main/install/share/nqp' $(M_MOAR_INC_PATHS) M_LD_INST_NQP=clang -O3 -DNDEBUG -Wl,-rpath,"//friends/.rakubrew/versions/moar-main/install/lib" M_LD_INST_NQP_POST=-L"/friends/.rakubrew/versions/moar-main/install/lib" -lmoar M_CC_BUILD_RUNNER=clang -c -fno-omit-frame-pointer -fno-optimize-sibling-calls -Werror=vla -O3 -DNDEBUG -Wno-logical-op-parentheses -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -gdwarf-4 -DMVM_HEAPSNAPSHOT_FORMAT=2 -D_GNU_SOURCE M_LD_BUILD_RUNNER=clang -O3 -DNDEBUG -Wl,-rpath,"//friends/.rakubrew/versions/moar-main/install/lib" $(M_INST_NQP): src/vm/moar/runner/main.c @echo '+++ Compiling $@' $(NOECHO)$(RM_F) $@ # Using only the pkgconfig moar includes does not work, because moar.h assumes all the specific includes below. $(NOECHO)$(M_CC_INST_NQP) -DSTATIC_EXEC_PATH='/friends/.rakubrew/versions/moar-main/install/bin/$(M_NQP)' -o inst-nqp.o src/vm/moar/runner/main.c $(NOECHO)$(M_LD_INST_NQP) -o $@ inst-nqp.o $(M_LD_INST_NQP_POST) $(M_INST_NQP_M): src/vm/moar/runner/main.c @echo '+++ Compiling $@' $(NOECHO)$(RM_F) $@ # Using only the pkgconfig moar includes does not work, because moar.h assumes all the specific includes below. $(NOECHO)$(M_CC_INST_NQP) -DSTATIC_EXEC_PATH='/friends/.rakubrew/versions/moar-main/install/bin/$(M_NQP_M)' -o inst-nqp-m.o src/vm/moar/runner/main.c $(NOECHO)$(M_LD_INST_NQP) -o $@ inst-nqp-m.o $(M_LD_INST_NQP_POST) $(M_BUILD_RUNNER): /friends/.rakubrew/versions/moar-main/nqp/Configure.pl /friends/.rakubrew/versions/moar-main/nqp/tools/templates/unix/nqp-m-build.c @echo '+++ Setting up $@' $(NOECHO)$(RM_F) '$(M_BUILD_RUNNER)' $(NOECHO)$(CONFIGURE) --expand /friends/.rakubrew/versions/moar-main/nqp/tools/templates/unix/nqp-m-build.c --out nqp-m.c \ --set-var=MOAR='/friends/.rakubrew/versions/moar-main/install/bin/moar' \ --set-var=base_dir='$(BASE_DIR)' \ --set-var=exec_name='$(BASE_DIR)/$(M_BUILD_RUNNER)' \ --set-var=mbc=$(NQP_MOAR) $(NOECHO)$(M_CC_BUILD_RUNNER) -o nqp-m.o nqp-m.c $(NOECHO)$(M_LD_BUILD_RUNNER) -o $@ nqp-m.o m-runner-default: m-all /friends/.rakubrew/versions/moar-main/nqp/Configure.pl /friends/.rakubrew/versions/moar-main/nqp/tools/templates/unix/nqp-m-build.c @echo '+++ Compiling MOAR default runner' $(NOECHO)$(RM_F) '$(M_NQP)' $(NOECHO)$(CONFIGURE) --expand /friends/.rakubrew/versions/moar-main/nqp/tools/templates/unix/nqp-m-build.c --out nqp.c \ --set-var=MOAR='/friends/.rakubrew/versions/moar-main/install/bin/moar' \ --set-var=base_dir='$(BASE_DIR)' \ --set-var=exec_name='$(BASE_DIR)/$(M_NQP)' \ --set-var=mbc=$(NQP_MOAR) $(NOECHO)$(M_CC_BUILD_RUNNER) -o nqp.o nqp.c $(NOECHO)$(M_LD_BUILD_RUNNER) -o $(M_NQP) nqp-m.o m-runner-default-install: m-runner-default m-install @echo '+++ Installing default runner' $(NOECHO)$(CP) $(M_INST_NQP) '$(DESTDIR)$(BIN_DIR)/$(M_NQP)' # vim: ft=make noexpandtab ts=4 sw=4 ########################################################################################################### # End of section included from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/moar/Makefile.in # ########################################################################################################### t/*/*.t: all $(PROVE) -r -v --exec ./nqp $@ manifest: echo MANIFEST >MANIFEST git ls-files >>MANIFEST release: manifest [ -n "$(VERSION)" ] || ( echo "\nTry 'make release VERSION=yyyy.mm'\n\n"; exit 1 ) bash -c '[ "$$(cat VERSION)" == "$(VERSION)" ] || ( echo -e "\nVersion on command line and in VERSION file differ\n"; exit 1 )' [ -d nqp-$(VERSION) ] || ln -s . nqp-$(VERSION) $(PERL5) -ne 'print "nqp-$(VERSION)/$$_"' MANIFEST |\ tar -zcv --owner=0 --group=0 --numeric-owner -T - -f nqp-$(VERSION).tar.gz rm nqp-$(VERSION) distclean: realclean realclean: clean $(RM_F) Makefile MANIFEST config.status nqp$(BAT) testclean: # vim: ft=make noexpandtab ts=4 sw=4 # (end of section generated from /friends/.rakubrew/versions/moar-main/nqp/tools/templates/Makefile.in)