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.c xdg-shell-client-protocol.c LIB_OBJ := $(LIB_SRC:.c=.o) .PHONY: all clean all: libwaymini.a example waymini libwaymini.a: $(LIB_OBJ) ar rcs $@ $^ example: example.c libwaymini.a $(CC) $(CFLAGS) -o $@ example.c -L. -lwaymini $(LDFLAGS) waymini: waymini_standalone.c waymini.c xdg-shell-client-protocol.c $(CC) $(CFLAGS) -o $@ waymini_standalone.c waymini.c xdg-shell-client-protocol.c $(LDFLAGS) %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< clean: rm -f $(LIB_OBJ) libwaymini.a example waymini xdg-shell-client-protocol.c xdg-shell-client-protocol.h: gen-protocols.sh bash gen-protocols.sh