2020-09-11 01:25:28 -07:00
|
|
|
include config.mk
|
|
|
|
|
2021-08-22 23:14:47 +02:00
|
|
|
NAME=wvkbd
|
|
|
|
BIN=${NAME}-${LAYOUT}
|
2020-09-11 01:25:28 -07:00
|
|
|
SRC=.
|
|
|
|
|
2021-08-24 18:52:05 +02:00
|
|
|
PKGS = wayland-client xkbcommon pangocairo
|
2020-09-11 01:25:28 -07:00
|
|
|
|
|
|
|
WVKBD_SOURCES += $(wildcard $(SRC)/*.c)
|
|
|
|
WVKBD_HEADERS += $(wildcard $(SRC)/*.h)
|
|
|
|
|
2021-08-22 23:14:47 +02:00
|
|
|
CFLAGS += -std=gnu99 -Wall -g -DWITH_WAYLAND_SHM -DLAYOUT=\"layout.${LAYOUT}.h\"
|
2020-09-11 01:25:28 -07:00
|
|
|
CFLAGS += $(shell pkg-config --cflags $(PKGS))
|
2021-08-24 18:52:05 +02:00
|
|
|
LDFLAGS =$(shell pkg-config --libs $(PKGS)) -lm -lutil -lrt
|
2020-09-11 01:25:28 -07:00
|
|
|
|
|
|
|
WAYLAND_HEADERS = $(wildcard proto/*.xml)
|
|
|
|
|
|
|
|
HDRS = $(WAYLAND_HEADERS:.xml=-client-protocol.h)
|
|
|
|
WAYLAND_SRC = $(HDRS:.h=.c)
|
|
|
|
SOURCES = $(WVKBD_SOURCES) $(WAYLAND_SRC)
|
|
|
|
|
|
|
|
OBJECTS = $(SOURCES:.c=.o)
|
|
|
|
|
2021-08-24 18:52:05 +02:00
|
|
|
all: ${BIN}
|
2020-09-11 01:25:28 -07:00
|
|
|
|
2021-08-25 23:45:59 +02:00
|
|
|
config.h: config.def.h
|
|
|
|
cp config.def.h config.h
|
|
|
|
|
2020-09-11 01:25:28 -07:00
|
|
|
proto/%-client-protocol.c: proto/%.xml
|
|
|
|
wayland-scanner code < $? > $@
|
|
|
|
|
|
|
|
proto/%-client-protocol.h: proto/%.xml
|
|
|
|
wayland-scanner client-header < $? > $@
|
|
|
|
|
|
|
|
$(OBJECTS): $(HDRS) $(WVKBD_HEADERS)
|
|
|
|
|
2021-08-25 23:45:59 +02:00
|
|
|
wvkbd-${LAYOUT}: config.h $(OBJECTS) layout.${LAYOUT}.h
|
2021-08-22 23:14:47 +02:00
|
|
|
$(CC) -o wvkbd-${LAYOUT} $(OBJECTS) $(LDFLAGS)
|
2020-09-11 01:25:28 -07:00
|
|
|
|
|
|
|
clean:
|
2021-08-22 23:14:47 +02:00
|
|
|
rm -f $(OBJECTS) $(HDRS) $(WAYLAND_SRC) ${BIN}
|
2020-09-11 01:25:28 -07:00
|
|
|
|
|
|
|
format:
|
|
|
|
clang-format -i $(WVKBD_SOURCES) $(WVKBD_HEADERS)
|