# 获取所有的 .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