Files
UwUGL/Makefile
T
2026-07-07 08:13:56 -07:00

34 lines
1016 B
Makefile

CC ?= gcc
CFLAGS := -Wall -Wextra -O2 $(shell pkg-config --cflags wayland-client 2>/dev/null)
LDFLAGS := $(shell pkg-config --libs wayland-client 2>/dev/null)
# Fallback if pkg-config is unavailable or returns nothing.
ifeq ($(LDFLAGS),)
LDFLAGS := -lwayland-client -lm
endif
LIB_SRC := waymini/waymini.c waymini/xdg-shell-client-protocol.c
LIB_OBJ := $(LIB_SRC:.c=.o)
.PHONY: all clean
all: waymini/libwaymini.a example waymini
waymini/libwaymini.a: $(LIB_OBJ)
ar rcs $@ $^
example: example.cpp waymini/libwaymini.a
g++ $(CFLAGS) -o $@ example.cpp -Lwaymini -lwaymini $(LDFLAGS)
waymini: waymini/waymini_standalone.c waymini/waymini.c waymini/xdg-shell-client-protocol.c
$(CC) $(CFLAGS) -o $@ waymini/waymini_standalone.c waymini/waymini.c waymini/xdg-shell-client-protocol.c $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(LIB_OBJ) waymini/libwaymini.a example waymini/waymini
xdg-shell-client-protocol.c xdg-shell-client-protocol.h: gen-protocols.sh
bash waymini/gen-protocols.sh