Charj: Add explicit dependencies on Charj.g for all grammars
authorAaron Becker <akbecker@gmail.com>
Wed, 6 Oct 2010 19:31:37 +0000 (14:31 -0500)
committerAaron Becker <akbecker@gmail.com>
Wed, 6 Oct 2010 19:31:37 +0000 (14:31 -0500)
src/langs/charj/Makefile

index 2adbee7e8b462b9e42762a3ea049e188f9a412b3..d29638007e0f46d5f7f160c84a1b7a3cc3e1ac71 100644 (file)
@@ -3,13 +3,13 @@ ANT := ant -lib lib/ant-antlr3.jar
 CLASSPATH := lib/antlr-3.2.jar:lib/JSAP-2.1.jar
 SRCDIR := src/charj/translator
 BUILDDIR := build/src/charj/translator
-ANTLR := java -classpath $(CLASSPATH) org.antlr.Tool -o $(BUILDDIR) -lib $(BUILDDIR)
-ANTLRFLAGS := -Xmultithreaded
+ANTLRC := java -classpath $(CLASSPATH) org.antlr.Tool
+ANTLRFLAGS := -Xmultithreaded -o $(BUILDDIR) -lib $(BUILDDIR)
 
 SRC_GRAMMARS := $(wildcard $(SRCDIR)/*.g)
 BUILD_GRAMMARS := $(subst $(SRCDIR),$(BUILDDIR),$(SRC_GRAMMARS:.g=.d))
 
-.PHONY: all build compile grammars clean doc
+.PHONY: all build grammars clean doc
 all: build grammars
        $(ANT) dist
 
@@ -23,9 +23,6 @@ build:
        @mkdir -p docs
        @echo "\nantlr:"
 
-compile: $(wildcard $(BUILDDIR)/*.java)
-       $(ANT) compile
-
 clean:
        $(ANT) clean
 
@@ -34,8 +31,15 @@ doc:
 
 grammars: build $(BUILD_GRAMMARS)
 
-$(BUILDDIR)/%.d: $(SRCDIR)/%.g $(SRCDIR)/Charj.g
+# All grammar files depend on the Charj.g being compiled first,
+# so that the token list is available.
+$(BUILDDIR)/Charj.d: $(SRCDIR)/Charj.g
+       @echo "\n    [antlr] $(<F)"
+       $(ANTLRC) $(ANTLRFLAGS) $(BUILDDIR)/$(<F)
+       @touch $@
+
+$(BUILDDIR)/%.d: $(SRCDIR)/%.g $(BUILDDIR)/Charj.d
        @echo "\n    [antlr] $(<F)"
-       $(ANTLR) $(ANTLRFLAGS) $(BUILDDIR)/$(<F)
+       $(ANTLRC) $(ANTLRFLAGS) $(BUILDDIR)/$(<F)
        @touch $@