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.
		
		
		
		
			
				
					74 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					74 lines
				
				1.6 KiB
			| 
											9 years ago
										 | CC = clang
 | ||
|  | CXX = clang++
 | ||
|  | 
 | ||
|  | ARCH := $(shell uname -m)
 | ||
|  | 
 | ||
|  | PHONELIBS = ../../phonelibs
 | ||
|  | 
 | ||
|  | WARN_FLAGS = -Werror=implicit-function-declaration \
 | ||
|  |              -Werror=incompatible-pointer-types \
 | ||
|  |              -Werror=int-conversion \
 | ||
|  |              -Werror=return-type \
 | ||
|  |              -Werror=format-extra-args
 | ||
|  | 
 | ||
|  | CFLAGS = -std=gnu11 -g -fPIC -O2 $(WARN_FLAGS)
 | ||
|  | CXXFLAGS = -std=c++11 -g -fPIC -O2 $(WARN_FLAGS)
 | ||
|  | 
 | ||
|  | ZMQ_FLAGS = -I$(PHONELIBS)/zmq/aarch64/include
 | ||
|  | ZMQ_LIBS = -L$(PHONELIBS)/zmq/aarch64/lib \
 | ||
|  |            -l:libczmq.a -l:libzmq.a \
 | ||
|  |            -lgnustl_shared
 | ||
|  | 
 | ||
|  | CEREAL_FLAGS = -I$(PHONELIBS)/capnp-cpp/include
 | ||
|  | CEREAL_LIBS = -L$(PHONELIBS)/capnp-cpp/aarch64/lib/ \
 | ||
|  |               -l:libcapnp.a -l:libkj.a
 | ||
|  | CEREAL_OBJS = ../../cereal/gen/c/log.capnp.o
 | ||
|  | 
 | ||
|  | EXTRA_LIBS = -lusb
 | ||
|  | 
 | ||
|  | ifeq ($(ARCH),x86_64)
 | ||
|  | ZMQ_LIBS = -L$(HOME)/drive/external/zmq/lib/ \
 | ||
|  |            -l:libczmq.a -l:libzmq.a
 | ||
|  | CEREAL_LIBS = -L$(HOME)/drive/external/capnp/lib/ \
 | ||
|  |               -l:libcapnp.a -l:libkj.a
 | ||
|  | EXTRA_LIBS = -lusb-1.0 -lpthread
 | ||
|  | endif
 | ||
|  | 
 | ||
|  | 
 | ||
|  | OBJS = boardd.o \
 | ||
|  |        log.capnp.o
 | ||
|  | 
 | ||
|  | DEPS := $(OBJS:.o=.d)
 | ||
|  | 
 | ||
|  | all: boardd
 | ||
|  | 
 | ||
|  | boardd: $(OBJS)
 | ||
|  | 	@echo "[ LINK ] $@"
 | ||
|  | 	$(CXX) -fPIC -o '$@' $^ \
 | ||
|  |             $(CEREAL_LIBS) \
 | ||
|  |             $(ZMQ_LIBS) \
 | ||
|  |             $(EXTRA_LIBS)
 | ||
|  | 
 | ||
|  | boardd.o: boardd.cc
 | ||
|  | 	@echo "[ CXX ] $@"
 | ||
|  | 	$(CXX) $(CXXFLAGS) \
 | ||
|  |            -I$(PHONELIBS)/android_system_core/include \
 | ||
|  |            $(CEREAL_FLAGS) \
 | ||
|  |            $(ZMQ_FLAGS) \
 | ||
|  |            -I../ \
 | ||
|  |            -I../../ \
 | ||
|  |            -c -o '$@' '$<'
 | ||
|  | 
 | ||
|  | 
 | ||
|  | log.capnp.o: ../../cereal/gen/cpp/log.capnp.c++
 | ||
|  | 	@echo "[ CXX ] $@"
 | ||
|  | 	$(CXX) $(CXXFLAGS) $(CEREAL_FLAGS) \
 | ||
|  |            -c -o '$@' '$<'
 | ||
|  |   
 | ||
|  | 
 | ||
|  | .PHONY: clean
 | ||
|  | clean:
 | ||
|  | 	rm -f boardd $(OBJS) $(DEPS)
 | ||
|  | 
 | ||
|  | -include $(DEPS)
 |