blob: 2537955f7b12f4a5efe0684b50fcc69f3b32221f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4710
From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?=
<leohdz172@proton.me>
Date: Wed, 12 Jun 2024 10:01:52 -0600
Subject: [PATCH 1/2] tinywl: split compilation into two steps
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
While we are at it also respect LDFLAGS and optimize pkg-config usage
Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me>
--- a/tinywl/Makefile
+++ b/tinywl/Makefile
@@ -1,9 +1,9 @@
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 >= 0.17.0") \
- $(shell pkg-config --cflags --libs wayland-server) \
- $(shell pkg-config --cflags --libs xkbcommon)
+
+PKGS="wlroots" wayland-server xkbcommon
+CFLAGS+=$(shell pkg-config --cflags $(PKGS))
+LIBS=$(shell pkg-config --libs $(PKGS))
# 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
@@ -12,15 +12,13 @@ xdg-shell-protocol.h:
$(WAYLAND_SCANNER) server-header \
$(WAYLAND_PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
-tinywl: tinywl.c xdg-shell-protocol.h
- $(CC) $(CFLAGS) \
- -g -Werror -I. \
- -DWLR_USE_UNSTABLE \
- -o $@ $< \
- $(LIBS)
+tinywl.o: tinywl.c xdg-shell-protocol.h
+ $(CC) -g -Werror $(CFLAGS) -I. -DWLR_USE_UNSTABLE -o $@ -c $<
+tinywl: tinywl.o
+ $(CC) $< -g -Werror $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@
clean:
- rm -f tinywl xdg-shell-protocol.h xdg-shell-protocol.c
+ rm -f tinywl tinywl.o xdg-shell-protocol.h
.DEFAULT_GOAL=tinywl
.PHONY: clean
--
2.45.2
From 29451c3dd28ffd52eb3dcf20e47399a26ecafb3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?=
<leohdz172@proton.me>
Date: Wed, 12 Jun 2024 17:58:54 -0600
Subject: [PATCH 2/2] tinywl: allow specify pkg-config binary
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me>
--- a/tinywl/Makefile
+++ b/tinywl/Makefile
@@ -1,9 +1,10 @@
-WAYLAND_PROTOCOLS=$(shell pkg-config --variable=pkgdatadir wayland-protocols)
-WAYLAND_SCANNER=$(shell pkg-config --variable=wayland_scanner wayland-scanner)
+PKG_CONFIG?=pkg-config
+WAYLAND_PROTOCOLS=$(shell $(PKG_CONFIG) --variable=pkgdatadir wayland-protocols)
+WAYLAND_SCANNER=$(shell $(PKG_CONFIG) --variable=wayland_scanner wayland-scanner)
-PKGS="wlroots" wayland-server xkbcommon
-CFLAGS+=$(shell pkg-config --cflags $(PKGS))
-LIBS=$(shell pkg-config --libs $(PKGS))
+PKGS=wlroots wayland-server xkbcommon
+CFLAGS+=$(shell $(PKG_CONFIG) --cflags $(PKGS))
+LIBS=$(shell $(PKG_CONFIG) --libs $(PKGS))
# 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
--
2.45.2
|