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
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
|
|
|