aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2020-04-11 17:27:19 -0500
committerDevin J. Pohly <djpohly@gmail.com>2020-04-11 17:27:19 -0500
commit94d82bf42f998a84f5e46cde0b8a309d59425598 (patch)
tree0b450b414d62cd071c00fb2cde3f4dd0ce2afa61 /Makefile
Start with tinywl
Add a config.h into which configurables can be moved.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile30
1 files changed, 30 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..818686c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,30 @@
+WAYLAND_PROTOCOLS=$(shell pkg-config --variable=pkgdatadir wayland-protocols)
+WAYLAND_SCANNER=$(shell pkg-config --variable=wayland_scanner wayland-scanner)
+LIBS=\
+ $(shell pkg-config --cflags --libs wlroots) \
+ $(shell pkg-config --cflags --libs wayland-server) \
+ $(shell pkg-config --cflags --libs xkbcommon)
+
+# wayland-scanner is a tool which generates C headers and rigging for Wayland
+# protocols, which are specified in XML. wlroots requires you to rig these up
+# to your build system yourself and provide them in the include path.
+xdg-shell-protocol.h:
+ $(WAYLAND_SCANNER) server-header \
+ $(WAYLAND_PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
+
+xdg-shell-protocol.c: xdg-shell-protocol.h
+ $(WAYLAND_SCANNER) private-code \
+ $(WAYLAND_PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
+
+dwl: dwl.c config.h xdg-shell-protocol.h xdg-shell-protocol.c
+ $(CC) $(CFLAGS) \
+ -g -Werror -I. \
+ -DWLR_USE_UNSTABLE \
+ -o $@ $< \
+ $(LIBS)
+
+clean:
+ rm -f dwl xdg-shell-protocol.h xdg-shell-protocol.c
+
+.DEFAULT_GOAL=dwl
+.PHONY: clean