nopenpilot/cereal/Makefile

63 lines
1.3 KiB
Makefile
Raw Normal View History

2017-10-31 03:27:39 -06:00
PWD := $(shell pwd)
2018-04-28 03:44:39 -06:00
SRCS := log.capnp car.capnp
2017-09-30 04:07:27 -06:00
2018-04-28 03:44:39 -06:00
GENS := gen/cpp/car.capnp.c++ gen/cpp/log.capnp.c++
JS := gen/js/car.capnp.js gen/js/log.capnp.js
2017-09-30 04:07:27 -06:00
UNAME_M ?= $(shell uname -m)
# only generate C++ for docker tests
ifneq ($(OPTEST),1)
2018-04-28 03:44:39 -06:00
GENS += gen/c/car.capnp.c gen/c/log.capnp.c gen/c/include/c++.capnp.h gen/c/include/java.capnp.h
2017-09-30 04:07:27 -06:00
2018-04-28 03:44:39 -06:00
ifeq ($(UNAME_M),x86_64)
2018-12-10 15:13:12 -07:00
ifneq (, $(shell which capnpc-java))
GENS += gen/java/Car.java gen/java/Log.java
else
$(warning capnpc-java not found, skipping java build)
endif
2018-04-28 03:44:39 -06:00
endif
2017-09-30 04:07:27 -06:00
endif
2017-10-31 03:27:39 -06:00
ifeq ($(UNAME_M),aarch64)
2018-04-28 03:44:39 -06:00
CAPNPC=PATH=$(PWD)/../phonelibs/capnp-cpp/aarch64/bin/:$$PATH capnpc
2017-10-31 03:27:39 -06:00
else
2018-04-28 03:44:39 -06:00
CAPNPC=capnpc
2017-10-31 03:27:39 -06:00
endif
2017-09-30 04:07:27 -06:00
.PHONY: all
all: $(GENS)
2018-04-28 03:44:39 -06:00
js: $(JS)
2017-09-30 04:07:27 -06:00
.PHONY: clean
clean:
rm -rf gen
2018-04-28 03:44:39 -06:00
rm -rf node_modules
rm -rf package-lock.json
2017-09-30 04:07:27 -06:00
gen/c/%.capnp.c: %.capnp
@echo "[ CAPNPC C ] $@"
mkdir -p gen/c/
2017-10-31 03:27:39 -06:00
$(CAPNPC) '$<' -o c:gen/c/
2017-09-30 04:07:27 -06:00
2018-04-28 03:44:39 -06:00
gen/js/%.capnp.js: %.capnp
@echo "[ CAPNPC JavaScript ] $@"
mkdir -p gen/js/
sh ./generate_javascript.sh
2017-09-30 04:07:27 -06:00
gen/cpp/%.capnp.c++: %.capnp
@echo "[ CAPNPC C++ ] $@"
mkdir -p gen/cpp/
2017-10-31 03:27:39 -06:00
$(CAPNPC) '$<' -o c++:gen/cpp/
2017-09-30 04:07:27 -06:00
gen/java/Car.java gen/java/Log.java: $(SRCS)
@echo "[ CAPNPC java ] $@"
mkdir -p gen/java/
2017-10-31 03:27:39 -06:00
$(CAPNPC) $^ -o java:gen/java
2017-09-30 04:07:27 -06:00
# c-capnproto needs some empty headers
2018-04-28 03:44:39 -06:00
gen/c/include/c++.capnp.h gen/c/include/java.capnp.h:
mkdir -p gen/c/include
2017-09-30 04:07:27 -06:00
touch '$@'