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.

Makefile 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. TRACE = False
  2. ifeq ($(target),$(filter $(target), cheza cheza-trace))
  3. CXX = /usr/bin/armv7a-cros-linux-gnueabihf-clang++
  4. CC = /usr/bin/armv7a-cros-linux-gnueabihf-clang
  5. SYSROOT = /build/cheza
  6. SSH_DUT = cheza-lab
  7. TARGET = cheza
  8. ifeq ($(target), cheza-trace)
  9. TRACE = True
  10. endif
  11. else ifeq ($(target), atlas)
  12. CXX = /usr/bin/x86_64-cros-linux-gnu-clang++
  13. CC = /usr/bin/x86_64-cros-linux-gnu-clang
  14. SYSROOT = /build/atlas
  15. SSH_DUT = atlas
  16. else ifeq ($(target), local)
  17. CXX = clang++
  18. CC = clang
  19. else
  20. CXX = INVALID
  21. CC = INVALID
  22. endif
  23. SUBDIR = "geometry-gl/"
  24. NAME = geometry
  25. CFLAGS = -std=c++17 --sysroot="$(SYSROOT)" -Wall
  26. LDFLAGS = -lEGL -lGLESv2 -lpng
  27. all: build deploy run
  28. build: check
  29. @echo Building...
  30. @$(CXX) $(CFLAGS) -o ${NAME} ${NAME}.cc $(LDFLAGS)
  31. deploy: check
  32. ifneq ($(target), local)
  33. @echo Deploying to $(SSH_DUT)...
  34. @scp ${NAME}.vert $(SSH_DUT):~/${SUBDIR}${NAME}.vert
  35. @scp ${NAME}.geom $(SSH_DUT):~/${SUBDIR}${NAME}.geom
  36. @scp ${NAME}.frag $(SSH_DUT):~/${SUBDIR}${NAME}.frag
  37. @scp blit.vert $(SSH_DUT):~/${SUBDIR}blit.vert
  38. @scp blit.frag $(SSH_DUT):~/${SUBDIR}blit.frag
  39. @scp ${NAME} $(SSH_DUT):~/${SUBDIR}
  40. endif
  41. run: check
  42. ifneq ($(TARGET), local)
  43. @echo Running on $(SSH_DUT)...
  44. ifeq ($(TRACE), True)
  45. @ssh -tt $(SSH_DUT) "~/trace.sh 'cd ~/${SUBDIR} && ./${NAME}'"
  46. @echo Copying artifacts back to local device...
  47. @scp $(SSH_DUT):~/${SUBDIR}/${NAME}.png .
  48. @scp $(SSH_DUT):/tmp/trace.rd .
  49. else
  50. @ssh -tt $(SSH_DUT) 'cd ~/${SUBDIR} && ./${NAME}'
  51. @echo Copying artifacts back to local device...
  52. @scp $(SSH_DUT):~/${SUBDIR}/${NAME}.png .
  53. endif
  54. else
  55. @echo Running locally...
  56. @./$(NAME)
  57. endif
  58. clean: check
  59. @rm -f ${NAME} ${NAME}.png
  60. ifneq ($(target), local)
  61. @ssh $(SSH_DUT) 'rm -f ~/${SUBDIR}${NAME} ~/${SUBDIR}${NAME}.png \
  62. ~/${SUBDIR}${NAME}.vert ~/${SUBDIR}${NAME}.frag ~/${SUBDIR}${NAME}.geom'
  63. endif
  64. check:
  65. ifeq ($(CXX), INVALID)
  66. $(error $$target must be one of [atlas, cheza, cheza-trace, local] )
  67. endif