AtlatestRepositorysigil-wm

sigil-wm / treeMakefile

1CC = gcc
2PKGS = wlroots-0.19 wayland-server xkbcommon pixman-1 libinput libdrm
3CFLAGS += -std=c11 -O1 -g -Wall -Wextra -Werror -DWLR_USE_UNSTABLE -D_POSIX_C_SOURCE=200809L
4CPPFLAGS += $(shell pkg-config --cflags $(PKGS)) -Ibuild
5LDLIBS += $(shell pkg-config --libs $(PKGS)) -pthread -lm
6LDFLAGS += $(shell pkg-config --libs-only-L $(PKGS) | sed 's/-L/-Wl,-rpath,/g')
7PROTOCOLS = $(shell pkg-config --variable=pkgdatadir wayland-protocols)
8
9all: build/libsigil-wm.so build/environment-exec
11build/input-queue-gate.so: test/input-queue-gate.c build/libsigil-wm.so
12 $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $< $(LDFLAGS) $(LDLIBS) -o $@
14build/libsigil-wm.so: src/c/output-gamma.h
16build/output-gamma-test: test/output-gamma.c src/c/output-gamma.h src/c/host.c
17 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@
19build/output-gamma-lifecycle-test: test/output-gamma-lifecycle.c src/c/output-gamma.h src/c/host.c
20 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@
22build/gamma-client: test/gamma-client.c build/wlr-gamma-control-unstable-v1-client-protocol.h build/wlr-gamma-control-unstable-v1-client-protocol.c
23 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/wlr-gamma-control-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
25build/trace-records-test: test/trace-records.c src/c/trace-records.h
26 mkdir -p build
27 $(CC) -std=c11 -O2 -Wall -Wextra -Werror -D_POSIX_C_SOURCE=200809L $< -o $@
29build/output-inventory-test: test/output-inventory.c src/c/output-inventory.h src/c/host.c
30 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@
32build/scene-move-test: test/scene-move.c src/c/scene-move.h src/c/host.c
33 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@
35build/deadlines-test: test/deadlines.c src/c/deadlines.h src/c/host.c
36 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@
38build/libsigil-wm.so: src/c/scene-move.h src/c/trace-records.h src/c/output-inventory.h src/c/deadlines.h
40build/environment-exec: src/c/environment-exec.c
41 mkdir -p build
42 $(CC) -std=c11 -O2 -Wall -Wextra -Werror $< -o $@
44build/environment-exec-test: test/environment-exec.c
45 mkdir -p build
46 $(CC) -std=c11 -O1 -Wall -Wextra -Werror $< -o $@
48build/xdg-shell-protocol.h:
49 mkdir -p build
50 wayland-scanner server-header $(PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
52build/ext-session-lock-v1-protocol.h:
53 mkdir -p build
54 wayland-scanner server-header $(PROTOCOLS)/staging/ext-session-lock/ext-session-lock-v1.xml $@
56build/libsigil-wm.so: src/c/host.c src/c/security-context.h src/c/foreign-toplevel.h src/c/event-stream.h src/c/lock.h src/c/permissions.h src/c/extensions.h src/c/keyboard-settings.h src/c/roles.h src/c/layers.h src/c/x11.h src/c/headless.h src/c/desktop.h src/c/devices.h src/c/output-controls.h src/c/output-atomic.h src/c/output-pending.h src/c/output-batch.h src/c/output-management.h src/c/constraints.h src/c/session-control.h src/c/legacy-decorations.h src/c/api.h build/xdg-shell-protocol.h build/ext-session-lock-v1-protocol.h build/wlr-layer-shell-unstable-v1-protocol.h build/cursor-shape-v1-protocol.h build/ext-image-copy-capture-v1-protocol.h build/wlr-output-power-management-unstable-v1-protocol.h build/pointer-constraints-unstable-v1-protocol.h
57 $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $< $(LDFLAGS) $(LDLIBS) -o $@
59build/xdg-shell-client-protocol.h:
60 mkdir -p build
61 wayland-scanner client-header $(PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
63build/xdg-shell-client-protocol.c:
64 mkdir -p build
65 wayland-scanner private-code $(PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
67build/pixel-client: test/pixel-client.c build/xdg-shell-client-protocol.h build/xdg-shell-client-protocol.c build/wlr-layer-shell-unstable-v1-client-protocol.h build/wlr-layer-shell-unstable-v1-client-protocol.c
68 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/xdg-shell-client-protocol.c build/wlr-layer-shell-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
70build/readback: test/readback.c
71 mkdir -p build
72 $(CC) $(CFLAGS) $(shell pkg-config --cflags libpng) $< $(shell pkg-config --libs libpng) -Wl,-rpath,$(shell pkg-config --variable=libdir libpng) -o $@
74build/%-protocol.h: protocol/%.xml
75 mkdir -p build
76 wayland-scanner server-header $< $@
78build/%-client-protocol.h: protocol/%.xml
79 mkdir -p build
80 wayland-scanner client-header $< $@
82build/%-client-protocol.c: protocol/%.xml
83 mkdir -p build
84 wayland-scanner private-code $< $@
86build/ext-foreign-toplevel-list-v1-client-protocol.h:
87 mkdir -p build
88 wayland-scanner client-header $(PROTOCOLS)/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml $@
90build/ext-foreign-toplevel-list-v1-client-protocol.c:
91 mkdir -p build
92 wayland-scanner private-code $(PROTOCOLS)/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml $@
94build/foreign-toplevel-client: test/foreign-toplevel-client.c build/ext-foreign-toplevel-list-v1-client-protocol.h build/ext-foreign-toplevel-list-v1-client-protocol.c build/wlr-foreign-toplevel-management-unstable-v1-client-protocol.h build/wlr-foreign-toplevel-management-unstable-v1-client-protocol.c
95 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/ext-foreign-toplevel-list-v1-client-protocol.c build/wlr-foreign-toplevel-management-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
97build/ext-session-lock-v1-client-protocol.h:
98 mkdir -p build
99 wayland-scanner client-header $(PROTOCOLS)/staging/ext-session-lock/ext-session-lock-v1.xml $@
101build/ext-session-lock-v1-client-protocol.c:
102 mkdir -p build
103 wayland-scanner private-code $(PROTOCOLS)/staging/ext-session-lock/ext-session-lock-v1.xml $@
105build/lock-client: test/lock-client.c build/ext-session-lock-v1-client-protocol.h build/ext-session-lock-v1-client-protocol.c
106 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/ext-session-lock-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
108build/input-driver: test/input-driver.c build/virtual-keyboard-unstable-v1-client-protocol.h build/virtual-keyboard-unstable-v1-client-protocol.c build/wlr-virtual-pointer-unstable-v1-client-protocol.h build/wlr-virtual-pointer-unstable-v1-client-protocol.c
109 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client xkbcommon) $< build/virtual-keyboard-unstable-v1-client-protocol.c build/wlr-virtual-pointer-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client xkbcommon) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir xkbcommon) -o $@
111build/native-lifetime: test/native-lifetime.c src/c/api.h build/libsigil-wm.so
112 $(CC) $(CFLAGS) -Isrc/c $< -Lbuild -lsigil-wm -Wl,-rpath,'$$ORIGIN' -o $@
114build/x11-client: test/x11-client.c
115 mkdir -p build
116 $(CC) $(CFLAGS) $(shell pkg-config --cflags xcb) $< $(shell pkg-config --libs xcb) -Wl,-rpath,$(shell pkg-config --variable=libdir xcb) -o $@
118build/cursor-shape-v1-protocol.h:
119 mkdir -p build
120 wayland-scanner server-header $(PROTOCOLS)/staging/cursor-shape/cursor-shape-v1.xml $@
122build/ext-image-copy-capture-v1-protocol.h:
123 mkdir -p build
124 wayland-scanner server-header $(PROTOCOLS)/staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml $@
126build/idle-inhibit-unstable-v1-client-protocol.h:
127 mkdir -p build
128 wayland-scanner client-header $(PROTOCOLS)/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml $@
130build/idle-inhibit-unstable-v1-client-protocol.c:
131 mkdir -p build
132 wayland-scanner private-code $(PROTOCOLS)/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml $@
134build/relative-pointer-unstable-v1-client-protocol.h:
135 mkdir -p build
136 wayland-scanner client-header $(PROTOCOLS)/unstable/relative-pointer/relative-pointer-unstable-v1.xml $@
138build/relative-pointer-unstable-v1-client-protocol.c:
139 mkdir -p build
140 wayland-scanner private-code $(PROTOCOLS)/unstable/relative-pointer/relative-pointer-unstable-v1.xml $@
142build/pointer-constraints-unstable-v1-client-protocol.h:
143 mkdir -p build
144 wayland-scanner client-header $(PROTOCOLS)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml $@
146build/pointer-constraints-unstable-v1-client-protocol.c:
147 mkdir -p build
148 wayland-scanner private-code $(PROTOCOLS)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml $@
150build/primary-selection-unstable-v1-client-protocol.h:
151 mkdir -p build
152 wayland-scanner client-header $(PROTOCOLS)/unstable/primary-selection/primary-selection-unstable-v1.xml $@
154build/primary-selection-unstable-v1-client-protocol.c:
155 mkdir -p build
156 wayland-scanner private-code $(PROTOCOLS)/unstable/primary-selection/primary-selection-unstable-v1.xml $@
158build/protocol-client: test/decoration-client.h build/server-decoration-client-protocol.h build/server-decoration-client-protocol.c build/xdg-decoration-unstable-v1-client-protocol.h build/xdg-decoration-unstable-v1-client-protocol.c build/xdg-activation-v1-client-protocol.h build/xdg-activation-v1-client-protocol.c test/protocol-client.c build/xdg-shell-client-protocol.h build/xdg-shell-client-protocol.c build/idle-inhibit-unstable-v1-client-protocol.h build/idle-inhibit-unstable-v1-client-protocol.c build/relative-pointer-unstable-v1-client-protocol.h build/relative-pointer-unstable-v1-client-protocol.c build/pointer-constraints-unstable-v1-client-protocol.h build/pointer-constraints-unstable-v1-client-protocol.c
159 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client xkbcommon) test/protocol-client.c build/server-decoration-client-protocol.c build/xdg-decoration-unstable-v1-client-protocol.c build/xdg-activation-v1-client-protocol.c build/xdg-shell-client-protocol.c build/idle-inhibit-unstable-v1-client-protocol.c build/relative-pointer-unstable-v1-client-protocol.c build/pointer-constraints-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client xkbcommon) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
161build/data-client: test/data-client.c build/xdg-shell-client-protocol.h build/xdg-shell-client-protocol.c build/primary-selection-unstable-v1-client-protocol.h build/primary-selection-unstable-v1-client-protocol.c
162 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/xdg-shell-client-protocol.c build/primary-selection-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
164build/ext-idle-notify-v1-client-protocol.h:
165 mkdir -p build
166 wayland-scanner client-header $(PROTOCOLS)/staging/ext-idle-notify/ext-idle-notify-v1.xml $@
168build/ext-idle-notify-v1-client-protocol.c:
169 mkdir -p build
170 wayland-scanner private-code $(PROTOCOLS)/staging/ext-idle-notify/ext-idle-notify-v1.xml $@
172build/idle-client: test/idle-client.c build/ext-idle-notify-v1-client-protocol.h build/ext-idle-notify-v1-client-protocol.c
173 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/ext-idle-notify-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
175build/output-commit-fault.so: test/output-commit-fault.c
176 mkdir -p build
177 $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $< $(LDFLAGS) $(LDLIBS) -ldl -o $@
179build/pointer-constraints-unstable-v1-protocol.h:
180 mkdir -p build
181 wayland-scanner server-header $(PROTOCOLS)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml $@
183build/csd-client: test/csd-client.c
184 mkdir -p build
185 $(CC) $(CFLAGS) $$(pkg-config --cflags gtk+-3.0) $< $$(pkg-config --libs gtk+-3.0) -Wl,-rpath,$$(pkg-config --variable=libdir gtk+-3.0) -o $@
187build/xdg-activation-v1-client-protocol.h:
188 mkdir -p build
189 wayland-scanner client-header $(PROTOCOLS)/staging/xdg-activation/xdg-activation-v1.xml $@
191build/xdg-activation-v1-client-protocol.c:
192 mkdir -p build
193 wayland-scanner private-code $(PROTOCOLS)/staging/xdg-activation/xdg-activation-v1.xml $@
195build/session-switch: test/session-switch.c build/libsigil-wm.so
196 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@
198build/server-decoration-client-protocol.h: test/protocol/server-decoration.xml
199 mkdir -p build
200 wayland-scanner client-header $< $@
202build/server-decoration-client-protocol.c: test/protocol/server-decoration.xml
203 mkdir -p build
204 wayland-scanner private-code $< $@
206build/xdg-decoration-unstable-v1-client-protocol.h:
207 mkdir -p build
208 wayland-scanner client-header $(PROTOCOLS)/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml $@
210build/xdg-decoration-unstable-v1-client-protocol.c:
211 mkdir -p build
212 wayland-scanner private-code $(PROTOCOLS)/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml $@
214build/output-present-fault.so: test/output-present-fault.c
215 mkdir -p build
216 $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $< $(LDFLAGS) $(LDLIBS) -ldl -o $@
218build/backend-pointer.so: test/backend-pointer.c
219 mkdir -p build
220 $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $< $(LDFLAGS) $(LDLIBS) -ldl -o $@
222build/geometry-client: test/geometry-client.c build/xdg-shell-client-protocol.h build/xdg-shell-client-protocol.c build/wlr-layer-shell-unstable-v1-client-protocol.h build/wlr-layer-shell-unstable-v1-client-protocol.c
223 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/xdg-shell-client-protocol.c build/wlr-layer-shell-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
225build/popup-client: test/popup-client.c build/xdg-shell-client-protocol.h build/xdg-shell-client-protocol.c build/wlr-layer-shell-unstable-v1-client-protocol.h build/wlr-layer-shell-unstable-v1-client-protocol.c
226 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/xdg-shell-client-protocol.c build/wlr-layer-shell-unstable-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
228build/popup-constraints: test/popup-constraints.c build/libsigil-wm.so
229 $(CC) $(CFLAGS) -Isrc/c $< -Lbuild -lsigil-wm -Wl,-rpath,'$$ORIGIN' -o $@
231build/damage-client: test/damage-client.c build/xdg-shell-client-protocol.h build/xdg-shell-client-protocol.c
232 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/xdg-shell-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
234build/surface-frames: test/surface-frames.c build/libsigil-wm.so
235 $(CC) $(CFLAGS) -Isrc/c $< -Lbuild -lsigil-wm -Wl,-rpath,'$$ORIGIN' -o $@
237build/frame-fault.so: test/frame-fault.c
238 $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $< $(LDFLAGS) $(LDLIBS) -ldl -o $@
240build/security-context-v1-client-protocol.h:
241 mkdir -p build
242 wayland-scanner client-header $(PROTOCOLS)/staging/security-context/security-context-v1.xml $@
244build/security-context-v1-client-protocol.c:
245 mkdir -p build
246 wayland-scanner private-code $(PROTOCOLS)/staging/security-context/security-context-v1.xml $@
248build/security-context-client: test/security-context-client.c build/security-context-v1-client-protocol.h build/security-context-v1-client-protocol.c build/ext-foreign-toplevel-list-v1-client-protocol.h build/ext-foreign-toplevel-list-v1-client-protocol.c
249 $(CC) $(CFLAGS) -Ibuild $(shell pkg-config --cflags wayland-client) $< build/security-context-v1-client-protocol.c build/ext-foreign-toplevel-list-v1-client-protocol.c $(shell pkg-config --libs wayland-client) -Wl,-rpath,$(shell pkg-config --variable=libdir wayland-client) -o $@
251build/plan-presentation-test: test/plan-presentation.c src/c/host.c
252 $(CC) $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) $(LDLIBS) -o $@