open source driving agent
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.

133 lines
3.1 KiB

CC = clang
CXX = clang++
ARCH := $(shell uname -m)
PHONELIBS = ../../phonelibs
BASEDIR = ../..
WARN_FLAGS = -Werror=implicit-function-declaration \
-Werror=incompatible-pointer-types \
-Werror=int-conversion \
-Werror=return-type \
-Werror=format-extra-args \
-Wno-deprecated-declarations
CFLAGS = -std=gnu11 -g -fPIC -O2 $(WARN_FLAGS) \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include
CXXFLAGS = -std=c++11 -g -fPIC -O2 $(WARN_FLAGS) \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include
ZMQ_LIBS = -l:libczmq.a -l:libzmq.a
ifeq ($(ARCH),aarch64)
CFLAGS += -mcpu=cortex-a57
CXXFLAGS += -mcpu=cortex-a57
ZMQ_LIBS += -lgnustl_shared
endif
BZIP_FLAGS = -I$(PHONELIBS)/bzip2/
BZIP_LIBS = -L$(PHONELIBS)/bzip2/ \
-l:libbz2.a
# todo: dont use system ffmpeg libs
FFMPEG_LIBS = -lavformat \
-lavcodec \
-lswscale \
-lavutil \
-lz
LIBYUV_FLAGS = -I$(PHONELIBS)/libyuv/include
LIBYUV_LIBS = $(PHONELIBS)/libyuv/lib/libyuv.a
OPENMAX_FLAGS = -I$(PHONELIBS)/openmax/include
OPENMAX_LIBS = -lOmxVenc -lOmxCore
JSON_FLAGS = -I$(PHONELIBS)/json/src
YAML_FLAGS = -I$(PHONELIBS)/yaml-cpp/include
YAML_LIBS = $(PHONELIBS)/yaml-cpp/lib/libyaml-cpp.a
.PHONY: all
all: loggerd
include ../common/cereal.mk
OBJS += loggerd.o \
logger.o \
../common/util.o \
../common/params.o \
../common/cqueue.o \
../common/swaglog.o \
../common/visionipc.o \
../common/ipc.o \
$(PHONELIBS)/json/src/json.o
ifeq ($(ARCH),x86_64)
CXXFLAGS += "-DDISABLE_ENCODER"
ZMQ_LIBS = -L$(BASEDIR)/external/zmq/lib/ \
-l:libczmq.a -l:libzmq.a
EXTRA_LIBS = -lpthread
OPENMAX_LIBS = ""
YAML_LIBS = $(PHONELIBS)/yaml-cpp/x64/lib/libyaml-cpp.a
else
OBJS += encoder.o \
raw_logger.o
EXTRA_LIBS = -lcutils -llog
endif
DEPS := $(OBJS:.o=.d)
loggerd: $(OBJS)
@echo "[ LINK ] $@"
$(CXX) -fPIC -o '$@' $^ \
$(LIBYUV_LIBS) \
$(CEREAL_LIBS) \
$(ZMQ_LIBS) \
-L/usr/lib \
$(FFMPEG_LIBS) \
-L/system/vendor/lib64 \
$(OPENMAX_LIBS) \
$(YAML_LIBS) \
$(EXTRA_LIBS) \
$(BZIP_LIBS) \
-lm
%.o: %.cc
@echo "[ CXX ] $@"
$(CXX) $(CXXFLAGS) -MMD \
$(CEREAL_CXXFLAGS) \
$(LIBYUV_FLAGS) \
$(ZMQ_FLAGS) \
$(OPENMAX_FLAGS) \
$(YAML_FLAGS) \
$(BZIP_FLAGS) \
-Iinclude \
-I../ \
-I../../ \
-c -o '$@' '$<'
%.o: %.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -MMD \
$(LIBYUV_FLAGS) \
$(ZMQ_FLAGS) \
$(OPENMAX_FLAGS) \
$(JSON_FLAGS) \
$(BZIP_FLAGS) \
-Iinclude \
-I../ \
-I../../ \
-c -o '$@' '$<'
.PHONY: clean
clean:
rm -f loggerd $(OBJS) $(DEPS)
-include $(DEPS)