Author: kjs
Date: Thu Feb 21 11:26:08 2008
New Revision: 25943
Modified:
trunk/languages/c99/config/makefiles/root.in
Log:
[c99]
update root.in for c99 language.
Modified: trunk/languages/c99/config/makefiles/root.in
==============================================================================
--- trunk/languages/c99/config/makefiles/root.in (original)
+++ trunk/languages/c99/config/makefiles/root.in Thu Feb 21 11:26:08 2008
@@ -1,112 +1,80 @@
-# $Id$
+## $Id$
-# Setup some commands
-LN_S = @lns@
-PERL = @perl@
-RM_F = @rm_f@
-RM_RF = @rm_rf@
-PARROT = ../../[EMAIL PROTECTED]@
-BUILD = $(PERL) @build_dir@/tools/build/dynpmc.pl
-TOOL_DIR = ../..
-PGE_DIR = ../../compilers/pge
-TGE_DIR = ../../compilers/tge
-CAT = $(PERL) -MExtUtils::Command -e cat
-CP = @cp@
-O = @o@
-LOAD_EXT = @load_ext@
-PARROT_DYNEXT = @build_dir@/runtime/parrot/dynext
+## arguments we want to run parrot with
+PARROT_ARGS =
-PMCDIR = src/pmc
+## configuration settings
+BUILD_DIR = @build_dir@
+LOAD_EXT = @load_ext@
+O = @o@
+
+## Setup some commands
+LN_S = @lns@
+PERL = @perl@
+RM_RF = @rm_rf@
+CP = @cp@
+PARROT = ../../[EMAIL PROTECTED]@
+CAT = $(PERL) -MExtUtils::Command -e cat
+BUILD_DYNPMC = $(PERL) $(BUILD_DIR)/tools/build/dynpmc.pl
+RECONFIGURE = $(PERL) $(BUILD_DIR)/tools/dev/reconfigure.pl
+
+## places to look for things
+PARROT_DYNEXT = $(BUILD_DIR)/runtime/parrot/dynext
+PGE_LIBRARY = $(BUILD_DIR)/runtime/parrot/library/PGE
+PERL6GRAMMAR = $(PGE_LIBRARY)/Perl6Grammar.pbc
+NQP = $(BUILD_DIR)/compilers/nqp/nqp.pbc
+PCT = $(BUILD_DIR)/runtime/parrot/library/PCT.pbc
+
+PMC_DIR = src/pmc
+
+all: c.pbc
+
+C_GROUP = $(PMC_DIR)/c_group$(LOAD_EXT)
+
+SOURCES = c99.pir \
+ src/gen_grammar.pir \
+ src/gen_actions.pir \
+ src/gen_builtins.pir \
+# $(C_GROUP)
-# the default target
-all: c99.pbc #$(PMCDIR)/c99_group$(LOAD_EXT)
+BUILTINS_PIR = \
+ src/builtins/say.pir \
-#PMCS = \
-# c99object \
-# c99integer \
-# c99hash \
-# c99bignum \
-# c99complex \
-# c99fixnum \
-# c99float \
-# c99string
-
-#PMC_SOURCES = \
-# $(PMCDIR)/c99object.pmc \
-# $(PMCDIR)/c99integer.pmc \
-# $(PMCDIR)/c99hash.pmc \
-# $(PMCDIR)/c99bignum.pmc \
-# $(PMCDIR)/c99complex.pmc \
-# $(PMCDIR)/c99fixnum.pmc \
-# $(PMCDIR)/c99float.pmc \
-# $(PMCDIR)/c99string.pmc
-
-#BUILTINS_PIR = \
-# src/builtins/assign.pir \
-# src/builtins/cmp.pir \
-# src/builtins/io.pir
-
-GEN_PIR = \
- src/c99_grammar_gen.pir \
- src/CPP_ASTGrammar.pir \
- src/CPP_AST2Constants.pir \
-# src/OSTGrammar.pir \
-# src/builtins_gen.pir
-
-GEN_PBC = \
- src/c99_grammar_gen.pbc \
- src/c99_PGE.pbc \
- src/CPP_PGE2AST.pbc \
- src/CPP_PASTNodes.pbc \
- src/CPP_AST2Constants.pbc
-# src/AST2OST.pbc \
-# src/POST.pbc
-
-c99.pbc: c99.pir $(GEN_PIR) $(GEN_PBC)
- $(PARROT) -o c99.pbc --output-pbc c99.pir
-
-.SUFFIXES : .pir .pg .tg .pbc
-
-.pir.pbc:
- $(PARROT) -o $@ --output-pbc $<
-
-.tg.pir:
- $(PARROT) $(TGE_DIR)/tgc.pir --output=$@ $<
-
-src/c99_grammar_gen.pir: src/c99.pg
- $(PARROT) $(PGE_DIR)/pgc.pir --output=src/c99_grammar_gen.pir src/c99.pg
-
-src/c99_grammar_gen.pbc: src/c99_grammar_gen.pir
- $(PARROT) -o src/c99_grammar_gen.pbc --output-pbc
src/c99_grammar_gen.pir
-
-src/c99_PGE.pbc: src/c99_PGE.pir src/c99_grammar_gen.pir
- $(PARROT) -o src/c99_PGE.pbc --output-pbc src/c99_PGE.pir
-
-src/CPP_PGE2AST.pbc: src/CPP_PGE2AST.pir src/CPP_ASTGrammar.pir src/preamble
- $(PARROT) -o src/CPP_PGE2AST.pbc --output-pbc src/CPP_PGE2AST.pir
-
-#src/OSTGrammar.pir: src/OSTGrammar.tg
-# $(PARROT) $(TGE_DIR)/tgc.pir --output=src/OSTGrammar.pir
src/OSTGrammar.tg
-
-#src/AST2OST.pbc: src/AST2OST.pir src/OSTGrammar.pir src/preamble
-# $(PARROT) -o src/AST2OST.pbc --output-pbc src/AST2OST.pir
-
-#$(PMCDIR)/c99_group$(LOAD_EXT): $(PARROT) $(PMC_SOURCES)
-# cd $(PMCDIR) && $(BUILD) generate $(PMCS)
-# cd $(PMCDIR) && $(BUILD) compile $(PMCS)
-# cd $(PMCDIR) && $(BUILD) linklibs $(PMCS)
-# cd $(PMCDIR) && $(BUILD) copy --destination=$(PARROT_DYNEXT) $(PMCS)
+# PMCS = c
+# PMC_SOURCES = $(PMC_DIR)/c.pmc
-#src/builtins_gen.pir: $(BUILTINS_PIR)
-# $(CAT) $(BUILTINS_PIR) >src/builtins_gen.pir
+# the default target
+c99.pbc: $(PARROT) $(SOURCES)
+ $(PARROT) $(PARROT_ARGS) -o c.pbc c99.pir
+src/gen_grammar.pir: $(PERL6GRAMMAR) src/parser/grammar.pg
+ $(PARROT) $(PARROT_ARGS) $(PERL6GRAMMAR) \
+ --output=src/gen_grammar.pir \
+ src/parser/grammar.pg
+
+src/gen_actions.pir: $(NQP) $(PCT) src/parser/actions.pm
+ $(PARROT) $(PARROT_ARGS) $(NQP) --output=src/gen_actions.pir \
+ --target=pir src/parser/actions.pm
+
+src/gen_builtins.pir: $(BUILTINS_PIR)
+ $(CAT) $(BUILTINS_PIR) >src/gen_builtins.pir
+
+$(C_GROUP): $(PARROT) $(PMC_SOURCES)
+ cd $(PMC_DIR) && $(BUILD_DYNPMC) generate $(PMCS)
+ cd $(PMC_DIR) && $(BUILD_DYNPMC) compile $(PMCS)
+ cd $(PMC_DIR) && $(BUILD_DYNPMC) linklibs $(PMCS)
+ cd $(PMC_DIR) && $(BUILD_DYNPMC) copy --destination=$(PARROT_DYNEXT)
$(PMCS)
+
+# regenerate the Makefile
+Makefile: config/makefiles/root.in
+ cd $(BUILD_DIR) && $(RECONFIGURE) --step=gen::languages --languages=c
# 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 " all: c99.pbc"
+ @echo " all: c.pbc"
@echo " This is the default."
@echo "Testing:"
@echo " test: Run the test suite."
@@ -122,27 +90,34 @@
@echo ""
test: all
- $(PERL) -Isrc -I../../src t/harness
+ $(PERL) t/harness
+# this target has nothing to do
testclean:
- $(RM_F) "t/*.c99" "t/*.out"
CLEANUPS = \
c99.pbc \
- $(GEN_PIR) \
- $(GEN_PBC) \
- $(PMCDIR)/*.h \
- $(PMCDIR)/*.c \
- $(PMCDIR)/*.dump \
- $(PMCDIR)/*$(O) \
- $(PMCDIR)/*$(LOAD_EXT) \
- t/*.out \
- t/*.rb
+ src/gen_grammar.pir \
+ src/gen_actions.pir \
+ src/gen_builtins.pir \
+ $(PMC_DIR)/*.h \
+ $(PMC_DIR)/*.c \
+ $(PMC_DIR)/*.dump \
+ $(PMC_DIR)/*$(O) \
+ $(PMC_DIR)/*$(LOAD_EXT) \
+ $(PMC_DIR)/*.exp \
+ $(PMC_DIR)/*.ilk \
+ $(PMC_DIR)/*.manifest \
+ $(PMC_DIR)/*.pdb \
+ $(PMC_DIR)/*.lib \
+
-clean:
+clean:
$(RM_RF) $(CLEANUPS)
realclean: clean
$(RM_RF) Makefile
distclean: realclean
+
+