aboutsummaryrefslogtreecommitdiff
path: root/tools/build/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/Makefile.in')
-rw-r--r--tools/build/Makefile.in162
1 files changed, 162 insertions, 0 deletions
diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in
new file mode 100644
index 0000000..733793b
--- /dev/null
+++ b/tools/build/Makefile.in
@@ -0,0 +1,162 @@
+# Copyright (C) 2006-2012, The Perl Foundation.
+# $Id$
+
+PARROT = parrot-4.6.0
+NQP = nqp-2012.08
+RAKUDO = rakudo-2012.08
+STAR_VERSION = 2012.08
+
+PARROT_ARGS =
+
+# values from parrot_config
+PREFIX_DIR = @prefix@
+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)
+HAS_ICU = @has_icu@
+
+CC = @cc@
+CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @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
+POD2MAN = @pod2man@
+
+# locations of parrot resources
+PARROT = $(PARROT_BIN_DIR)/parrot$(EXE)
+NQP_EXE = $(PARROT_BIN_DIR)/nqp$(EXE)
+PBC_TO_EXE = $(PARROT_BIN_DIR)/pbc_to_exe$(EXE)
+PARROT_CONFIG = $(PARROT_BIN_DIR)/parrot_config$(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@
+
+PERL6_EXE = perl6$(EXE)
+PERL6_LANG_DIR = $(PARROT_LIB_DIR)/languages/perl6
+
+# This list must be kept in order, modules always coming after their
+# dependencies
+MODULES = \
+ modules/zavolaj \
+ modules/xml-writer \
+ modules/svg \
+ modules/svg-plot \
+ modules/Math-RungeKutta \
+ modules/Math-Model \
+ modules/perl6-Term-ANSIColor \
+ modules/test-mock \
+ modules/Grammar-Profiler-Simple \
+ modules/grammar-debugger \
+ modules/Perl6-MIME-Base64 \
+ modules/uri \
+ modules/perl6-lwp-simple \
+ modules/json \
+ modules/perl6-digest-md5 \
+ modules/perl6-File-Tools \
+ modules/panda \
+ modules/perl6-http-status \
+ modules/perl6-http-easy \
+ modules/Template-Mojo \
+ modules/Bailador \
+ modules/DBIish \
+ modules/jsonrpc \
+ modules/Pod-To-HTML \
+ modules/doc \
+
+all: rakudo
+
+rakudo: $(RAKUDO)/$(PERL6_EXE)
+$(RAKUDO)/$(PERL6_EXE):
+ @echo "== Configuring and building Rakudo"
+ cd $(RAKUDO) && $(PERL) Configure.pl --with-nqp=$(NQP_EXE) && $(MAKE)
+rakudo-test: rakudo
+ cd $(RAKUDO) && $(MAKE) test
+rakudo-spectest: rakudo
+ cd $(RAKUDO) && $(MAKE) spectest
+rakudo-install: rakudo
+ cd $(RAKUDO) && $(MAKE) install
+ @win32_libparrot_copy@
+ $(CP) $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) .
+ $(CHMOD) 755 $(PERL6_EXE)
+
+modules-install: rakudo
+ @echo "== Installing 'ufo'"
+ $(PERL) tools/build/module-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PERL6_LANG_DIR)/lib $(MODULES)
+ @echo "== Installing binaries"
+ $(PERL) tools/build/bin-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PARROT_BIN_DIR) modules/ufo/bin/ufo modules/panda/bin/panda
+
+install: rakudo-install modules-install
+
+test:
+ @echo ""
+ @echo "To run the Rakudo compiler tests, use 'make rakudo-test'"
+ @echo "To run the Perl 6 spectests, use 'make rakudo-spectest'"
+ @echo ""
+ @echo "To run tests for individual modules, try:"
+ @echo " prove -e ./perl6 -r modules/<name>/t"
+ @echo ""
+
+## cleaning
+clean:
+ $(RM_F) $(CLEANUPS)
+
+distclean: realclean
+
+realclean: clean
+ $(RM_F) Makefile
+
+testclean:
+
+
+## miscellaneous targets
+# a listing of all targets meant to be called by users
+help:
+ @echo ""
+ @echo "Following targets are available for the user:"
+ @echo ""
+ @echo "Maintenance:"
+ @echo " perlcritic: Run Perl::Critic on all the Perl 5 code."
+ @echo ""
+ @echo "Cleaning:"
+ @echo " clean: Basic cleaning up."
+ @echo " distclean: Removes also anything built, in theory."
+ @echo " realclean: Removes also files generated by 'Configure.pl'."
+ @echo " testclean: Clean up test results."
+ @echo ""
+ @echo "Misc:"
+ @echo " help: Print this help message."
+ @echo ""
+
+config:
+ $(PERL) Configure.pl
+
+$(PARROT):
+
+CRITIC_FILES=Configure.pl tools/build/
+
+perlcritic:
+ perlcritic -1 --profile tools/util/perlcritic.conf $(CRITIC_FILES)
+
+msi:
+ -$(CP) c:/strawberry/c/bin/libgcc_s_sjlj-1.dll $(PARROT_BIN_DIR)
+ cmd /c heat dir $(PREFIX_DIR) -gg -sfrag -cg RakudoStar -dr INSTALLROOT -srd -out star-files.wxs
+ cmd /c candle star-files.wxs
+ cmd /c candle -dSTARVERSION=$(STAR_VERSION) tools/build/star-product.wxs
+ cmd /c light -b $(PREFIX_DIR) -ext WixUIExtension star-files.wixobj star-product.wixobj -o rakudo-star-$(STAR_VERSION).msi
+