|
|
|
@ -1,18 +1,25 @@ |
|
|
|
GO := $(shell which go) |
|
|
|
GO := $(shell which go) |
|
|
|
ANTLR := $(shell which antlr4) |
|
|
|
|
|
|
|
BINARY_NAME := jdr-server |
|
|
|
|
|
|
|
FILES = $(shell find . -type f -name '*.go') |
|
|
|
ANTLRDIR := antlr |
|
|
|
ANTLRGRAM := JdrScript.g4 |
|
|
|
ANTLRFILE := $(ANTLRDIR)/$(shell echo $(basename $(ANTLRGRAM)) | tr A-Z a-z)_parser.go |
|
|
|
|
|
|
|
GOFILES = $(shell find . -type f -name '*.go' -not -path '*/$(ANTLRDIR)/*') |
|
|
|
|
|
|
|
.PHONY: all run clean |
|
|
|
|
|
|
|
all: $(BINARY_NAME) |
|
|
|
|
|
|
|
$(BINARY_NAME): $(FILES) |
|
|
|
$(GO) fmt $(addprefix ./, $(shell dirname $^ | sort | uniq)) |
|
|
|
$(BINARY_NAME): $(ANTLRFILE) $(GOFILES) |
|
|
|
$(GO) get |
|
|
|
$(GO) build -o $@ -v |
|
|
|
|
|
|
|
$(ANTLRFILE): $(ANTLRGRAM) |
|
|
|
$(ANTLR) -Dlanguage=Go -o $(ANTLRDIR) $< |
|
|
|
|
|
|
|
run: $(BINARY_NAME) |
|
|
|
./$(BINARY_NAME) |
|
|
|
|
|
|
|
|