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