Files
dragonpilot/selfdrive/ui/Makefile

120 lines
2.9 KiB
Makefile
Raw Normal View History

2016-11-29 18:34:21 -08:00
CC = clang
CXX = clang++
PHONELIBS = ../../phonelibs
WARN_FLAGS = -Werror=implicit-function-declaration \
-Werror=incompatible-pointer-types \
-Werror=int-conversion \
-Werror=return-type \
-Werror=format-extra-args
2019-04-23 01:41:19 +00:00
CFLAGS = -std=gnu11 -fPIC -O2 $(WARN_FLAGS)
CXXFLAGS = -std=c++11 -fPIC -O2 $(WARN_FLAGS)
2016-11-29 18:34:21 -08:00
2019-06-28 21:11:30 +00:00
ZMQ_LIBS = -l:libczmq.a -l:libzmq.a -lgnustl_shared
2016-11-29 18:34:21 -08:00
2019-06-28 21:11:30 +00:00
CEREAL_LIBS = -l:libcapn.a
2016-11-29 18:34:21 -08:00
CEREAL_OBJS = ../../cereal/gen/c/log.capnp.o
NANOVG_FLAGS = -I$(PHONELIBS)/nanovg
2017-05-11 12:41:17 -07:00
JSON_FLAGS = -I$(PHONELIBS)/json/src
2016-11-29 18:34:21 -08:00
2018-07-12 18:52:06 -07:00
OPENCL_FLAGS = -I$(PHONELIBS)/opencl/include
OPENCL_LIBS = -lgsl -lCB -lOpenCL
2016-11-29 18:34:21 -08:00
OPENGL_LIBS = -lGLESv3
2018-11-17 02:08:34 -08:00
OPENSL_LIBS = -lOpenSLES
2019-06-28 21:11:30 +00:00
UUID_LIBS = -luuid
2016-11-29 18:34:21 -08:00
FRAMEBUFFER_LIBS = -lutils -lgui -lEGL
2019-06-28 21:11:30 +00:00
CFLAGS += -DQCOM \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include
CXXFLAGS += -DQCOM \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include
ifeq ($(ARCH),aarch64)
CFLAGS += -mcpu=cortex-a57
CXXFLAGS += -mcpu=cortex-a57
endif
2018-07-12 18:52:06 -07:00
2018-11-17 02:08:34 -08:00
OBJS = slplay.o \
ui.o \
2017-01-29 09:20:32 -08:00
../common/glutil.o \
2016-11-29 18:34:21 -08:00
../common/visionipc.o \
2018-09-25 00:13:41 -07:00
../common/ipc.o \
2018-07-12 18:52:06 -07:00
../common/visionimg.o \
../common/visionbuf_ion.o \
2016-11-29 18:34:21 -08:00
../common/framebuffer.o \
2017-05-11 12:41:17 -07:00
../common/params.o \
../common/util.o \
../common/touch.o \
2017-06-28 13:57:09 -07:00
../common/swaglog.o \
2016-11-29 18:34:21 -08:00
$(PHONELIBS)/nanovg/nanovg.o \
2017-05-11 12:41:17 -07:00
$(PHONELIBS)/json/src/json.o \
2016-11-29 18:34:21 -08:00
$(CEREAL_OBJS)
DEPS := $(OBJS:.o=.d)
all: ui
ui: $(OBJS)
@echo "[ LINK ] $@"
$(CXX) -fPIC -o '$@' $^ \
$(FRAMEBUFFER_LIBS) \
$(CEREAL_LIBS) \
$(ZMQ_LIBS) \
-L/system/vendor/lib64 \
2018-07-12 18:52:06 -07:00
-lhardware -lui \
2016-11-29 18:34:21 -08:00
$(OPENGL_LIBS) \
2018-07-12 18:52:06 -07:00
$(OPENCL_LIBS) \
2018-11-17 02:08:34 -08:00
${OPENSL_LIBS} \
2019-06-28 21:11:30 +00:00
${UUID_LIBS} \
2018-11-17 02:08:34 -08:00
-Wl,-rpath=/system/lib64,-rpath=/system/comma/usr/lib \
2018-07-12 18:52:06 -07:00
-lcutils -lm -llog -lui -ladreno_utils
2016-11-29 18:34:21 -08:00
2018-11-17 02:08:34 -08:00
slplay.o: slplay.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -fPIC \
-I../ \
$(OPENSL_LIBS) \
-c -o '$@' $^
2017-09-30 03:07:27 -07:00
%.o: %.cc
2016-11-29 18:34:21 -08:00
@echo "[ CXX ] $@"
$(CXX) $(CXXFLAGS) -MMD \
2017-09-30 03:07:27 -07:00
-Iinclude -I.. -I../.. \
2018-07-12 18:52:06 -07:00
$(OPENCL_FLAGS) \
2016-11-29 18:34:21 -08:00
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include \
2018-07-12 18:52:06 -07:00
-I$(PHONELIBS)/libgralloc/include \
-I$(PHONELIBS)/linux/include \
2016-11-29 18:34:21 -08:00
-c -o '$@' '$<'
%.o: %.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -MMD \
2018-07-12 18:52:06 -07:00
-Iinclude -I.. -I../.. \
2016-11-29 18:34:21 -08:00
$(NANOVG_FLAGS) \
$(ZMQ_FLAGS) \
$(CEREAL_CFLAGS) \
2017-05-11 12:41:17 -07:00
$(JSON_FLAGS) \
2018-07-12 18:52:06 -07:00
$(OPENCL_FLAGS) \
-I$(PHONELIBS)/linux/include \
2016-11-29 18:34:21 -08:00
-c -o '$@' '$<'
.PHONY: clean
clean:
rm -f ui $(OBJS) $(DEPS)
-include $(DEPS)