CC ?= gcc
PKG_CONFIG ?= pkg-config

TARGET := build/kaotype
SOURCES := src/main.c src/hook.c src/config.c src/settings.c
OBJECTS := $(SOURCES:src/%.c=build/%.o)
PKGS := gtk+-2.0 xtst x11 xext

CFLAGS ?= -O2 -Wall -Wextra
CPPFLAGS += $(shell $(PKG_CONFIG) --cflags $(PKGS))
LDLIBS += $(shell $(PKG_CONFIG) --libs $(PKGS))

.PHONY: all clean run

all: $(TARGET)

$(TARGET): $(OBJECTS)
	$(CC) $(OBJECTS) -o $@ $(LDLIBS)

build/%.o: src/%.c | build
	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@

build:
	mkdir -p $@

run: $(TARGET)
	./$(TARGET)

clean:
	rm -f $(OBJECTS) $(TARGET)
