main
Makefile
1PKG_CONFIG ?= pkg-config
2PKGS = wayland-client wld scfg
3CLIBS != $(PKG_CONFIG) --cflags $(PKGS)
4LDLIBS != $(PKG_CONFIG) --libs $(PKGS)
5
6PREFIX = /usr/local
7VERSION = 0.1.0
8
9CFLAGS += -g -O0 -Wall -Wextra -Wno-unused-parameter -pedantic -std=c99 -Oz -fcolor-diagnostics -DVERSION=\"$(VERSION)\" -D_POSIX_C_SOURCE=200809L -Iproto/ $(CLIBS)
10LDFLAGS += $(LDLIBS)
11
12SHELL_PROTO = proto/xdg-shell-protocol.h
13LAYER_PROTO = proto/wlr-layer-shell-unstable-v1.h
14
15SRC = $(SHELL_PROTO:.h=.c) $(LAYER_PROTO:.h=.c) src/panko.c
16OUT = panko
17
18all: $(SHELL_PROTO) $(SHELL_PROTO:.h=.c) $(LAYER_PROTO) $(LAYER_PROTO:.h=.c) $(OUT)
19
20# ugh
21$(SHELL_PROTO): proto/xdg-shell.xml
22 wayland-scanner client-header $^ $@
23$(SHELL_PROTO:.h=.c): proto/xdg-shell.xml
24 wayland-scanner private-code $^ $@
25$(LAYER_PROTO): proto/wlr-layer-shell-unstable-v1.xml
26 wayland-scanner client-header $^ $@
27$(LAYER_PROTO:.h=.c): proto/wlr-layer-shell-unstable-v1.xml
28 wayland-scanner private-code $^ $@
29
30$(OUT): $(SRC)
31 $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
32
33install: $(OUT)
34 install -Dm755 $(OUT) $(PREFIX)/bin/$(OUT)
35
36uninstall:
37 rm -f $(PREFIX)/bin/$(OUT)
38
39clean:
40 rm -f $(SHELL_PROTO) $(SHELL_PROTO:.h=.c) $(LAYER_PROTO) $(LAYER_PROTO:.h=.c) $(OUT)
41
42.PHONY: all install uninstall clean