2026-07-03 22:29:37 -07:00
|
|
|
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
|
|
|
|
|
|
2026-07-07 08:09:54 -07:00
|
|
|
LIB_SRC := waymini/waymini.c waymini/xdg-shell-client-protocol.c
|
2026-07-03 22:29:37 -07:00
|
|
|
LIB_OBJ := $(LIB_SRC:.c=.o)
|
|
|
|
|
|
|
|
|
|
.PHONY: all clean
|
|
|
|
|
|
2026-07-07 08:09:54 -07:00
|
|
|
all: waymini/libwaymini.a example waymini
|
2026-07-03 22:29:37 -07:00
|
|
|
|
2026-07-07 08:09:54 -07:00
|
|
|
waymini/libwaymini.a: $(LIB_OBJ)
|
|
|
|
|
ar rcs -rpath=./waymini $@ $^
|
2026-07-03 22:29:37 -07:00
|
|
|
|
2026-07-07 08:09:54 -07:00
|
|
|
example: example.cpp waymini/libwaymini.a
|
2026-07-07 03:49:24 -07:00
|
|
|
g++ $(CFLAGS) -o $@ example.cpp -L. -lwaymini $(LDFLAGS)
|
2026-07-03 22:29:37 -07:00
|
|
|
|
2026-07-07 08:09:54 -07:00
|
|
|
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)
|
2026-07-03 22:29:37 -07:00
|
|
|
|
|
|
|
|
%.o: %.c
|
|
|
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
|
|
|
|
|
|
clean:
|
2026-07-07 08:09:54 -07:00
|
|
|
rm -f $(LIB_OBJ) waymini/libwaymini.a example waymini/waymini
|
2026-07-03 22:29:37 -07:00
|
|
|
|
|
|
|
|
xdg-shell-client-protocol.c xdg-shell-client-protocol.h: gen-protocols.sh
|
2026-07-07 08:09:54 -07:00
|
|
|
bash waymini/gen-protocols.sh
|