Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
165 lines (133 sloc) 4.21 KB
# Copyright (C) 2002-2009, Parrot Foundation.
# $Id$
## 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@
## Setup some commands
PERL := @perl@
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@
DOCS := README
BUILD_CLEANUPS := \
"*.pbc" \
"*.c" \
"*$(O)" \
bf@exe@ \
bfc@exe@ \
bfco@exe@ \
#IF(win32): "parrot-*.exe" \
#IF(win32): parrot-bf.iss \
#IF(win32): "setup-parrot-*.exe" \
installable_bf@exe@ \
installable_bfc@exe@ \
installable_bfco@exe@
TEST_CLEANUPS :=
# the default target
build: bf.pbc bfc.pbc bfco.pbc
all: build bf@exe@ bfc@exe@ bfco@exe@ installable
bf.pbc: bf.pasm
$(PARROT) -o bf.pbc bf.pasm
bfc.pbc: bfc.pir
$(PARROT) -o bfc.pbc bfc.pir
bfco.pbc: bfco.pir
$(PARROT) -o bfco.pbc bfco.pir
bf@exe@: bf.pbc
$(PBC_TO_EXE) bf.pbc
bfc@exe@: bfc.pbc
$(PBC_TO_EXE) bfc.pbc
bfco@exe@: bfco.pbc
$(PBC_TO_EXE) bfco.pbc
installable: installable_bf@exe@ installable_bfc@exe@ installable_bfco@exe@
installable_bf@exe@: bf.pbc
$(PBC_TO_EXE) bf.pbc --install
installable_bfc@exe@: bfc.pbc
$(PBC_TO_EXE) bfc.pbc --install
installable_bfco@exe@: bfco.pbc
$(PBC_TO_EXE) bfco.pbc --install
Makefile: config/makefiles/root.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: bf.pbc"
@echo " This is the default."
@echo " all: bf.pbc bf@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 " 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
install: installable
$(CP) installable_bf@exe@ $(BIN_DIR)/parrot-bf@exe@
$(CHMOD) 0755 $(BIN_DIR)/parrot-bf@exe@
$(CP) installable_bfc@exe@ $(BIN_DIR)/parrot-bfc@exe@
$(CHMOD) 0755 $(BIN_DIR)/parrot-bfc@exe@
$(CP) installable_bfco@exe@ $(BIN_DIR)/parrot-bfco@exe@
$(CHMOD) 0755 $(BIN_DIR)/parrot-bfco@exe@
-$(MKPATH) $(LIB_DIR)/languages/bf
$(CP) bf.pbc $(LIB_DIR)/languages/bf/bf.pbc
$(CP) bfc.pbc $(LIB_DIR)/languages/bf/bfc.pbc
$(CP) bfco.pbc $(LIB_DIR)/languages/bf/bfco.pbc
# -$(MKPATH) $(MANDIR)/man1
# $(POD2MAN) doc/running.pod > $(MANDIR)/man1/parrot-bf.1
-$(MKPATH) $(DOC_DIR)/languages/bf
$(CP) $(DOCS) $(DOC_DIR)/languages/bf
uninstall:
$(RM_F) $(BIN_DIR)/parrot-bf@exe@
$(RM_F) $(BIN_DIR)/parrot-bfc@exe@
$(RM_F) $(BIN_DIR)/parrot-bfco@exe@
$(RM_RF) $(LIB_DIR)/languages/bf
# $(RM_F) $(MANDIR)/man1/parrot-bf.1
$(RM_RF) $(DOC_DIR)/languages/bf
win32-inno-installer: installable
# -$(MKPATH) man/man1
# $(POD2MAN) doc/running.pod > man/man1/parrot-bf.1
# -$(MKPATH) man/html
# pod2html --infile doc/running.pod --outfile man/html/parrot-bf.html
$(CP) installable_bf@exe@ parrot-bf.exe
$(CP) installable_bfc@exe@ parrot-bfc.exe
$(CP) installable_bfco@exe@ parrot-bfco.exe
$(PERL) -I$(LIB_DIR)/tools/lib $(LIB_DIR)/tools/dev/mk_inno_language.pl bf
iscc parrot-bf.iss
testclean:
$(RM_F) $(TEST_CLEANUPS)
clean:
$(RM_F) $(TEST_CLEANUPS) $(BUILD_CLEANUPS)
realclean:
$(RM_F) $(TEST_CLEANUPS) $(BUILD_CLEANUPS) Makefile
distclean: realclean
# Local variables:
# mode: makefile
# End:
# vim: ft=make:
Something went wrong with that request. Please try again.