1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- ifeq ($(target), cheza)
- CXX = /usr/bin/armv7a-cros-linux-gnueabihf-clang++
- CC = /usr/bin/armv7a-cros-linux-gnueabihf-clang
- SYSROOT = /build/cheza
- SSH_DUT = cheza
- else ifeq ($(target), atlas)
- CXX = /usr/bin/x86_64-cros-linux-gnu-clang++
- CC = /usr/bin/x86_64-cros-linux-gnu-clang
- SYSROOT = /build/atlas
- SSH_DUT = atlas
- else ifeq ($(target), local)
- CXX = clang++
- CC = clang
- else
- CXX = INVALID
- CC = INVALID
- endif
-
- SUBDIR = "subpass/"
- NAME = subpass
- FIRST_SUBPASS = draw
- SECOND_SUBPASS = darken
- CFLAGS = -std=c++17 --sysroot="$(SYSROOT)" -Wall
- LDFLAGS = -lvulkan -lpng
-
- all: build deploy run
-
- build: check
- @echo Building...
- @$(CXX) $(CFLAGS) -o ${NAME} ${NAME}.cc $(LDFLAGS)
-
- deploy: check
- ifneq ($(target), local)
- @echo Deploying to $(SSH_DUT)...
- @scp ${FIRST_SUBPASS}.vert.spv $(SSH_DUT):~/${SUBDIR}${FIRST_SUBPASS}.vert.spv
- @scp ${FIRST_SUBPASS}.frag.spv $(SSH_DUT):~/${SUBDIR}${FIRST_SUBPASS}.frag.spv
- @scp ${SECOND_SUBPASS}.vert.spv $(SSH_DUT):~/${SUBDIR}${SECOND_SUBPASS}.vert.spv
- @scp ${SECOND_SUBPASS}.frag.spv $(SSH_DUT):~/${SUBDIR}${SECOND_SUBPASS}.frag.spv
- @scp ${NAME} $(SSH_DUT):~/${SUBDIR}
- endif
-
- run: check
- ifneq ($(target), local)
- @echo Running on $(SSH_DUT)...
- @ssh $(SSH_DUT) 'cd ~/${SUBDIR} && ./${NAME}'
- @echo Copying artifacts back to local device...
- @scp $(SSH_DUT):~/${SUBDIR}${NAME}.png .
- else
- @echo Running locally...
- @./$(NAME)
- endif
-
- shaders:
- @glslc -c ${FIRST_SUBPASS}.vert
- @glslc -c ${FIRST_SUBPASS}.frag
- @glslc -c ${SECOND_SUBPASS}.vert
- @glslc -c ${SECOND_SUBPASS}.frag
-
- clean: check
- @rm -f ${NAME} ${NAME}.png ${FIRST_SUBPASS}.vert.spv ${FIRST_SUBPASS}.frag.spv \
- ${SECOND_SUBPASS}.vert.spv ${SECOND_SUBPASS}.frag.spv
- ifneq ($(target), local)
- @ssh $(SSH_DUT) 'rm -f ~/${SUBDIR}${NAME} ~/${SUBDIR}${NAME}.png \
- ~/${SUBDIR}${FIRST_SUBPASS}.vert.spv ~/${SUBDIR}${FIRST_SUBPASS}.frag.spv' \
- ~/${SUBDIR}${SECOND_SUBPASS}.vert.spv ~/${SUBDIR}${SECOND_SUBPASS}.frag.spv'
- endif
-
- check:
- ifeq ($(CXX), INVALID)
- $(error $$target must be one of [atlas, cheza, local] )
- endif
|