Leonardo Di Donato пре 8 година
родитељ
комит
ecfeedb747
1 измењених фајлова са 14 додато и 4 уклоњено
  1. 14 4
      makefile

+ 14 - 4
makefile

@@ -2,13 +2,23 @@ SHELL = /bin/bash
 
 .PHONY = clean
 
+# Get the path of this makefile.
+# Place this before include directives, if any.
+this := $(lastword $(MAKEFILE_LIST))
+
 directory := grammar
 
-$(directory)/urn_{parser,lexer,base_listener,listener,base_visitor,visitor}.go: $(directory)/Urn.g4
-	$(SHELL) -c "./$(directory)/antlr -Dlanguage=Go -o $(directory) -package $(directory) -listener -no-visitor $?"
+$(directory)/urn_{parser,lexer,base_listener,listener,base_visitor,visitor}.go: $(directory)/Urn.g4 $(directory)/antlr
+	$(SHELL) -c "./$(directory)/antlr -Dlanguage=Go -o $(directory) -package $(directory) -listener -no-visitor $<"
 
 test: $(directory)/urn_{parser,lexer,base_listener,listener,base_visitor,visitor}.go *_test.go
-	go test
+	go test -v
+
+$(directory)/antlr:
+	@docker pull leodido/antlr
+	@docker create --name antlr leodido/antlr
+	@docker cp antlr:antlr $(directory)
+	@docker rm antlr
 
 clean:
-	rm -f $(directory)/urn_{parser,lexer,base_listener,listener,base_visitor,visitor}.go $(directory)/Urn{,Lexer}.tokens
+	rm -f $(directory)/urn_{parser,lexer,base_listener,listener,base_visitor,visitor}.go $(directory)/Urn{,Lexer}.tokens $(directory)/antlr