mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-03-01 00:33:55 +08:00
git-subtree-dir: cereal
git-subtree-split: 9f2076eefd6f71c9b640d26d29ed33a6bbcbf4ca
old-commit-hash: 24e096d9f0
63 lines
1.2 KiB
Makefile
63 lines
1.2 KiB
Makefile
PWD := $(shell pwd)
|
|
|
|
SRCS := log.capnp car.capnp
|
|
|
|
GENS := gen/cpp/car.capnp.c++ gen/cpp/log.capnp.c++
|
|
JS := gen/js/car.capnp.js gen/js/log.capnp.js
|
|
|
|
UNAME_M ?= $(shell uname -m)
|
|
|
|
GENS += gen/c/car.capnp.c gen/c/log.capnp.c gen/c/include/c++.capnp.h gen/c/include/java.capnp.h
|
|
|
|
ifeq ($(UNAME_M),x86_64)
|
|
|
|
ifneq (, $(shell which capnpc-java))
|
|
GENS += gen/java/Car.java gen/java/Log.java
|
|
else
|
|
$(warning capnpc-java not found, skipping java build)
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
ifeq ($(UNAME_M),aarch64)
|
|
CAPNPC=PATH=$(PWD)/../phonelibs/capnp-cpp/aarch64/bin/:$$PATH capnpc
|
|
else
|
|
CAPNPC=capnpc
|
|
endif
|
|
|
|
.PHONY: all
|
|
all: $(GENS)
|
|
js: $(JS)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf gen
|
|
rm -rf node_modules
|
|
rm -rf package-lock.json
|
|
|
|
gen/c/%.capnp.c: %.capnp
|
|
@echo "[ CAPNPC C ] $@"
|
|
mkdir -p gen/c/
|
|
$(CAPNPC) '$<' -o c:gen/c/
|
|
|
|
gen/js/%.capnp.js: %.capnp
|
|
@echo "[ CAPNPC JavaScript ] $@"
|
|
mkdir -p gen/js/
|
|
sh ./generate_javascript.sh
|
|
|
|
gen/cpp/%.capnp.c++: %.capnp
|
|
@echo "[ CAPNPC C++ ] $@"
|
|
mkdir -p gen/cpp/
|
|
$(CAPNPC) '$<' -o c++:gen/cpp/
|
|
|
|
gen/java/Car.java gen/java/Log.java: $(SRCS)
|
|
@echo "[ CAPNPC java ] $@"
|
|
mkdir -p gen/java/
|
|
$(CAPNPC) $^ -o java:gen/java
|
|
|
|
# c-capnproto needs some empty headers
|
|
gen/c/include/c++.capnp.h gen/c/include/java.capnp.h:
|
|
mkdir -p gen/c/include
|
|
touch '$@'
|