CC = cc
XIM_CFLAGS = $(shell pkg-config --cflags xcb-imdkit xkbcommon)
XIM_LIBS = $(shell pkg-config --libs xcb-imdkit xkbcommon)
CFLAGS = -Wall -Wextra -O2 -I.. $(XIM_CFLAGS)
PROG = strans-xim

SRCS = $(wildcard *.c)
OBJS = $(SRCS:.c=.o)
TEST = xim_test

all: $(PROG)

$(PROG): $(OBJS) ../ipc.c ../ipc.h
	$(CC) $(CFLAGS) -o $@ $(OBJS) ../ipc.c $(XIM_LIBS)

$(OBJS): ../ipc.h

$(TEST): ../tests/xim_test.c keymap.c keymap.h ximtext.c ximtext.h
	$(CC) $(CFLAGS) -o $@ ../tests/xim_test.c keymap.c ximtext.c $(XIM_LIBS)

check: $(TEST)
	./$(TEST)

clean:
	rm -f $(OBJS) $(PROG) $(TEST)

.PHONY: all check clean
