INTERFACEDIR:=$(shell pkg-config --variable=pkgdatadir wayland-protocols) CFLAGS=-Wall -Wextra -Og -ggdb3 -Wno-unused-but-set-variable -Wno-unused-parameter -Wl,--export-dynamic LIBS=-lwayland-client -lwayland-egl -lEGL -lOpenGL -lxkbcommon -levdev wayland: wayland.c xdg-shell-protocol.c xdg-shell-client-protocol.h zwp-text-input-unstable-v3-client-protocol.c zwp-text-input-unstable-v3-protocol.h xdg-decoration-unstable-v1.c xdg-decoration-unstable-v1.h game.h gcc $(CFLAGS) $(LIBS) $^ -o wayland # TODO: Normalize these annoying names xdg-shell-protocol.c: wayland-scanner private-code $(INTERFACEDIR)/stable/xdg-shell/xdg-shell.xml xdg-shell-protocol.c xdg-shell-client-protocol.h: wayland-scanner client-header $(INTERFACEDIR)/stable/xdg-shell/xdg-shell.xml xdg-shell-client-protocol.h zwp-text-input-unstable-v3-client-protocol.c: wayland-scanner private-code $(INTERFACEDIR)/unstable/text-input/text-input-unstable-v3.xml zwp-text-input-unstable-v3-client-protocol.c zwp-text-input-unstable-v3-protocol.h: wayland-scanner client-header $(INTERFACEDIR)/unstable/text-input/text-input-unstable-v3.xml zwp-text-input-unstable-v3-protocol.h xdg-decoration-unstable-v1.c: wayland-scanner private-code $(INTERFACEDIR)/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml xdg-decoration-unstable-v1.c xdg-decoration-unstable-v1.h: wayland-scanner client-header $(INTERFACEDIR)/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml xdg-decoration-unstable-v1.h game.so: game.c game.h gcc $(CFLAGS) game.c -shared -o game.so