diff options
author | Adrian Thurston <thurston@colm.net> | 2020-01-02 18:51:43 +0200 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2020-01-02 18:51:43 +0200 |
commit | 41b04f64ea5c607d2cb00765b68d28226e14a7e8 (patch) | |
tree | d23f56bb4957e65c8703f55416b11d1c06adf4fb | |
parent | 8661124b75f7baed8a90ccdd638ceb2a2de43754 (diff) | |
download | colm-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
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 $@ $< |