mirror of
https://github.com/chirpstack/chirpstack.git
synced 2024-12-25 07:41:09 +00:00
35 lines
1017 B
Makefile
35 lines
1017 B
Makefile
|
.PHONY: all pre-build
|
||
|
|
||
|
PROTOC := protoc-c
|
||
|
PROTOC_ARGS := -I=proto -I=proto/chirpstack-api --c_out=./src
|
||
|
|
||
|
GOOGLE_PROTOBUF_REQUIREMENTS =
|
||
|
GOOGLE_PROTOBUF_REQUIREMENTS += timestamp.proto
|
||
|
GOOGLE_PROTOBUF_REQUIREMENTS += duration.proto
|
||
|
GOOGLE_PROTOBUF_REQUIREMENTS += struct.proto
|
||
|
GOOGLE_PROTOBUF_REQUIREMENTS += empty.proto
|
||
|
GOOGLE_PROTOBUF_REQUIREMENTS += descriptor.proto
|
||
|
GOOGLE_PROTOBUF_OUTPUT = $(patsubst %.proto, src/google/protobuf/%.pb-c.h, $(GOOGLE_PROTOBUF_REQUIREMENTS))
|
||
|
|
||
|
all: pre-build $(GOOGLE_PROTOBUF_OUTPUT) build
|
||
|
|
||
|
pre-build:
|
||
|
rm -rf proto src
|
||
|
mkdir -p proto/chirpstack-api
|
||
|
mkdir -p proto/google/protobuf
|
||
|
cp -r ../proto/* proto/chirpstack-api/
|
||
|
mv proto/chirpstack-api/google/api proto/google/api
|
||
|
mkdir -p src
|
||
|
sed -i \
|
||
|
-r 's/(\s+bytes std)(in|out|err)(\s+=.*)/\1_\2\3/' \
|
||
|
proto/chirpstack-api/gw/gw.proto
|
||
|
|
||
|
src/google/protobuf/%.pb-c.h: /protobuf/src/google/protobuf/%.proto
|
||
|
cp $< proto/google/protobuf/
|
||
|
|
||
|
build:
|
||
|
find proto \
|
||
|
-name '*.proto' \
|
||
|
-type f \
|
||
|
-exec $(PROTOC) $(PROTOC_ARGS) {} \;
|