GO := $(shell which go)
|
|
ANTLR := $(shell which antlr4)
|
|
|
|
BINARY_NAME := jdr-server
|
|
|
|
ANTLRPKG := jdrscript
|
|
ANTLRGRAM := JdrScript.g4
|
|
ANTLRFILE := $(ANTLRPKG)/$(shell echo $(basename $(ANTLRGRAM)) | tr A-Z a-z)_parser.go
|
|
|
|
GOFILES = $(shell find . -type f -name '*.go' -not -path '*/$(ANTLRPKG)/*')
|
|
|
|
.PHONY: all run clean
|
|
|
|
all: $(BINARY_NAME)
|
|
|
|
$(BINARY_NAME): $(ANTLRFILE) $(GOFILES)
|
|
$(GO) get
|
|
$(GO) build -o $@ -v
|
|
|
|
$(ANTLRFILE): $(ANTLRGRAM)
|
|
$(ANTLR) -Dlanguage=Go -package $(ANTLRPKG) -o $(ANTLRPKG) $<
|
|
|
|
run: $(BINARY_NAME)
|
|
./$(BINARY_NAME)
|
|
|
|
clean:
|