Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: cec470016e
Fetching contributors…

Cannot retrieve contributors at this time

180 lines (146 sloc) 4.9 kb
## arguments we want to run parrot with
PARROT_ARGS =
## configuration settings
VERSION = @versiondir@
BIN_DIR = @bindir@
LIB_DIR = @libdir@$(VERSION)
DOC_DIR = @docdir@$(VERSION)
MANDIR = @mandir@$(VERSION)
# Set up extensions
LOAD_EXT = @load_ext@
O = @o@
# Various paths
PERL6GRAMMAR = $(LIB_DIR)/library/PGE/Perl6Grammar.pbc
NQP = $(LIB_DIR)/languages/nqp/nqp.pbc
PCT = $(LIB_DIR)/library/PCT.pbc
PMC_DIR = src/pmc
## Setup some commands
MAKE = @make_c@
PERL = @perl@
CAT = @cat@
CHMOD = @chmod@
CP = @cp@
MKPATH = @mkpath@
RM_F = @rm_f@
RM_RF = @rm_rf@
POD2MAN = pod2man
PARROT = $(BIN_DIR)/parrot@exe@
PBC_TO_EXE = $(BIN_DIR)/pbc_to_exe@exe@
#IF(darwin):
#IF(darwin):# MACOSX_DEPLOYMENT_TARGET must be defined for OS X compilation/linking
#IF(darwin):export MACOSX_DEPLOYMENT_TARGET = @osx_version@
BLIZKOST_GROUP = $(PMC_DIR)/blizkost_group$(LOAD_EXT)
PMC_DEPS = \
build/src/pmc/Makefile.in \
$(PMC_DIR)/p5sv.pmc \
$(PMC_DIR)/p5interpreter.pmc \
$(PMC_DIR)/p5namespace.pmc \
$(PMC_DIR)/p5scalar.pmc
SOURCES = \
perl5.pir
DOCS = README
BUILD_CLEANUPS = \
perl5.pbc \
"src/gen_*.pir" \
"*.c" \
"*$(O)" \
blizkost@exe@ \
#IF(win32): parrot-blizkost.exe \
#IF(win32): parrot-blizkost.iss \
#IF(win32): "setup-parrot-*.exe" \
installable_blizkost@exe@
TEST_CLEANUPS =
# the default target
build: \
$(BLIZKOST_GROUP) \
perl5.pbc
all: build blizkost@exe@ installable
perl5.pbc: $(SOURCES)
$(PARROT) $(PARROT_ARGS) -o perl5.pbc perl5.pir
blizkost@exe@: perl5.pbc
$(PBC_TO_EXE) perl5.pbc
$(CP) perl5@exe@ blizkost@exe@
$(RM_F) perl5@exe@
$(CHMOD) 0775 blizkost@exe@
#IF(win32): copy $(BIN_DIR)\libparrot.dll .
$(BLIZKOST_GROUP): $(PMC_DEPS)
$(MAKE) $(PMC_DIR)
src/gen_builtins.pir: build/gen_builtins_pir.pl
$(PERL) build/gen_builtins_pir.pl $(BUILTINS_PIR) > src/gen_builtins.pir
installable: installable_blizkost@exe@
installable_blizkost@exe@: perl5.pbc
$(PBC_TO_EXE) perl5.pbc --install
$(CP) installable_perl5@exe@ installable_blizkost@exe@
$(RM_F) installable_perl5@exe@
$(CHMOD) 0775 installable_blizkost@exe@
Makefile: build/Makefile.in
$(PERL) Configure.pl
# 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 " build: perl5.pbc"
@echo " This is the default."
@echo " blizkost@exe@ Self-hosting binary not to be installed."
@echo " all: perl5.pbc blizkost@exe@ installable"
@echo " installable: Create libs and self-hosting binaries to be installed."
@echo " install: Install the installable targets and docs."
@echo ""
@echo "Testing:"
@echo " test: Run the test suite."
@echo " test-installable: Test self-hosting targets."
@echo " testclean: Clean up test results."
@echo ""
@echo "Cleaning:"
@echo " clean: Basic cleaning up."
@echo " realclean: Removes also files generated by 'Configure.pl'"
@echo " distclean: Removes also anything built, in theory"
@echo ""
@echo "Misc:"
@echo " help: Print this help message."
@echo ""
test: build
$(PERL) -I$(LIB_DIR)/tools/lib t/harness --bindir=$(BIN_DIR)
nt: build
$(PERL) -I$(LIB_DIR)/tools/lib t/harness --bindir=$(BIN_DIR) --nt
# basic run for missing libs
test-installable: installable
echo "1" | ./installable_blizkost@exe@
install: installable
$(MAKE) $(PMC_DIR) install
$(CP) installable_blizkost@exe@ $(BIN_DIR)/parrot-blizkost@exe@
$(CHMOD) 0755 $(BIN_DIR)/parrot-blizkost@exe@
-$(MKPATH) $(LIB_DIR)/languages/perl5
$(CP) perl5.pbc $(LIB_DIR)/languages/perl5/perl5.pbc
-$(MKPATH) $(MANDIR)/man1
-$(MKPATH) $(DOC_DIR)/languages/perl5
$(CP) $(DOCS) $(DOC_DIR)/languages/perl5
uninstall:
$(MAKE) $(PMC_DIR) uninstall
$(RM_F) $(BIN_DIR)/parrot-blizkost@exe@
$(RM_RF) $(LIB_DIR)/languages/perl5
$(RM_F) $(MANDIR)/man1/parrot-blizkost.1
$(RM_RF) $(DOC_DIR)/languages/perl5
win32-inno-installer: installable
# -$(MKPATH) man/man1
# $(POD2MAN) doc/running.pod > man/man1/parrot-blizkost.1
# -$(MKPATH) man/html
# pod2html --infile doc/running.pod --outfile man/html/parrot-blizkost.html
$(CP) installable_blizkost@exe@ parrot-blizkost.exe
$(PERL) -I$(LIB_DIR)/tools/lib $(LIB_DIR)/tools/dev/mk_inno_language.pl blizkost
$(PERL) -i.bak -pe "s|languages\\blizkost|languages\\perl5|" parrot-blizkost.iss
iscc parrot-blizkost.iss
testclean:
$(RM_F) $(TEST_CLEANUPS)
clean:
$(MAKE) $(PMC_DIR) clean
$(RM_F) $(TEST_CLEANUPS) $(BUILD_CLEANUPS)
realclean:
$(MAKE) $(PMC_DIR) realclean
$(RM_F) $(TEST_CLEANUPS) $(BUILD_CLEANUPS) Makefile
distclean: realclean
# Local variables:
# mode: makefile
# End:
# vim: ft=make:
Jump to Line
Something went wrong with that request. Please try again.