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 NAME = occlusion CFLAGS = -std=c++17 --sysroot="$(SYSROOT)" -Wall LDFLAGS = -lEGL -lGLESv2 -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 ${NAME}.vert $(SSH_DUT):~/${NAME}.vert @scp ${NAME}.frag $(SSH_DUT):~/${NAME}.frag @scp ${NAME} $(SSH_DUT):~/ endif run: check ifneq ($(target), local) @echo Running on $(SSH_DUT)... @ssh $(SSH_DUT) '~/${NAME}' @echo Copying artifacts back to local device... @scp $(SSH_DUT):~/${NAME}.png . else @echo Running locally... @./$(NAME) endif clean: check @rm -f ${NAME} ${NAME}.png ${NAME}.vert ${NAME}.frag ifneq ($(target), local) @ssh $(SSH_DUT) 'rm -f ~/${NAME} ~/${NAME}.png ~/${NAME}.vert ~/${NAME}.frag' endif check: ifeq ($(CXX), INVALID) $(error $$target must be one of [atlas, cheza, local] ) endif