-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.in
114 lines (88 loc) · 2.62 KB
/
Makefile.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Makefile for eclectus
# configuration settings
VERSION_DIR := @versiondir@
BIN_DIR := @bin_dir@
LIB_DIR := @lib_dir@$(VERSION_DIR)
DOC_DIR := @doc_dir@$(VERSION_DIR)
MANDIR := @mandir@$(VERSION_DIR)
# Set up extensions
LOAD_EXT := @load_ext@
O := @o@
EXE := @exe@
# Set up directories
BUILD_DIR := @build_dir@
LIBRARY_DIR := $(BUILD_DIR)/runtime/parrot/library
PMC_DIR := src/pmc
DYNEXT_DIR := dynext
# Set up commands
MAKE := @make_c@
PARROT := $(BUILD_DIR)/parrot$(EXE)
PERL := @perl@
RM_F := @rm_f@
PMC_GROUP := $(DYNEXT_DIR)/eclectus_group$(LOAD_EXT)
PMC_DEPS := \
$(PMC_DIR)/eclectusboolean.pmc \
$(PMC_DIR)/eclectuscharacter.pmc \
$(PMC_DIR)/eclectusemptylist.pmc \
$(PMC_DIR)/eclectusfixnum.pmc \
$(PMC_DIR)/eclectuspair.pmc \
$(PMC_DIR)/eclectusstring.pmc \
$(PMC_DIR)/eclectusvector.pmc
# default
all: build
# This is a listing of all targets, that are meant to be called by users
help:
@echo ""
@echo "Following targets are available for the user:"
@echo ""
@echo "Building:"
@echo " all: Build the dynamic PMCSs needed by Eclectus."
@echo " This is the default target."
@echo ""
@echo "Testing:"
@echo " test: Run the test suite."
@echo " smoke: Run the test suite and send report to the smolder server"
@echo ""
@echo "Cleaning:"
@echo " clean: Clean up."
@echo " clean-test: Clean up temporary files from testing."
@echo " clean-pmc: Clean up temporary files from the PMC build process."
@echo " realclean: Clean and remove Makefile."
@echo ""
@echo "Misc:"
@echo " help: Print this help message."
@echo ""
# regenerate the Makefile
Makefile: build/templates/Makefile.in
$(PERL) Configure.pl
# Compilation:
build: $(PMC_GROUP) driver_nqp.pbc
$(PMC_GROUP): $(PMC_DEPS)
$(MAKE) $(PMC_DIR) build
export DYNPMC_INCLUDE=@build_dir@/src/dynpmc
driver_nqp.pbc: src/builtins/all.pbc driver_nqp.pir
$(PARROT) -o driver_nqp.pbc driver_nqp.pir
src/builtins/all.pbc: src/builtins/all.pir
$(PARROT) -o src/builtins/all.pbc src/builtins/all.pir
# testing
test: build
$(PERL) t/harness
# run the test suite, create a TAP archive and send it off to smolder
smoke: all
- $(PERL) t/harness --archive --send-to-smolder
# cleaning up
clean: clean-pmc clean-test
$(RM_F) \
stst.out \
driver_nqp.pbc \
src/builtins/all.pbc
clean-pmc:
$(MAKE) $(PMC_DIR) clean
# nothing to do
clean-test:
realclean: clean
$(RM_F) Makefile
# Local variables:
# mode: makefile
# End:
# vim: ft=make: