openpilot/installer/Makefile

122 lines
3.3 KiB
Makefile

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
CFLAGS = -std=gnu11 -fPIC -O2 $(WARN_FLAGS)
CXXFLAGS = -std=c++1z -fPIC -O2 $(WARN_FLAGS)
NANOVG_FLAGS = -I$(PHONELIBS)/nanovg
OPENGL_LIBS = -lGLESv3
FRAMEBUFFER_LIBS = -lutils -lgui -lEGL
COMMON_OBJS = ../selfdrive/common/glutil.o \
../selfdrive/common/framebuffer.o \
../selfdrive/common/util.o \
$(PHONELIBS)/nanovg/nanovg.o \
../selfdrive/common/spinner.o \
opensans_semibold.o \
img_spinner_track.o \
img_spinner_comma.o
OPENPILOT_OBJS = installer_openpilot.o \
continue_openpilot.o \
$(COMMON_OBJS)
DASHCAM_OBJS = installer_dashcam.o \
continue_dashcam.o \
$(COMMON_OBJS)
DEPS := $(OPENPILOT_OBJS:.o=.d) $(DASHCAM_OBJS:.o=.d)
.PHONY: all
all: installers/installer_dashcam installers/installer_openpilot
installers/installer_openpilot: $(OPENPILOT_OBJS)
@echo "[ LINK ] $@"
$(CXX) -fPIC -o '$@' $^ \
-s \
$(FRAMEBUFFER_LIBS) \
-L/system/vendor/lib64 \
$(OPENGL_LIBS) \
-lm -llog
installers/installer_dashcam: $(DASHCAM_OBJS)
@echo "[ LINK ] $@"
$(CXX) -fPIC -o '$@' $^ \
-s \
$(FRAMEBUFFER_LIBS) \
-L/system/vendor/lib64 \
$(OPENGL_LIBS) \
-lm -llog
../selfdrive/common/framebuffer.o: ../selfdrive/common/framebuffer.cc
@echo "[ CXX ] $@"
$(CXX) $(CXXFLAGS) -MMD \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include \
-c -o '$@' '$<'
../selfdrive/common/spinner.o: ../selfdrive/common/spinner.c
@echo "[ CXX ] $@"
$(CXX) $(CXXFLAGS) -MMD \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include \
$(NANOVG_FLAGS) \
-c -o '$@' '$<'
opensans_semibold.o: ../selfdrive/assets/fonts/opensans_semibold.ttf
@echo "[ bin2o ] $@"
cd '$(dir $<)' && ld -r -b binary '$(notdir $<)' -o '$(abspath $@)'
img_spinner_track.o: ../selfdrive/assets/img_spinner_track.png
@echo "[ bin2o ] $@"
cd '$(dir $<)' && ld -r -b binary '$(notdir $<)' -o '$(abspath $@)'
img_spinner_comma.o: ../selfdrive/assets/img_spinner_comma.png
@echo "[ bin2o ] $@"
cd '$(dir $<)' && ld -r -b binary '$(notdir $<)' -o '$(abspath $@)'
installer_openpilot.o: installer.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -MMD \
-I.. -I../selfdrive \
-DBRAND=openpilot \
-DBRANCH=release2 \
-c -o '$@' '$<'
installer_dashcam.o: installer.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -MMD \
-I.. -I../selfdrive \
-DBRAND=dashcam \
-DBRANCH=dashcam \
-c -o '$@' '$<'
%.o: %.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -MMD \
-I.. -I../selfdrive \
-c -o '$@' '$<'
%.o: %.sh
@echo "[ bin2o ] $@"
cd '$(dir $<)' && ld -r -b binary '$(notdir $<)' -o '$(abspath $@)'
.PHONY: clean
clean:
rm -f installer_openpilot installer_dashcam $(OPENPILOT_OBJS) $(DASHCAM_OBJS) $(DEPS)
-include $(DEPS)