mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-06-16 06:18:27 +00:00
api: Add C support (#549)
This commit is contained in:
2
api/c/.gitignore
vendored
Normal file
2
api/c/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/src/
|
||||
/proto/
|
34
api/c/Makefile
vendored
Normal file
34
api/c/Makefile
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
.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) {} \;
|
Reference in New Issue
Block a user