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)