CC      = gcc

# pkg-config gives correct flags on both Linux and macOS/Homebrew.
# Fallback covers systems where pkg-config isn't available.
PKG_XFT_C := $(shell pkg-config --cflags xft x11 2>/dev/null)
PKG_XFT_L := $(shell pkg-config --libs   xft x11 2>/dev/null)

ifeq ($(PKG_XFT_C),)
  # macOS Homebrew fallback
  PKG_XFT_C := -I/opt/homebrew/include
  PKG_XFT_L := -L/opt/homebrew/lib -lXft -lfontconfig
endif

CFLAGS  = -Wall -Wextra -O2 -Iinclude $(PKG_XFT_C)
LDFLAGS = $(PKG_XFT_L)

SRC = src/wm.c src/client.c src/events.c src/draw.c src/color.c src/menu.c src/switcher.c
OBJ = $(SRC:.c=.o)
BIN = skywm

.PHONY: all clean install
all: $(BIN)
$(BIN): $(OBJ)
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<
install: $(BIN)
	install -Dm755 $(BIN) /usr/local/bin/$(BIN)
clean:
	rm -f $(OBJ) $(BIN)
