Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

455 lines (381 sloc) 18.77 kb
# Copyright (C) 2006-2011, The Perl Foundation.
# $Id$
PARROT_ARGS =
# values from parrot_config
PARROT_BIN_DIR = @bindir@
PARROT_VERSION = @versiondir@
PARROT_INCLUDE_DIR = @includedir@$(PARROT_VERSION)
PARROT_LIB_DIR = @libdir@$(PARROT_VERSION)
PARROT_SRC_DIR = @srcdir@$(PARROT_VERSION)
PARROT_LIBRARY_DIR = $(PARROT_LIB_DIR)/library
HAS_ICU = @has_icu@
CC = @cc@
CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @gc_flag@
EXE = @exe@
LD = @ld@
LDFLAGS = @ldflags@ @ld_debug@
LD_LOAD_FLAGS = @ld_load_flags@
LIBPARROT = @inst_libparrot_ldflags@
O = @o@
LOAD_EXT = @load_ext@
PERL = @perl@
CP = @cp@
MV = @mv@
RM_F = @rm_f@
MKPATH = $(PERL) -MExtUtils::Command -e mkpath
CHMOD = $(PERL) -MExtUtils::Command -e chmod
# locations of parrot resources
PARROT = $(PARROT_BIN_DIR)/parrot$(EXE)
PARROT_NQP = $(PARROT_BIN_DIR)/parrot_nqp$(EXE)
PBC_TO_EXE = $(PARROT_BIN_DIR)/pbc_to_exe$(EXE)
PARROT_TOOLS_DIR = $(PARROT_LIB_DIR)/tools
PARROT_PERL_LIB = $(PARROT_TOOLS_DIR)/lib
OPS2C = $(PARROT_BIN_DIR)/ops2c$(EXE)
PMC2C = $(PERL) $(PARROT_TOOLS_DIR)/build/pmc2c.pl
PMC2C_INCLUDES = --include src/pmc --include $(PARROT_SRC_DIR) --include $(PARROT_SRC_DIR)/pmc
CINCLUDES = -I$(PARROT_INCLUDE_DIR) -I$(PARROT_INCLUDE_DIR)/pmc
LINKARGS = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @libs@ @icu_shared@
# nqp directories
NQP_LANG_DIR = $(PARROT_LIB_DIR)/languages/nqp
DYNEXT_DIR = dynext
PMC_DIR = src/pmc
OPS_DIR = src/ops
REGEX_SOURCES = \
src/Regex.pir \
src/Regex/constants.pir \
src/Regex/Cursor.pir \
src/Regex/Cursor-builtins.pir \
src/Regex/Cursor-protoregex-peek.pir \
src/Regex/Match.pir \
src/Regex/Method.pir \
src/Regex/Dumper.pir \
PAST_SOURCES = \
src/PASTRegex.pir \
src/PAST/Regex.pir \
src/PAST/Compiler-Regex.pir \
src/PAST/SixModelPASTExtensions.pir \
src/cheats/parrot-callcontext.pir \
HLL_SOURCES = \
src/HLL/Grammar.pm \
src/HLL/Actions.pm \
src/HLL/Compiler.pm \
src/HLL/CommandLine.pm \
src/HLL/SerializationContextBuilder.pm \
P6REGEX_SOURCES = \
src/Regex/P6Regex/Grammar.pm \
src/Regex/P6Regex/Actions.pm \
src/Regex/P6Regex/Compiler.pm \
NQP_SOURCES = \
src/NQP/SymbolTable.pm \
src/NQP/Grammar.pm \
src/NQP/Actions.pm \
src/NQP/Compiler.pm \
CORE_SETTING_SOURCES = \
src/core/NativeTypes.pm \
src/core/NQPMu.pm \
src/core/NQPCapture.pm \
src/core/IO.pm \
src/core/Regex.pm \
src/core/Hash.pm \
src/core/testing.pm \
src/core/YOUAREHERE.pm \
CORE_SETTING_NQP = NQPCORE.setting
STAGE0_SOURCES = \
src/stage0/Regex-s0.pir \
src/stage0/HLL-s0.pir \
src/stage0/P6Regex-s0.pir \
src/stage0/NQPMO-s0.pir \
src/stage0/NQP-s0.pir \
src/stage0/NQPCORE.setting-s0.pir \
STAGE0 = src/stage0
STAGE1 = src/stage1
STAGE2 = src/stage2
MODULE_LOADER_PBC = ModuleLoader.pbc
REGEX_PBC = NQPRegex.pbc
PAST_PBC = PASTRegex.pbc
HLL_PBC = NQPHLL.pbc
HLL_COMBINED = gen/NQPHLL.pm
HLL_COMBINED_PIR = gen/NQPHLL.pir
P6REGEX_PBC = NQPP6Regex.pbc
P6REGEX_COMBINED = gen/NQPP6Regex.pm
P6REGEX_COMBINED_PIR = gen/NQPP6Regex.pir
NQP_COMBINED = gen/NQP.pm
NQP_COMBINED_PIR = gen/NQP.pir
NQP_PBC = nqp.pbc
NQP_EXE = nqp$(EXE)
NQP_MO_SOURCES = src/how/RoleToRoleApplier.pm src/how/NQPConcreteRoleHOW.pm \
src/how/RoleToClassApplier.pm src/how/NQPParametricRoleHOW.pm \
src/how/NQPClassHOW.pm src/how/NQPNativeHOW.pm \
src/how/NQPAttribute.pm src/how/NQPModuleHOW.pm \
src/how/EXPORTHOW.pm \
NQP_MO_PBC = nqpmo.pbc
NQP_MO_PIR = gen/nqp-mo.pir
NQP_MO_COMBINED = gen/nqp-mo.pm
CORE_SETTING_PBC = NQPCORE.setting.pbc
CORE_SETTING_PIR = gen/NQPCORE.setting.pir
STAGE0_PBCS = $(STAGE0)/$(HLL_PBC) $(STAGE0)/$(P6REGEX_PBC) $(STAGE0)/$(NQP_PBC) $(STAGE0)/$(REGEX_PBC) $(STAGE0)/$(CORE_SETTING_PBC) $(STAGE0)/$(MODULE_LOADER_PBC)
STAGE1_PBCS = $(STAGE1)/$(HLL_PBC) $(STAGE1)/$(P6REGEX_PBC) $(STAGE1)/$(NQP_PBC) $(STAGE1)/$(REGEX_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(MODULE_LOADER_PBC) $(STAGE1)/$(NQP_MO_PBC)
STAGE2_PBCS = $(STAGE2)/$(HLL_PBC) $(STAGE2)/$(P6REGEX_PBC) $(STAGE2)/$(NQP_PBC) $(STAGE2)/$(REGEX_PBC) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(MODULE_LOADER_PBC) $(STAGE2)/$(NQP_MO_PBC)
ALL_PBCS = $(HLL_PBC) $(P6REGEX_PBC) $(NQP_PBC) $(CORE_SETTING_PBC) $(MODULE_LOADER_PBC) $(REGEX_PBC)
GROUP = nqp_group
OPS = nqp_ops
DYNEXT_TARGET = $(DYNEXT_DIR)/$(GROUP)$(LOAD_EXT)
DYNPMC = $(PMC_DIR)/$(GROUP)$(LOAD_EXT)
DYNOPS = $(OPS_DIR)/$(OPS)$(LOAD_EXT)
PMC_SOURCES = $(PMC_DIR)/stable.pmc $(PMC_DIR)/sixmodelobject.pmc \
$(PMC_DIR)/repr.pmc $(PMC_DIR)/dispatchersub.pmc \
$(PMC_DIR)/nqpmultisig.pmc $(PMC_DIR)/nqplexinfo.pmc \
$(PMC_DIR)/nqplexpad.pmc $(PMC_DIR)/serializationcontext.pmc
OPS_SOURCE = nqp.ops
METAMODEL_SOURCE = src/6model/sixmodelobject.h src/6model/sixmodelobject.c \
src/6model/repr_registry.h src/6model/repr_registry.c \
src/6model/knowhow_bootstrapper.h src/6model/knowhow_bootstrapper.c \
src/6model/reprs/KnowHOWREPR.h src/6model/reprs/KnowHOWREPR.c \
src/6model/reprs/P6opaque.h src/6model/reprs/P6opaque.c \
src/6model/reprs/P6int.h src/6model/reprs/P6int.c \
src/6model/reprs/P6str.h src/6model/reprs/P6str.c \
src/6model/reprs/P6num.h src/6model/reprs/P6num.c \
src/6model/reprs/HashAttrStore.h src/6model/reprs/HashAttrStore.c \
src/6model/multi_dispatch.h src/6model/multi_dispatch.c \
src/6model/storage_spec.h src/6model/serialization_context.c \
src/6model/serialization_context.h
METAMODEL_OBJS = ../6model/sixmodelobject$(O) ../6model/repr_registry$(O) \
../6model/knowhow_bootstrapper$(O) ../6model/reprs/KnowHOWREPR$(O) \
../6model/reprs/P6opaque$(O) ../6model/reprs/P6int$(O) \
../6model/reprs/P6str$(O) ../6model/reprs/P6num$(O) \
../6model/reprs/HashAttrStore$(O) ../6model/multi_dispatch$(O) \
../6model/serialization_context$(O)
CLEANUPS = \
*.manifest \
*.pdb \
$(REGEX_PBC) \
$(PAST_PBC) \
$(HLL_PBC) \
$(P6REGEX_PBC) \
$(NQP_MO_PBC) \
$(CORE_SETTING_PBC) \
$(MODULE_LOADER_PBC) \
P6Regex$(EXE) \
nqp.pbc \
nqp$(EXE) \
*.c\
*.o\
src/stage0/*.pbc \
src/stage1/gen/* \
src/stage1/*.pbc \
src/stage2/gen/* \
src/stage2/*.pbc \
src/gen/*.pir \
src/gen/*.nqp \
src/gen/*.pm \
$(PMC_DIR)/pmc_*.h \
$(PMC_DIR)/*.c \
$(PMC_DIR)/*.dump \
$(PMC_DIR)/*$(O) \
$(PMC_DIR)/*$(LOAD_EXT) \
$(PMC_DIR)/*.exp \
$(PMC_DIR)/*.ilk \
$(PMC_DIR)/*.manifest \
$(PMC_DIR)/*.pdb \
$(PMC_DIR)/*.lib \
$(PMC_DIR)/objectref.pmc \
$(OPS_DIR)/*.h \
$(OPS_DIR)/*.c \
$(OPS_DIR)/*$(O) \
$(OPS_DIR)/*$(LOAD_EXT) \
$(DYNEXT_DIR)/*$(LOAD_EXT) \
all: $(NQP_EXE)
install: all
$(MKPATH) $(DESTDIR)$(NQP_LANG_DIR)
$(CP) $(P6REGEX_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(P6REGEX_PBC)
$(CP) $(REGEX_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(REGEX_PBC)
$(CP) $(HLL_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(HLL_PBC)
$(CP) $(CORE_SETTING_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(CORE_SETTING_PBC)
$(CP) $(MODULE_LOADER_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(MODULE_LOADER_PBC)
$(CP) $(NQP_MO_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(NQP_MO_PBC)
$(CP) $(NQP_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(NQP_PBC)
$(CP) $(PAST_PBC) $(DESTDIR)$(PARROT_LIBRARY_DIR)/$(PAST_PBC)
$(MKPATH) $(DESTDIR)$(PARROT_BIN_DIR)
$(CP) $(NQP_EXE) $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
$(CHMOD) 755 $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
$(MKPATH) $(DESTDIR)$(PARROT_LIB_DIR)/dynext
$(CP) $(DYNPMC) $(DYNOPS) $(DESTDIR)$(PARROT_LIB_DIR)/dynext
stage0: $(STAGE0)
stage1: $(STAGE1)
stage2: $(STAGE2)
$(PAST_PBC): $(PAST_SOURCES) $(DYNEXT_TARGET)
$(PARROT) -o $(PAST_PBC) $(PAST_SOURCES)
$(STAGE0): $(STAGE0_PBCS)
$(STAGE0_PBCS): $(DYNEXT_TARGET) $(PAST_PBC) $(STAGE0_SOURCES)
$(PARROT) -o $(STAGE0)/$(REGEX_PBC) src/stage0/Regex-s0.pir
$(PARROT) -o $(STAGE0)/$(HLL_PBC) src/stage0/HLL-s0.pir
$(PARROT) -o $(STAGE0)/$(P6REGEX_PBC) src/stage0/P6Regex-s0.pir
$(PARROT) -o $(STAGE0)/$(NQP_MO_PBC) src/stage0/NQPMO-s0.pir
$(PARROT) -o $(STAGE0)/$(NQP_PBC) src/stage0/NQP-s0.pir
$(PARROT) -o $(STAGE0)/$(CORE_SETTING_PBC) src/stage0/NQPCORE.setting-s0.pir
$(PARROT) -o $(STAGE0)/$(MODULE_LOADER_PBC) src/stage0/ModuleLoader-s0.pir
$(STAGE1): $(STAGE1_PBCS)
$(STAGE1)/$(NQP_MO_PBC): $(STAGE0_PBCS) $(NQP_MO_SOURCES)
$(MKPATH) $(STAGE1)/gen
$(PERL) tools/build/gen-cat.pl $(NQP_MO_SOURCES) > $(STAGE1)/$(NQP_MO_COMBINED)
$(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
--target=pir --output=$(STAGE1)/$(NQP_MO_PIR) \
--setting=NULL $(STAGE1)/$(NQP_MO_COMBINED)
$(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(NQP_MO_PBC) \
$(STAGE1)/$(NQP_MO_PIR)
$(STAGE1)/$(MODULE_LOADER_PBC): $(STAGE0_PBCS) src/ModuleLoader.pm
$(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
--target=pir --output=$(STAGE1)/gen/module_loader.pir \
--setting=NULL src/ModuleLoader.pm
$(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(MODULE_LOADER_PBC) \
$(STAGE1)/gen/module_loader.pir
$(STAGE1)/$(CORE_SETTING_PBC): $(STAGE0_PBCS) $(STAGE1)/$(NQP_MO_PBC) $(STAGE1)/$(MODULE_LOADER_PBC) $(CORE_SETTING_SOURCES)
$(MKPATH) $(STAGE1)/gen
$(PERL) tools/build/gen-cat.pl $(CORE_SETTING_SOURCES) > $(STAGE1)/$(CORE_SETTING_NQP)
$(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
--target=pir --output=$(STAGE1)/$(CORE_SETTING_PIR) \
--module-path=$(STAGE1) --setting=NULL $(STAGE1)/$(CORE_SETTING_NQP)
$(PARROT) -o $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(CORE_SETTING_PIR)
$(STAGE1)/$(REGEX_PBC): $(DYNEXT_TARGET) $(REGEX_SOURCES) $(STAGE1)/$(CORE_SETTING_PBC)
$(PARROT) -o $(STAGE1)/$(REGEX_PBC) $(REGEX_SOURCES)
$(STAGE1)/$(HLL_PBC): $(STAGE0_PBCS) $(STAGE1)/$(REGEX_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(HLL_SOURCES)
$(MKPATH) $(STAGE1)/gen
$(PERL) tools/build/gen-cat.pl $(HLL_SOURCES) > $(STAGE1)/$(HLL_COMBINED)
$(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
--target=pir --output=$(STAGE1)/$(HLL_COMBINED_PIR) \
--module-path=$(STAGE1) --setting-path=$(STAGE1) $(STAGE1)/$(HLL_COMBINED)
$(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(HLL_PBC) \
$(STAGE1)/$(HLL_COMBINED_PIR)
$(STAGE1)/$(P6REGEX_PBC): $(STAGE0_PBCS) $(STAGE1)/$(HLL_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(P6REGEX_SOURCES)
$(MKPATH) $(STAGE1)/gen
$(PERL) tools/build/gen-cat.pl $(P6REGEX_SOURCES) > $(STAGE1)/$(P6REGEX_COMBINED)
$(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
--target=pir --output=$(STAGE1)/$(P6REGEX_COMBINED_PIR) \
--module-path=$(STAGE1) --setting-path=$(STAGE1) $(STAGE1)/$(P6REGEX_COMBINED)
$(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(P6REGEX_PBC) \
$(STAGE1)/$(P6REGEX_COMBINED_PIR)
$(STAGE1)/$(NQP_PBC): $(STAGE0_PBCS) $(STAGE1)/$(P6REGEX_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(NQP_SOURCES)
$(MKPATH) $(STAGE1)/gen
$(PERL) tools/build/gen-version.pl >src/gen/nqp-config.pm
$(PERL) tools/build/gen-cat.pl $(NQP_SOURCES) src/gen/nqp-config.pm > $(STAGE1)/$(NQP_COMBINED)
$(PARROT) --library=$(STAGE0) $(STAGE0)/$(NQP_PBC) \
--target=pir --output=$(STAGE1)/$(NQP_COMBINED_PIR) \
--module-path=$(STAGE1) --setting-path=$(STAGE1) $(STAGE1)/$(NQP_COMBINED)
$(PARROT) --include=$(STAGE1) -o $(STAGE1)/$(NQP_PBC) \
$(STAGE1)/$(NQP_COMBINED_PIR)
$(STAGE2): $(STAGE2_PBCS)
$(STAGE2)/$(NQP_MO_PBC): $(STAGE1_PBCS) $(NQP_MO_SOURCES)
$(MKPATH) $(STAGE2)/gen
$(PERL) tools/build/gen-cat.pl $(NQP_MO_SOURCES) > $(STAGE2)/$(NQP_MO_COMBINED)
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
--target=pir --output=$(STAGE2)/$(NQP_MO_PIR) \
--setting=NULL $(STAGE2)/$(NQP_MO_COMBINED)
$(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(NQP_MO_PBC) \
$(STAGE2)/$(NQP_MO_PIR)
$(STAGE2)/$(MODULE_LOADER_PBC): $(STAGE1_PBCS) src/ModuleLoader.pm
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
--target=pir --output=$(STAGE2)/gen/module_loader.pir \
--setting=NULL src/ModuleLoader.pm
$(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(MODULE_LOADER_PBC) \
$(STAGE2)/gen/module_loader.pir
$(STAGE2)/$(CORE_SETTING_PBC): $(STAGE1_PBCS) $(STAGE2)/$(NQP_MO_PBC) $(STAGE2)/$(MODULE_LOADER_PBC) $(CORE_SETTING_SOURCES)
$(MKPATH) $(STAGE2)/gen
$(PERL) tools/build/gen-cat.pl $(CORE_SETTING_SOURCES) > $(STAGE2)/$(CORE_SETTING_NQP)
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
--target=pir --output=$(STAGE2)/$(CORE_SETTING_PIR) \
--module-path=$(STAGE2) --setting=NULL $(STAGE2)/$(CORE_SETTING_NQP)
$(PARROT) -o $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(CORE_SETTING_PIR)
$(STAGE2)/$(REGEX_PBC): $(DYNEXT_TARGET) $(REGEX_SOURCES) $(STAGE2)/$(CORE_SETTING_PBC)
$(PARROT) -o $(STAGE2)/$(REGEX_PBC) $(REGEX_SOURCES)
$(STAGE2)/$(HLL_PBC): $(STAGE1_PBCS) $(STAGE2)/$(REGEX_PBC) $(STAGE2)/$(CORE_SETTING_PBC) $(HLL_SOURCES)
$(MKPATH) $(STAGE2)/gen
$(PERL) tools/build/gen-cat.pl $(HLL_SOURCES) > $(STAGE2)/$(HLL_COMBINED)
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
--target=pir --output=$(STAGE2)/$(HLL_COMBINED_PIR) \
--module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(HLL_COMBINED)
$(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(HLL_PBC) \
$(STAGE2)/$(HLL_COMBINED_PIR)
$(STAGE2)/$(P6REGEX_PBC): $(STAGE1_PBCS) $(STAGE2)/$(HLL_PBC) $(P6REGEX_SOURCES)
$(MKPATH) $(STAGE2)/gen
$(PERL) tools/build/gen-cat.pl $(P6REGEX_SOURCES) > $(STAGE2)/$(P6REGEX_COMBINED)
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
--target=pir --output=$(STAGE2)/$(P6REGEX_COMBINED_PIR) \
--module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(P6REGEX_COMBINED)
$(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(P6REGEX_PBC) \
$(STAGE2)/$(P6REGEX_COMBINED_PIR)
$(STAGE2)/$(NQP_PBC): $(STAGE0_PBCS) $(STAGE2)/$(P6REGEX_PBC) $(NQP_SOURCES)
$(MKPATH) $(STAGE1)/gen
$(PERL) tools/build/gen-version.pl >src/gen/nqp-config.pm
$(PERL) tools/build/gen-cat.pl $(NQP_SOURCES) src/gen/nqp-config.pm > $(STAGE2)/$(NQP_COMBINED)
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
--target=pir --output=$(STAGE2)/$(NQP_COMBINED_PIR) \
--module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(NQP_COMBINED)
$(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(NQP_PBC) \
$(STAGE2)/$(NQP_COMBINED_PIR)
$(ALL_PBCS): $(STAGE2_PBCS)
$(CP) $(STAGE2)/$(NQP_MO_PBC) .
$(CP) $(STAGE2)/$(MODULE_LOADER_PBC) .
$(CP) $(STAGE2)/$(CORE_SETTING_PBC) .
$(CP) $(STAGE2)/$(REGEX_PBC) .
$(CP) $(STAGE2)/$(HLL_PBC) .
$(CP) $(STAGE2)/$(P6REGEX_PBC) .
$(CP) $(STAGE2)/$(NQP_PBC) .
$(NQP_EXE): $(NQP_PBC)
$(PBC_TO_EXE) $(NQP_PBC)
$(DYNEXT_TARGET): $(DYNPMC) $(DYNOPS)
$(CP) $(DYNPMC) $(DYNEXT_DIR)
$(CP) $(DYNOPS) $(DYNEXT_DIR)
$(CHMOD) 755 $(DYNEXT_TARGET)
$(CHMOD) 755 $(DYNEXT_DIR)/$(OPS)$(LOAD_EXT)
$(DYNPMC): $(PMC_SOURCES) $(METAMODEL_SOURCE)
$(PMC2C) --no-lines --dump $(PMC2C_INCLUDES) $(PMC_SOURCES)
$(PMC2C) --no-lines --c $(PMC2C_INCLUDES) $(PMC_SOURCES)
$(PMC2C) --no-lines --library $(GROUP) --c $(PMC_SOURCES)
$(CC) -c @cc_o_out@$(GROUP)$(O) -I$(PMC_DIR) $(CINCLUDES) $(CFLAGS) $(GROUP).c
cd $(PMC_DIR) && $(CC) -c $(CINCLUDES) $(CFLAGS) *.c
$(LD) @ld_out@$(DYNPMC) $(GROUP)$(O) src/pmc/*$(O) $(LINKARGS)
$(OPS_DIR)/$(OPS)$(LOAD_EXT): $(OPS_DIR)/$(OPS_SOURCE) $(DYNPMC)
cd $(OPS_DIR) && $(OPS2C) C --dynamic $(OPS_SOURCE)
cd $(OPS_DIR) && $(CC) -c @cc_o_out@$(OPS)$(O) $(CINCLUDES) $(CFLAGS) $(OPS).c
cd src/6model && $(CC) -c @cc_o_out@sixmodelobject$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) sixmodelobject.c
cd src/6model && $(CC) -c @cc_o_out@repr_registry$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) repr_registry.c
cd src/6model && $(CC) -c @cc_o_out@knowhow_bootstrapper$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) knowhow_bootstrapper.c
cd src/6model/reprs && $(CC) -c @cc_o_out@KnowHOWREPR$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) KnowHOWREPR.c
cd src/6model/reprs && $(CC) -c @cc_o_out@P6opaque$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6opaque.c
cd src/6model/reprs && $(CC) -c @cc_o_out@P6int$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6int.c
cd src/6model/reprs && $(CC) -c @cc_o_out@P6str$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6str.c
cd src/6model/reprs && $(CC) -c @cc_o_out@P6num$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6num.c
cd src/6model/reprs && $(CC) -c @cc_o_out@HashAttrStore$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) HashAttrStore.c
cd src/6model && $(CC) -c @cc_o_out@multi_dispatch$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) multi_dispatch.c
cd src/6model && $(CC) -c @cc_o_out@serialization_context$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) serialization_context.c
cd $(OPS_DIR) && $(LD) @ld_out@$(OPS)$(LOAD_EXT) $(OPS)$(O) $(METAMODEL_OBJS) $(LINKARGS)
bootstrap-files: $(STAGE2_PBCS) src/stage2/$(CORE_SETTING_NQP)
$(PERL) tools/build/gen-bootstrap.pl src/Regex.pir >src/stage0/Regex-s0.pir
$(PERL) tools/build/gen-bootstrap.pl src/stage2/$(HLL_COMBINED_PIR) >src/stage0/HLL-s0.pir
$(PERL) tools/build/gen-bootstrap.pl src/stage2/$(NQP_COMBINED_PIR) >src/stage0/NQP-s0.pir
$(PERL) tools/build/gen-bootstrap.pl src/stage2/$(CORE_SETTING_PIR) >src/stage0/NQPCORE.setting-s0.pir
$(PERL) tools/build/gen-bootstrap.pl src/stage2/$(P6REGEX_COMBINED_PIR) >src/stage0/P6Regex-s0.pir
$(PERL) tools/build/gen-bootstrap.pl src/stage2/$(NQP_MO_PIR) >src/stage0/NQPMO-s0.pir
$(PERL) tools/build/gen-bootstrap.pl src/stage2/gen/module_loader.pir >src/stage0/ModuleLoader-s0.pir
## testing
test: all core-test setting-test p6regex-test
test-loud: all core-test-loud setting-test-loud p6regex-test-loud
core-test: $(NQP_EXE)
prove -r --exec ./$(NQP_EXE) t/nqp t/hll
core-test-loud: $(NQP_EXE)
prove -r -v --exec ./$(NQP_EXE) t/nqp t/hll
p6regex-test: $(NQP_EXE)
prove -r --exec ./$(NQP_EXE) t/p6regex
p6regex-test-loud: $(NQP_EXE)
prove -r -v --exec ./$(NQP_EXE) t/p6regex
setting-test: $(NQP_EXE) $(SETTING_PBC)
prove -r --exec ./$(NQP_EXE) t/setting
setting-test-loud: $(NQP_EXE) $(SETTING_PBC)
prove -r -v --exec ./$(NQP_EXE) t/setting
## cleaning
clean:
$(RM_F) $(CLEANUPS)
distclean: realclean
realclean: clean
$(RM_F) Makefile
testclean:
Jump to Line
Something went wrong with that request. Please try again.