CC = cc
XKB_CFLAGS := $(shell pkg-config --cflags xkbcommon)
XKB_LIBS := $(shell pkg-config --libs xkbcommon)
CFLAGS = -Wall -Wextra -O2 -I.. -Ixcb-imdkit/src $(XKB_CFLAGS)
PROG = strans-xim

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

LIBS = xcb-imdkit/libxcb-imdkit.a xcb-util/libxcb-util.a

all: $(PROG)

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

$(OBJS): ../ipc.h

xcb-imdkit/libxcb-imdkit.a: xcb-util/libxcb-util.a
	$(MAKE) -C xcb-imdkit

xcb-util/libxcb-util.a:
	$(MAKE) -C xcb-util

clean:
	rm -f $(OBJS) $(PROG)
	$(MAKE) -C xcb-imdkit clean
	$(MAKE) -C xcb-util clean

.PHONY: all clean
