wvkbd/Makefile

61 lines
1.5 KiB
Makefile
Raw Permalink Normal View History

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=.
MAN1 = ${NAME}.1
2020-09-11 01:25:28 -07:00
PKGS = wayland-client xkbcommon pangocairo
2020-09-11 01:25:28 -07:00
WVKBD_SOURCES += $(wildcard $(SRC)/*.c)
WVKBD_HEADERS += $(wildcard $(SRC)/*.h)
PKG_CONFIG ?= pkg-config
2021-08-26 09:16:47 +02:00
CFLAGS += -std=gnu99 -Wall -g -DWITH_WAYLAND_SHM -DLAYOUT=\"layout.${LAYOUT}.h\" -DKEYMAP=\"keymap.${LAYOUT}.h\"
CFLAGS += $(shell $(PKG_CONFIG) --cflags $(PKGS))
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)
SCDOC=scdoc
DOCS = wvkbd.1
2020-09-11 01:25:28 -07:00
OBJECTS = $(SOURCES:.c=.o)
all: ${BIN} ${DOCS}
2020-09-11 01:25:28 -07:00
2023-08-30 14:22:48 +02:00
config.h:
2021-08-25 23:45:59 +02:00
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:
2024-11-25 13:18:53 +01:00
rm -f $(OBJECTS) $(HDRS) $(WAYLAND_SRC) ${BIN} ${DOCS}
2020-09-11 01:25:28 -07:00
format:
clang-format -i $(WVKBD_SOURCES) $(WVKBD_HEADERS)
2021-09-03 00:03:50 +02:00
%: %.scd
$(SCDOC) < $< > $@
2021-09-03 00:03:50 +02:00
install: all
mkdir -p ${DESTDIR}${PREFIX}/bin
cp -f ${NAME}-${LAYOUT} ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/${NAME}-${LAYOUT}
2022-06-17 20:47:15 +02:00
mkdir -p "${DESTDIR}${MANPREFIX}/man1"
sed "s/VERSION/${VERSION}/g" < ${MAN1} > ${DESTDIR}${MANPREFIX}/man1/${MAN1}
chmod 644 ${DESTDIR}${MANPREFIX}/man1/${MAN1}