73 lines
1.7 KiB
Makefile
73 lines
1.7 KiB
Makefile
CC = 9c
|
|
LD = 9l
|
|
PKG_CFLAGS = $(shell pkg-config --cflags dbus-1 xkbcommon)
|
|
PKG_LIBS = $(shell pkg-config --libs dbus-1 xkbcommon)
|
|
FT_CFLAGS = $(shell pkg-config --cflags freetype2)
|
|
FT_LIBS = $(shell pkg-config --libs freetype2)
|
|
CFLAGS = -Wall -Wextra -O2 -g $(PKG_CFLAGS)
|
|
PROG = strans
|
|
DOCKER_IMAGE = strans-build
|
|
DOCKER_RUN = docker run --rm --user "$$(id -u):$$(id -g)" \
|
|
-v "$(CURDIR):/src" $(DOCKER_IMAGE)
|
|
|
|
SRCS = dict.c font.c hash.c ibus.c ipc.c ko.c main.c popup_layout.c \
|
|
srv.c str.c strans.c trie.c vi.c win.c
|
|
OBJS = $(SRCS:.c=.o)
|
|
|
|
all: $(PROG) xim gtk
|
|
|
|
$(PROG): $(OBJS)
|
|
$(LD) -o $@ $(OBJS) -lthread -lbio -lxcb $(PKG_LIBS) $(FT_LIBS)
|
|
|
|
$(OBJS): dat.h fn.h ipc.h
|
|
font.o: CFLAGS += $(FT_CFLAGS)
|
|
|
|
clean:
|
|
rm -f $(OBJS) $(PROG)
|
|
$(MAKE) -C tests clean
|
|
$(MAKE) -C xim/ clean
|
|
$(MAKE) -C gtk/ clean
|
|
$(MAKE) -C bench/ clean
|
|
|
|
xim:
|
|
$(MAKE) -C xim/
|
|
|
|
gtk:
|
|
$(MAKE) -C gtk/
|
|
|
|
bench:
|
|
$(MAKE) -C bench/
|
|
|
|
docker-image: Dockerfile
|
|
docker build -t $(DOCKER_IMAGE) - < Dockerfile
|
|
|
|
docker-build:
|
|
$(DOCKER_RUN) make -B all
|
|
|
|
docker-check:
|
|
$(DOCKER_RUN) make -B check TESTARGS="$(TESTARGS)"
|
|
|
|
docker-bench:
|
|
$(DOCKER_RUN) make -B bench
|
|
|
|
docker: docker-image
|
|
$(MAKE) docker-build
|
|
|
|
check: verify-map test
|
|
$(MAKE) -C xim check
|
|
|
|
test:
|
|
$(MAKE) -C tests check TESTARGS="$(TESTARGS)"
|
|
|
|
verify-map:
|
|
python3 map/mktelex.py | cmp - map/telex.map
|
|
python3 -B map/mkemoji | cmp - map/emoji.dict
|
|
python3 -B map/mkhanja | cmp - map/hanja.dict
|
|
python3 -B map/verifymap.py map/*.map map/*.dict
|
|
python3 -B tests/mkemoji_test.py
|
|
python3 -B tests/mkhanja_test.py
|
|
python3 -B tests/skk2ktrans_test.py
|
|
|
|
.PHONY: all check test verify-map clean xim gtk bench docker docker-image \
|
|
docker-build docker-check docker-bench
|