From d92c238721589401f47a4428969df522199e8d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= Date: Wed, 12 Jun 2024 10:01:52 -0600 Subject: [PATCH] tinywl: split compilation into two steps While we are at it also respect LDFLAGS and optimize pkg-config usage --- tinywl/Makefile | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/tinywl/Makefile b/tinywl/Makefile index 6704c536..32a76a56 100644 --- 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.18") \ - $(shell pkg-config --cflags --libs wayland-server) \ - $(shell pkg-config --cflags --libs xkbcommon) + +PKGS="wlroots-0.18" 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 + rm -f tinywl tinywl.o xdg-shell-protocol.h .DEFAULT_GOAL=tinywl .PHONY: clean