summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2020-01-02 18:51:43 +0200
committerAdrian Thurston <thurston@colm.net>2020-01-02 18:51:43 +0200
commit41b04f64ea5c607d2cb00765b68d28226e14a7e8 (patch)
treed23f56bb4957e65c8703f55416b11d1c06adf4fb
parent8661124b75f7baed8a90ccdd638ceb2a2de43754 (diff)
downloadcolm-41b04f64ea5c607d2cb00765b68d28226e14a7e8.tar.gz
using a wrapper script to achieve one output per run
Using a wrapper around colm that tars up output files into a pack. The same wrapper can be used to extract the output files one at a time. Using -p to specify the pack file name. Using the wrapper in the building of colm and ragel. refs #85
-rw-r--r--colm/.gitignore2
-rw-r--r--colm/Makefile.am64
-rw-r--r--colm/colm-pack.sh55
-rw-r--r--colm/exports.cc7
-rw-r--r--ragel/.gitignore2
-rw-r--r--ragel/Makefile.am12
-rw-r--r--ragel/host-asm/.gitignore2
-rw-r--r--ragel/host-asm/Makefile.am13
-rw-r--r--ragel/host-c/.gitignore2
-rw-r--r--ragel/host-c/Makefile.am14
-rw-r--r--ragel/host-crack/.gitignore1
-rw-r--r--ragel/host-crack/Makefile.am14
-rw-r--r--ragel/host-csharp/.gitignore1
-rw-r--r--ragel/host-csharp/Makefile.am14
-rw-r--r--ragel/host-d/.gitignore1
-rw-r--r--ragel/host-d/Makefile.am14
-rw-r--r--ragel/host-go/.gitignore1
-rw-r--r--ragel/host-go/Makefile.am14
-rw-r--r--ragel/host-java/.gitignore1
-rw-r--r--ragel/host-java/Makefile.am14
-rw-r--r--ragel/host-js/.gitignore1
-rw-r--r--ragel/host-js/Makefile.am14
-rw-r--r--ragel/host-julia/.gitignore1
-rw-r--r--ragel/host-julia/Makefile.am14
-rw-r--r--ragel/host-ocaml/.gitignore1
-rw-r--r--ragel/host-ocaml/Makefile.am14
-rw-r--r--ragel/host-ruby/.gitignore1
-rw-r--r--ragel/host-ruby/Makefile.am14
-rw-r--r--ragel/host-rust/.gitignore1
-rw-r--r--ragel/host-rust/Makefile.am14
30 files changed, 240 insertions, 83 deletions
diff --git a/colm/.gitignore b/colm/.gitignore
index 5cded594..9846cac8 100644
--- a/colm/.gitignore
+++ b/colm/.gitignore
@@ -34,3 +34,5 @@
/input
/output
/log
+
+/colm-pack
diff --git a/colm/Makefile.am b/colm/Makefile.am
index fcb5c39a..8e4bc0bb 100644
--- a/colm/Makefile.am
+++ b/colm/Makefile.am
@@ -25,6 +25,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/aapl
AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = colm
+bin_SCRIPTS = colm-pack
RUNTIME_SRC = \
map.c pdarun.c list.c input.c stream.c debug.c \
@@ -73,6 +74,9 @@ colminc_HEADERS = $(RUNTIME_HDR)
BUILT_SOURCES = version.h include/colm
+gen:
+ mkdir -p gen
+
if EXTERNAL_COLM
#
@@ -105,19 +109,18 @@ bootstrap0_LDADD = libprog.a libcolm.la
# the colm syntax/semantics that is implemented in colm itself.
#
-tar/bootstrap1.tar: bootstrap0$(EXEEXT)
- mkdir -p tar gen
- $(builddir)/bootstrap0 -c -o tar/parse1.c -e tar/if1.h -x tar/if1.cc
- tar -C tar -cf tar/bootstrap1.tar parse1.c if1.h if1.cc
+gen/bootstrap1.pack: colm-pack gen bootstrap0$(EXEEXT)
+ $(builddir)/colm-pack bootstrap0 -p $@ \
+ -c -o gen/parse1.c -e gen/if1.h -x gen/if1.cc
-gen/parse1.c: tar/bootstrap1.tar
- tar -C gen -xmf $< parse1.c
+gen/parse1.c: gen/bootstrap1.pack
+ $(builddir)/colm-pack unpack -o $@ $<
-gen/if1.h: tar/bootstrap1.tar
- tar -C gen -xmf $< if1.h
+gen/if1.h: gen/bootstrap1.pack
+ $(builddir)/colm-pack unpack -o $@ $<
-gen/if1.cc: tar/bootstrap1.tar
- tar -C gen -xmf $< if1.cc
+gen/if1.cc: gen/bootstrap1.pack
+ $(builddir)/colm-pack unpack -o $@ $<
# Listing if1.h in BUILT_SOURCES isn't sufficient because it depends on the
# building of bootstrap0. Automake wants to put all built sources into a list
@@ -140,19 +143,18 @@ bootstrap1_LDADD = libprog.a libcolm.la
# and thus generates the sources used in the colm binary.
#
-tar/bootstrap2.tar: bootstrap1$(EXEEXT) colm.lm
- mkdir -p tar gen
- $(builddir)/bootstrap1 -c -o tar/parse2.c -e tar/if2.h -x tar/if2.cc colm.lm
- tar -C tar -cf tar/bootstrap2.tar parse2.c if2.h if2.cc
+gen/bootstrap2.pack: colm-pack gen bootstrap1$(EXEEXT) colm.lm
+ $(builddir)/colm-pack bootstrap1 -p $@ \
+ -c -o gen/parse2.c -e gen/if2.h -x gen/if2.cc colm.lm
-gen/parse2.c: tar/bootstrap2.tar
- tar -C gen -xmf $< parse2.c
+gen/parse2.c: gen/bootstrap2.pack
+ $(builddir)/colm-pack unpack -o $@ $<
-gen/if2.h: tar/bootstrap2.tar
- tar -C gen -xmf $< if2.h
+gen/if2.h: gen/bootstrap2.pack
+ $(builddir)/colm-pack unpack -o $@ $<
-gen/if2.cc: tar/bootstrap2.tar
- tar -C gen -xmf $< if2.cc
+gen/if2.cc: gen/bootstrap2.pack
+ $(builddir)/colm-pack unpack -o $@ $<
BUILT_SOURCES += gen/parse2.c gen/if2.h gen/if2.cc
loadboot2.cc: gen/if2.h
@@ -165,19 +167,18 @@ bootstrap2_LDADD = libprog.a libcolm.la
endif
-tar/bootstrap3.tar: $(BUILD_PARSE_3_WITH) prog.lm colm.lm
- mkdir -p tar gen
- $(BUILD_PARSE_3_WITH) -c -o tar/parse3.c -e tar/if3.h -x tar/if3.cc prog.lm
- tar -C tar -cf tar/bootstrap3.tar parse3.c if3.h if3.cc
+gen/bootstrap3.pack: colm-pack gen $(BUILD_PARSE_3_WITH) prog.lm colm.lm
+ $(builddir)/colm-pack $(BUILD_PARSE_3_WITH) -p $@ \
+ -c -o gen/parse3.c -e gen/if3.h -x gen/if3.cc prog.lm
-gen/parse3.c: tar/bootstrap3.tar
- tar -C gen -xmf $< parse3.c
+gen/parse3.c: gen/bootstrap3.pack
+ $(builddir)/colm-pack unpack -o $@ $<
-gen/if3.h: tar/bootstrap3.tar
- tar -C gen -xmf $< if3.h
+gen/if3.h: gen/bootstrap3.pack
+ $(builddir)/colm-pack unpack -o $@ $<
-gen/if3.cc: tar/bootstrap3.tar
- tar -C gen -xmf $< if3.cc
+gen/if3.cc: gen/bootstrap3.pack
+ $(builddir)/colm-pack unpack -o $@ $<
BUILT_SOURCES += gen/parse3.c gen/if3.h gen/if3.cc
loadcolm.cc: gen/if3.h
@@ -201,3 +202,6 @@ config.h: ../src/config.h
CLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = prog.lm colm.lm loadfinal.cc
+
+colm-pack: colm-pack.sh
+ @$(top_srcdir)/sedsubst $< $@ -w,+x $(SED_SUBST)
diff --git a/colm/colm-pack.sh b/colm/colm-pack.sh
new file mode 100644
index 00000000..9975cb0e
--- /dev/null
+++ b/colm/colm-pack.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+#
+
+if [ $1 = "unpack" ]; then
+ shift 1
+ while getopts "o:" opt; do
+ case $opt in
+ o) parser_output=$OPTARG;;
+ esac
+ done
+ shift $((OPTIND - 1));
+
+ tar -xmf "$@" $parser_output
+ exit $?
+
+else
+
+ if [ "`basename $0`" != "$0" ] && [ -x "`dirname $0`/$1" ]; then
+ COLM="`dirname $0`/$1"
+ else
+ COLM=@prefix@/bin/$1
+ fi
+
+ shift 1
+
+ ARGS=""
+
+ # Using silent mode to pass other options through.
+ while getopts "p:o:e:x:RcD:I:L:vdlirS:M:vHh?-:sVa:m:b:E:" opt; do
+
+ case $opt in
+ p)
+ # Pack file name
+ pack_file=$OPTARG
+ ;;
+ [oexm])
+ # Parser Output (C)
+ parser_output=$OPTARG
+ ARGS="$ARGS -$opt $OPTARG.pack"
+ PACKS="$PACKS $OPTARG.pack"
+ ;;
+ [DILSMambE-]) ARGS="$ARGS -$opt $OPTARG" ;;
+ [RcvdlirvHhsV]) ARGS="$ARGS -$opt" ;;
+ ?)
+ exit 1;
+ ;;
+ esac
+ done
+
+ shift $((OPTIND - 1));
+
+ $COLM $ARGS "$@"
+ tar --transform 's/.pack$//' -cf "$pack_file" $PACKS
+ rm -f $PACKS
+fi
diff --git a/colm/exports.cc b/colm/exports.cc
index 58482ad1..988499db 100644
--- a/colm/exports.cc
+++ b/colm/exports.cc
@@ -165,8 +165,13 @@ void Compiler::generateExportsImpl()
{
ostream &out = *outStream;
+ char *headerFn = strdup( exportHeaderFn );
+ char *suffix = strstr( headerFn, ".pack" );
+ if ( suffix != 0 && strcmp( suffix, ".pack" ) == 0 )
+ *suffix = 0;
+
if ( exportHeaderFn != 0 ) {
- out << "#include \"" << exportHeaderFn << "\"\n";
+ out << "#include \"" << headerFn << "\"\n";
}
out << "#include <colm/tree.h>\n";
diff --git a/ragel/.gitignore b/ragel/.gitignore
index 598fe056..d31bf206 100644
--- a/ragel/.gitignore
+++ b/ragel/.gitignore
@@ -54,3 +54,5 @@
/CMakeFiles
/cmake_install.cmake
+
+/*.pack
diff --git a/ragel/Makefile.am b/ragel/Makefile.am
index 05177575..81dc02d2 100644
--- a/ragel/Makefile.am
+++ b/ragel/Makefile.am
@@ -2,9 +2,10 @@ SUBDIRS = . host-ruby host-asm host-julia host-ocaml host-c \
host-d host-csharp host-go host-java host-rust host-crack host-js
COLM_BIN = ../colm/colm
+COLM_PACK = ../colm/colm-pack
COLM_LA = ../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
KELBT = @KELBT@
RAGEL = @RAGEL@
@@ -127,11 +128,14 @@ RAGEL_LM = \
ragel.lm \
rlreduce.lm
-parse.c: $(RAGEL_LM) $(COLM_BINDEP)
- $(COLM_BIN) -c -b rlparseC -o $@ -m rlreduce.cc $<
+parse.pack: $(RAGEL_LM) $(COLM_BINDEP)
+ $(COLM_PACK) colm -p parse.pack -c -b rlparseC -o parse.c -m rlreduce.cc $<
-rlreduce.cc: parse.c
+rlreduce.cc: parse.pack
+ $(COLM_PACK) unpack -o $@ $<
+parse.c: parse.pack
+ $(COLM_PACK) unpack -o $@ $<
if WITH_RAGEL_KELBT
diff --git a/ragel/host-asm/.gitignore b/ragel/host-asm/.gitignore
index b90cf7dc..aac24809 100644
--- a/ragel/host-asm/.gitignore
+++ b/ragel/host-asm/.gitignore
@@ -4,8 +4,10 @@
/.libs
/ragel-asm
/ragel-asm.exe
+/rlparse.pack
/rlparse.c
/rlreduce.cc
/CMakeFiles
/cmake_install.cmake
+
diff --git a/ragel/host-asm/Makefile.am b/ragel/host-asm/Makefile.am
index 43ba13ac..fa5c3ede 100644
--- a/ragel/host-asm/Makefile.am
+++ b/ragel/host-asm/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-asm
@@ -18,8 +19,12 @@ BUILT_SOURCES = rlparse.c rlreduce.cc
EXTRA_DIST = rlparse.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseAsm -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseAsm -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
diff --git a/ragel/host-c/.gitignore b/ragel/host-c/.gitignore
index 4759c814..55892c4f 100644
--- a/ragel/host-c/.gitignore
+++ b/ragel/host-c/.gitignore
@@ -5,8 +5,10 @@
/ragel-c
/ragel-c.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
+/rlparse.pack
/CMakeFiles
/cmake_install.cmake
diff --git a/ragel/host-c/Makefile.am b/ragel/host-c/Makefile.am
index 97428cf4..b59c1e5d 100644
--- a/ragel/host-c/Makefile.am
+++ b/ragel/host-c/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-c
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseC -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseC -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcC -o $@ $<
diff --git a/ragel/host-crack/.gitignore b/ragel/host-crack/.gitignore
index e75770cb..a68a8a97 100644
--- a/ragel/host-crack/.gitignore
+++ b/ragel/host-crack/.gitignore
@@ -5,6 +5,7 @@
/ragel-crack
/ragel-crack.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-crack/Makefile.am b/ragel/host-crack/Makefile.am
index 5fc205d5..a7768847 100644
--- a/ragel/host-crack/Makefile.am
+++ b/ragel/host-crack/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-crack
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseCrack -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseCrack -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcCrack -o $@ $<
diff --git a/ragel/host-csharp/.gitignore b/ragel/host-csharp/.gitignore
index 9065abc4..26f12644 100644
--- a/ragel/host-csharp/.gitignore
+++ b/ragel/host-csharp/.gitignore
@@ -5,6 +5,7 @@
/ragel-csharp
/ragel-csharp.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-csharp/Makefile.am b/ragel/host-csharp/Makefile.am
index 1ae57125..98e5dc75 100644
--- a/ragel/host-csharp/Makefile.am
+++ b/ragel/host-csharp/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-csharp
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseCSharp -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseCSharp -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcCSharp -o $@ $<
diff --git a/ragel/host-d/.gitignore b/ragel/host-d/.gitignore
index fd73937b..353df34b 100644
--- a/ragel/host-d/.gitignore
+++ b/ragel/host-d/.gitignore
@@ -5,6 +5,7 @@
/ragel-d
/ragel-d.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-d/Makefile.am b/ragel/host-d/Makefile.am
index ae9d4e71..ba8c7f62 100644
--- a/ragel/host-d/Makefile.am
+++ b/ragel/host-d/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-d
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseD -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseD -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcD -o $@ $<
diff --git a/ragel/host-go/.gitignore b/ragel/host-go/.gitignore
index 41aff77f..b7a6e0cc 100644
--- a/ragel/host-go/.gitignore
+++ b/ragel/host-go/.gitignore
@@ -5,6 +5,7 @@
/ragel-go
/ragel-go.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-go/Makefile.am b/ragel/host-go/Makefile.am
index a92305ae..ebb8eca3 100644
--- a/ragel/host-go/Makefile.am
+++ b/ragel/host-go/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-go
@@ -20,10 +21,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm out-go.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseGo -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseGo -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcGo -o $@ $<
diff --git a/ragel/host-java/.gitignore b/ragel/host-java/.gitignore
index 9faa4062..9b83d82e 100644
--- a/ragel/host-java/.gitignore
+++ b/ragel/host-java/.gitignore
@@ -5,6 +5,7 @@
/ragel-java
/ragel-java.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-java/Makefile.am b/ragel/host-java/Makefile.am
index cc9d88f5..ff703228 100644
--- a/ragel/host-java/Makefile.am
+++ b/ragel/host-java/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-java
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseJava -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseJava -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcJava -o $@ $<
diff --git a/ragel/host-js/.gitignore b/ragel/host-js/.gitignore
index 2beac7d1..6721152a 100644
--- a/ragel/host-js/.gitignore
+++ b/ragel/host-js/.gitignore
@@ -5,6 +5,7 @@
/ragel-js
/ragel-js.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-js/Makefile.am b/ragel/host-js/Makefile.am
index 5cba87c0..e2923534 100644
--- a/ragel/host-js/Makefile.am
+++ b/ragel/host-js/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-js
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseJs -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseJs -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcJs -o $@ $<
diff --git a/ragel/host-julia/.gitignore b/ragel/host-julia/.gitignore
index 86d9366b..7bd1258f 100644
--- a/ragel/host-julia/.gitignore
+++ b/ragel/host-julia/.gitignore
@@ -5,6 +5,7 @@
/ragel-julia
/ragel-julia.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-julia/Makefile.am b/ragel/host-julia/Makefile.am
index 35c3cb5e..e24a69a0 100644
--- a/ragel/host-julia/Makefile.am
+++ b/ragel/host-julia/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-julia
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseJulia -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseJulia -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcJulia -o $@ $<
diff --git a/ragel/host-ocaml/.gitignore b/ragel/host-ocaml/.gitignore
index ef32eebe..fe7038f5 100644
--- a/ragel/host-ocaml/.gitignore
+++ b/ragel/host-ocaml/.gitignore
@@ -5,6 +5,7 @@
/ragel-ocaml
/ragel-ocaml.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-ocaml/Makefile.am b/ragel/host-ocaml/Makefile.am
index 87a6c931..d9b425b1 100644
--- a/ragel/host-ocaml/Makefile.am
+++ b/ragel/host-ocaml/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-ocaml
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseOCaml -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseOCaml -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc$(EXEEXT): rlhc.lm
$(COLM_BIN) -I.. -o $@ $<
diff --git a/ragel/host-ruby/.gitignore b/ragel/host-ruby/.gitignore
index c6a4e041..f61713c7 100644
--- a/ragel/host-ruby/.gitignore
+++ b/ragel/host-ruby/.gitignore
@@ -4,6 +4,7 @@
/.libs
/ragel-ruby
/ragel-ruby.exe
+/rlparse.pack
/rlparse.c
/rlreduce.cc
/rlhc.c
diff --git a/ragel/host-ruby/Makefile.am b/ragel/host-ruby/Makefile.am
index e5e8af8c..8d0c57a1 100644
--- a/ragel/host-ruby/Makefile.am
+++ b/ragel/host-ruby/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-ruby
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseRuby -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseRuby -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcRuby -o $@ $<
diff --git a/ragel/host-rust/.gitignore b/ragel/host-rust/.gitignore
index e3f22bc7..acd5559a 100644
--- a/ragel/host-rust/.gitignore
+++ b/ragel/host-rust/.gitignore
@@ -5,6 +5,7 @@
/ragel-rust
/ragel-rust.exe
/rlhc.c
+/rlparse.pack
/rlparse.c
/rlreduce.cc
diff --git a/ragel/host-rust/Makefile.am b/ragel/host-rust/Makefile.am
index dad57ca9..2ff77b90 100644
--- a/ragel/host-rust/Makefile.am
+++ b/ragel/host-rust/Makefile.am
@@ -1,7 +1,8 @@
COLM_BIN = ../../colm/colm
+COLM_PACK = ../../colm/colm-pack
COLM_LA = ../../colm/libcolm.la
COLM_LIBDEP = $(COLM_LA)
-COLM_BINDEP = $(COLM_BIN)
+COLM_BINDEP = $(COLM_BIN) $(COLM_PACK)
bin_PROGRAMS = ragel-rust
@@ -18,10 +19,15 @@ BUILT_SOURCES = rlparse.c rlreduce.cc rlhc.c
EXTRA_DIST = rlparse.lm rlhc.lm
-rlparse.c: rlparse.lm $(COLM_BINDEP)
- $(COLM_BIN) -I.. -c -b rlparseRust -o $@ -m rlreduce.cc $<
+rlparse.pack: rlparse.lm $(COLM_BINDEP)
+ $(COLM_PACK) colm -p rlparse.pack \
+ -I.. -c -b rlparseRust -o rlparse.c -m rlreduce.cc $<
-rlreduce.cc: rlparse.c
+rlparse.c: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
+
+rlreduce.cc: rlparse.pack
+ $(COLM_PACK) unpack -o $@ $<
rlhc.c: rlhc.lm ../ril.lm $(COLM_BINDEP)
$(COLM_BIN) -I.. -c -b rlhcRust -o $@ $<