You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1018 B
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1018 B
						
					
					
				| PWD := $(shell pwd)
 | |
| 
 | |
| SRCS := log.capnp car.capnp map.capnp
 | |
| 
 | |
| GENS := gen/cpp/car.capnp.c++ gen/cpp/log.capnp.c++
 | |
| 
 | |
| UNAME_M ?= $(shell uname -m)
 | |
| 
 | |
| # only generate C++ for docker tests
 | |
| ifneq ($(OPTEST),1)
 | |
| 	GENS += gen/c/car.capnp.c gen/c/log.capnp.c gen/c/c++.capnp.h gen/c/java.capnp.h
 | |
| 
 | |
| # Dont build java on the phone...
 | |
| ifeq ($(UNAME_M),x86_64)
 | |
| 	GENS += gen/java/Car.java gen/java/Log.java
 | |
| endif
 | |
| 
 | |
| endif
 | |
| 
 | |
| ifeq ($(UNAME_M),aarch64)
 | |
| CAPNPC=PATH=$(PWD)/../phonelibs/capnp-cpp/aarch64/bin/:$$PATH capnpc
 | |
| else
 | |
| CAPNPC=capnpc
 | |
| endif
 | |
| 
 | |
| .PHONY: all
 | |
| all: $(GENS)
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 | |
| 	rm -rf gen
 | |
| 
 | |
| gen/c/%.capnp.c: %.capnp
 | |
| 	@echo "[ CAPNPC C ] $@"
 | |
| 	mkdir -p gen/c/
 | |
| 	$(CAPNPC) '$<' -o c:gen/c/
 | |
| 
 | |
| 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/c++.capnp.h gen/c/java.capnp.h:
 | |
| 	mkdir -p gen/c/
 | |
| 	touch '$@'
 | |
| 
 | |
| 
 |