aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile49
1 files changed, 49 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..16dfb04
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,49 @@
+PKG_CONFIG = pkg-config
+VERSION = 0.1
+
+# flags and incs
+PKGS = wayland-client wayland-server
+CFLAGS = -DVERSION=\"$(VERSION)\" -Wall
+LIBS = `$(PKG_CONFIG) --libs $(PKGS)`
+
+PREFIX = /usr/local
+MANDIR = $(PREFIX)/share/man
+
+# compiler and linker
+CC = cc
+
+# 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.
+WAYLAND_PROTOCOLS = `$(PKG_CONFIG) --variable=pkgdatadir wayland-protocols`
+WAYLAND_SCANNER = `$(PKG_CONFIG) --variable=wayland_scanner wayland-scanner`
+
+all: ext-idle-notify-v1-protocol.o config.h wiz
+wiz: wiz.o
+ $(CC) -o $@ *.o $(CFLAGS) $(LIBS)
+wiz.o: wiz.c config.h
+ext-idle-notify-v1-protocol.o: ext-idle-notify-v1-protocol.c ext-idle-notify-v1-protocol.h
+
+ext-idle-notify-v1-protocol.h:
+ $(WAYLAND_SCANNER) client-header \
+ $(WAYLAND_PROTOCOLS)/staging/ext-idle-notify/ext-idle-notify-v1.xml $@
+ext-idle-notify-v1-protocol.c:
+ $(WAYLAND_SCANNER) private-code \
+ $(WAYLAND_PROTOCOLS)/staging/ext-idle-notify/ext-idle-notify-v1.xml $@
+
+config.h:
+ cp config.def.h $@
+
+clean:
+ rm -f wiz *.o *-protocol.*
+
+install: wiz
+ mkdir -p $(PREFIX)/bin
+ cp -f wiz $(PREFIX)/bin
+ chmod 755 $(PREFIX)/bin/wiz
+ mkdir -p $(MANDIR)/man1
+ cp -f wiz.1 $(MANDIR)/man1
+ chmod 644 $(MANDIR)/man1/wiz.1
+
+uninstall: wiz
+ rm -f $(PREFIX)/bin/wiz $(MANDIR)/man1/wiz.1