You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
560 B

# 获取所有的 .proto 文件
PROTO_FILES := $(wildcard *.proto)
# 定义生成目标
all: $(PROTO_FILES)
@for file in $(PROTO_FILES); do \
package_name=$$(grep -oP 'package \K\w+' $$file); \
mkdir -p $$package_name; \
protoc --proto_path=. --go_out=$$package_name --go_opt=paths=source_relative --go-grpc_out=$$package_name --go-grpc_opt=paths=source_relative $$file; \
done
# 清理生成的文件和文件夹
clean:
@for file in $(PROTO_FILES); do \
package_name=$$(grep -oP 'package \K\w+' $$file); \
rm -rf $$package_name; \
done