.PHONY: all clean CC = gcc CLIBS = -lwayland-client CFLAGS = $(CLIBS) EXT_SOURCE_PROTOCOL_IMPL = ext-image-capture-source-v1-protocol.c EXT_SOURCE_PROTOCOL_HEADER = ext-image-capture-source-v1-protocol.h EXT_CAPTURE_PROTOCOL_IMPL = ext-image-copy-capture-v1-protocol.c EXT_CAPTURE_PROTOCOL_HEADER = ext-image-copy-capture-v1-protocol.h EXT_TOPLEVEL_PROTOCOL_IMPL = ext-foreign-toplevel-list-v1-protocol.c EXT_TOPLEVEL_PROTOCOL_HEADER = ext-foreign-toplevel-list-v1-protocol.h SRC = main.c OUT = screencap PROTOCOL_IMPLS = $(EXT_TOPLEVEL_PROTOCOL_IMPL) $(EXT_SOURCE_PROTOCOL_IMPL) $(EXT_CAPTURE_PROTOCOL_IMPL) PROTOCOL_HEADERS = $(EXT_TOPLEVEL_PROTOCOL_HEADER) $(EXT_SOURCE_PROTOCOL_HEADER) $(EXT_CAPTURE_PROTOCOL_HEADER) PROTOCOLS = $(PROTOCOL_IMPLS) $(PROTOCOL_HEADERS) all: $(OUT) clean: rm -f $(OUT) rm -f $(PROTOCOLS) $(OUT): $(PROTOCOLS) $(SRC) $(CC) $(PROTOCOL_IMPLS) $(SRC) $(CFLAGS) -o $(OUT) $(EXT_SOURCE_PROTOCOL_IMPL): wayland-scanner private-code ./ext-image-capture-source-v1.xml $(EXT_SOURCE_PROTOCOL_IMPL) $(EXT_SOURCE_PROTOCOL_HEADER): wayland-scanner client-header ./ext-image-capture-source-v1.xml $(EXT_SOURCE_PROTOCOL_HEADER) $(EXT_CAPTURE_PROTOCOL_IMPL): wayland-scanner private-code ./ext-image-copy-capture-v1.xml $(EXT_CAPTURE_PROTOCOL_IMPL) $(EXT_CAPTURE_PROTOCOL_HEADER): wayland-scanner client-header ./ext-image-copy-capture-v1.xml $(EXT_CAPTURE_PROTOCOL_HEADER) $(EXT_TOPLEVEL_PROTOCOL_IMPL): wayland-scanner private-code ./ext-foreign-toplevel-list-v1.xml $(EXT_TOPLEVEL_PROTOCOL_IMPL) $(EXT_TOPLEVEL_PROTOCOL_HEADER): wayland-scanner client-header ./ext-foreign-toplevel-list-v1.xml $(EXT_TOPLEVEL_PROTOCOL_HEADER)