3 PARROT = @build_dir@/parrot@exe@
4 #CONDITIONED_LINE(win32):LIBPARROT = @build_dir@/libparrot@a@
5 #INVERSE_CONDITIONED_LINE(win32):LIBPARROT = @build_dir@/@blib_dir@/libparrot@a@
9 CC_INC = @cc_inc@ -I@build_dir@/include
11 CC_SHARED = @cc_shared@
12 CFLAGS = $(CC_INC) @ccflags@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @gc_flag@ $(CC_SHARED)
13 LINK_DYNAMIC = @link_dynamic@
15 LINKFLAGS = @linkflags@ @link_debug@ @ld_debug@
17 #CONDITIONED_LINE(win32):LDFLAGS = @ldflags@ @ld_debug@ $(LIBPARROT)
18 #INVERSE_CONDITIONED_LINE(win32):LDFLAGS = @ldflags@ @ld_debug@ -L@build_dir@/blib/lib/ -lparrot
19 SHARE_EXT = @share_ext@
20 LD_SHARE_FLAGS = @ld_share_flags@
21 BUILD_PMC = $(PERL) @build_dir@/tools/build/dynpmc.pl
23 DEST_PMC_DIR = @build_dir@/runtime/parrot/dynext
24 PMC_GROUP = $(DEST_PMC_DIR)/bcg_group$(LOAD_EXT)
25 LIB_BCG = @build_dir@/blib/lib/libbcg$(SHARE_EXT)
30 .SUFFIXES : .c .h .pmc .dump $(O) .str .pir .pbc
33 $(CC) $(CFLAGS) -I$(@D) @cc_o_out@$@ -c $<
36 $(INCLUDE_DIR)/bcg.h \
37 $(SRC_DIR)/bcg_private.h \
38 $(SRC_DIR)/bcg_logger.h \
39 $(SRC_DIR)/bcg_utils.h \
40 $(SRC_DIR)/bcg_reg_alloc.h \
41 $(SRC_DIR)/bcg_emitter.h
44 $(SRC_DIR)/bcg_logger$(O) \
46 $(SRC_DIR)/bcg_utils$(O) \
47 $(SRC_DIR)/bcg_op$(O) \
48 $(SRC_DIR)/bcg_unit$(O) \
49 $(SRC_DIR)/bcg_reg_alloc_vanilla$(O) \
50 $(SRC_DIR)/bcg_emitter_pasm$(O)
56 $(SRC_PMC_DIR)/*.dump \
59 $(SRC_PMC_DIR)/*$(O) \
60 $(SRC_PMC_DIR)/*$(LOAD_EXT) \
69 $(BCG_O_FILES): $(BCG_H_FILES)
71 $(LIB_BCG): $(BCG_O_FILES)
72 $(LD) $(LD_SHARE_FLAGS) $(LDFLAGS) @ld_out@$@ $(BCG_O_FILES) @libs@
73 $(CP) @build_dir@/blib/lib/libbcg$(SHARE_EXT) @build_dir@
77 @cd $(SRC_PMC_DIR) && $(BUILD_PMC) generate $(PMCS)
78 @cd $(SRC_PMC_DIR) && $(BUILD_PMC) compile $(PMCS)
79 @cd $(SRC_PMC_DIR) && $(BUILD_PMC) linklibs $(PMCS)
80 @cd $(SRC_PMC_DIR) && $(BUILD_PMC) copy "--destination=$(DEST_PMC_DIR)" \
88 cd t && prove && cd ..
98 $(RM_F) $(PMC_GEN_FILES)
99 $(RM_F) $(BCG_O_FILES)