github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/Makefile (about) 1 TOPTARGETS := all clean 2 SUBDIRS := backend frontend 3 4 PROTO_GEN_GO_DIR = backend/proto_gen 5 6 $(TOPTARGETS): $(SUBDIRS) 7 $(SUBDIRS): 8 $(MAKE) -C $@ $(MAKECMDGOALS) 9 10 .PHONY: $(TOPTARGETS) $(SUBDIRS) 11 12 setup: 13 $(MAKE) -C backend $(MAKECMDGOALS) 14 15 .PHONY: proto/go 16 proto/go: 17 rm -rf $(PROTO_GEN_GO_DIR) && mkdir -p $(PROTO_GEN_GO_DIR) 18 protoc -I/usr/local/include -I. \ 19 -I$(GOPATH)/src \ 20 -Iproto \ 21 -Iproto/third_party \ 22 --plugin=$(GOBIN)/protoc-gen-twirp \ 23 --plugin=$(GOBIN)/protoc-gen-go \ 24 --go_out=paths=source_relative:$(PROTO_GEN_GO_DIR) \ 25 --twirp_out=paths=source_relative:$(PROTO_GEN_GO_DIR) \ 26 proto/api/v1/*.proto 27 28 .PHONY: ngrok 29 ngrok: 30 ngrok http -subdomain=lekcije -host-header=localhost 4000 31 32 .PHONY: sync-go-mod-from-backend 33 sync-go-mod-from-backend: 34 cp -f backend/go.* ./ 35 perl -i -p -e 's!module github.com/oinume/lekcije/backend!module github.com/oinume/lekcije!' go.mod