@@ -15,6 +15,8 @@ PARROT_LIBRARY_DIR = $(PARROT_LIB_DIR)/library
15
15
NQP_LANG_DIR = $(PARROT_LIB_DIR)/languages/nqp
16
16
HAS_ICU = @has_icu@
17
17
18
+ PARROT_BUILD_DIR = gen/parrot
19
+
18
20
CC = @cc@
19
21
CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @gc_flag@ @optimize@
20
22
EXE = @exe@
@@ -137,8 +139,8 @@ STAGE0_SOURCES = \
137
139
src/vm/parrot/stage0/NQP-s0.pir
138
140
139
141
STAGE0 = src/vm/parrot/stage0
140
- STAGE1 = gen/parrot /stage1
141
- STAGE2 = gen/parrot /stage2
142
+ STAGE1 = $(PARROT_BUILD_DIR) /stage1
143
+ STAGE2 = $(PARROT_BUILD_DIR) /stage2
142
144
143
145
MODULE_LOADER_PBC = ModuleLoader.pbc
144
146
@@ -156,9 +158,9 @@ P6QREGEX_PBC = NQPP6QRegex.pbc
156
158
P6QREGEX_COMBINED = gen/NQPP6QRegex.nqp
157
159
P6QREGEX_COMBINED_PIR = gen/NQPP6QRegex.pir
158
160
159
- P5QREGEX_PBC = NQPP5QRegex.pbc
160
- P5QREGEX_COMBINED = gen /NQPP5QRegex.nqp
161
- P5QREGEX_COMBINED_PIR = gen /NQPP5QRegex.pir
161
+ P5QREGEX_PBC = $(PARROT_BUILD_DIR)/ NQPP5QRegex.pbc
162
+ P5QREGEX_COMBINED = $(PARROT_BUILD_DIR) /NQPP5QRegex.nqp
163
+ P5QREGEX_COMBINED_PIR = $(PARROT_BUILD_DIR) /NQPP5QRegex.pir
162
164
163
165
NQP_COMBINED = gen/NQP.nqp
164
166
NQP_COMBINED_PIR = gen/NQP.pir
@@ -190,7 +192,7 @@ CORE_SETTING_PIR = gen/NQPCORE.setting.pir
190
192
STAGE0_PBCS = $(STAGE0)/$(NQP_MO_PBC) $(STAGE0)/$(MODULE_LOADER_PBC) $(STAGE0)/$(CORE_SETTING_PBC) $(STAGE0)/$(QASTNODE_PBC) $(STAGE0)/$(QREGEX_PBC) $(STAGE0)/$(HLL_PBC) $(STAGE0)/$(QAST_PBC) $(STAGE0)/$(P6QREGEX_PBC) $(STAGE0)/$(NQP_PBC)
191
193
STAGE1_PBCS = $(STAGE1)/$(NQP_MO_PBC) $(STAGE1)/$(MODULE_LOADER_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(QASTNODE_PBC) $(STAGE1)/$(QREGEX_PBC) $(STAGE1)/$(HLL_PBC) $(STAGE1)/$(QAST_PBC) $(STAGE1)/$(P6QREGEX_PBC) $(STAGE1)/$(NQP_PBC)
192
194
STAGE2_PBCS = $(STAGE2)/$(NQP_MO_PBC) $(STAGE2)/$(MODULE_LOADER_PBC) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(QASTNODE_PBC) $(STAGE2)/$(QREGEX_PBC) $(STAGE2)/$(HLL_PBC) $(STAGE2)/$(QAST_PBC) $(STAGE2)/$(P6QREGEX_PBC) $(STAGE2)/$(NQP_PBC)
193
- ALL_PBCS = $(NQP_MO_PBC) $(MODULE_LOADER_PBC) $(CORE_SETTING_PBC) $(QASTNODE_PBC) $(QREGEX_PBC) $(HLL_PBC) $(QAST_PBC) $(P6QREGEX_PBC) $(NQP_PBC)
195
+ ALL_PBCS = $(PARROT_BUILD_DIR)/$( NQP_MO_PBC) $(PARROT_BUILD_DIR)/$( MODULE_LOADER_PBC) $(PARROT_BUILD_DIR)/$( CORE_SETTING_PBC) $(PARROT_BUILD_DIR)/$( QASTNODE_PBC) $(PARROT_BUILD_DIR)/$( QREGEX_PBC) $(PARROT_BUILD_DIR)/$( HLL_PBC) $(PARROT_BUILD_DIR)/$( QAST_PBC) $(PARROT_BUILD_DIR)/$( P6QREGEX_PBC) $(PARROT_BUILD_DIR)/ $(NQP_PBC)
194
196
195
197
GROUP = nqp_group
196
198
OPS = nqp_ops
@@ -553,7 +555,7 @@ CLEANUPS = \
553
555
src/vm/parrot/6model/reprs/*$(O) \
554
556
src/vm/parrot/6model/reprs/*.pdb \
555
557
556
- all: $(NQP_EXE) $(P5QREGEX_PBC)
558
+ all: $(PARROT_BUILD_DIR)/$( NQP_EXE) $(P5QREGEX_PBC)
557
559
558
560
install: all
559
561
$(MKPATH) $(DESTDIR)$(PARROT_LIBRARY_DIR)
@@ -565,11 +567,11 @@ install: all
565
567
$(CP) $(QASTNODE_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QASTNODE_PBC)
566
568
$(CP) $(P6QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(P6QREGEX_PBC)
567
569
$(CP) $(P5QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(P5QREGEX_PBC)
568
- $(CP) $(HLL_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(HLL_PBC)
569
- $(CP) $(CORE_SETTING_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(CORE_SETTING_PBC)
570
- $(CP) $(NQP_MO_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_MO_PBC)
571
- $(CP) $(NQP_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_PBC)
572
- $(CP) $(QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QREGEX_PBC)
570
+ $(CP) $(PARROT_BIN_DIR)/$( HLL_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(HLL_PBC)
571
+ $(CP) $(PARROT_BIN_DIR)/$( CORE_SETTING_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(CORE_SETTING_PBC)
572
+ $(CP) $(PARROT_BIN_DIR)/$( NQP_MO_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_MO_PBC)
573
+ $(CP) $(PARROT_BIN_DIR)/$( NQP_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_PBC)
574
+ $(CP) $(PARROT_BIN_DIR)/$( QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QREGEX_PBC)
573
575
$(MKPATH) $(DESTDIR)$(PARROT_BIN_DIR)
574
576
$(CP) $(NQP_EXE) $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
575
577
$(CHMOD) 755 $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
@@ -758,25 +760,24 @@ $(STAGE2)/$(NQP_PBC): $(STAGE1_PBCS) $(STAGE2)/$(P6QREGEX_PBC) $(NQP_SOURCES)
758
760
$(STAGE2)/$(NQP_COMBINED_PIR)
759
761
760
762
$(ALL_PBCS): $(STAGE2_PBCS)
761
- $(CP) $(STAGE2)/$(NQP_MO_PBC) .
762
- $(CP) $(STAGE2)/$(MODULE_LOADER_PBC) .
763
- $(CP) $(STAGE2)/$(CORE_SETTING_PBC) .
764
- $(CP) $(STAGE2)/$(QASTNODE_PBC) .
765
- $(CP) $(STAGE2)/$(QREGEX_PBC) .
766
- $(CP) $(STAGE2)/$(HLL_PBC) .
767
- $(CP) $(STAGE2)/$(QAST_PBC) .
768
- $(CP) $(STAGE2)/$(P6QREGEX_PBC) .
769
- $(CP) $(STAGE2)/$(NQP_PBC) .
770
-
771
- $(NQP_EXE): $(NQP_PBC) $(PARROT_DLL_COPY)
772
- $(PBC_TO_EXE) $(NQP_PBC)
773
-
774
- $(P5QREGEX_PBC): $(NQP_EXE) $(P5QREGEX_SOURCES)
775
- $(MKPATH) $(STAGE2)/gen
776
- $(PERL) tools/build/gen-cat.pl parrot $(P5QREGEX_SOURCES) > $(STAGE2)/$(P5QREGEX_COMBINED)
777
- ./$(NQP_EXE) --target=pir --output=$(STAGE2)/$(P5QREGEX_COMBINED_PIR) \
778
- $(STAGE2)/$(P5QREGEX_COMBINED)
779
- $(PARROT) -o $(P5QREGEX_PBC) $(STAGE2)/$(P5QREGEX_COMBINED_PIR)
763
+ $(CP) $(STAGE2)/$(NQP_MO_PBC) $(PARROT_BUILD_DIR)
764
+ $(CP) $(STAGE2)/$(MODULE_LOADER_PBC) $(PARROT_BUILD_DIR)
765
+ $(CP) $(STAGE2)/$(CORE_SETTING_PBC) $(PARROT_BUILD_DIR)
766
+ $(CP) $(STAGE2)/$(QASTNODE_PBC) $(PARROT_BUILD_DIR)
767
+ $(CP) $(STAGE2)/$(QREGEX_PBC) $(PARROT_BUILD_DIR)
768
+ $(CP) $(STAGE2)/$(HLL_PBC) $(PARROT_BUILD_DIR)
769
+ $(CP) $(STAGE2)/$(QAST_PBC) $(PARROT_BUILD_DIR)
770
+ $(CP) $(STAGE2)/$(P6QREGEX_PBC) $(PARROT_BUILD_DIR)
771
+ $(CP) $(STAGE2)/$(NQP_PBC) $(PARROT_BUILD_DIR)
772
+
773
+ $(PARROT_BUILD_DIR)/$(NQP_EXE): $(PARROT_BUILD_DIR)/$(NQP_PBC) $(PARROT_DLL_COPY)
774
+ cd $(PARROT_BUILD_DIR) && $(PBC_TO_EXE) $(NQP_PBC)
775
+
776
+ $(P5QREGEX_PBC): $(PARROT_BUILD_DIR)/$(NQP_EXE) $(P5QREGEX_SOURCES)
777
+ $(PERL) tools/build/gen-cat.pl parrot $(P5QREGEX_SOURCES) > $(P5QREGEX_COMBINED)
778
+ $(PARROT_BUILD_DIR)/$(NQP_EXE) --library=$(PARROT_BUILD_DIR) --target=pir --output=$(P5QREGEX_COMBINED_PIR) \
779
+ $(P5QREGEX_COMBINED)
780
+ $(PARROT) --library=$(PARROT_BUILD_DIR) -o $(P5QREGEX_PBC) $(P5QREGEX_COMBINED_PIR)
780
781
781
782
@make_dllcopy@
782
783
0 commit comments