2021-01-02 14:51:01 +09:00
|
|
|
CFLAGS = -g -O3 -fPIC -Wall -Wextra -pedantic -Wno-unused-parameter -DDEBUG
|
2021-01-07 22:52:38 +09:00
|
|
|
LDFLAGS = -L. -Wl,-rpath -Wl,'$$ORIGIN' -Wl,-z,origin
|
2021-01-02 14:51:01 +09:00
|
|
|
LDLIBS = -lkuroko -ldl
|
2021-01-06 10:39:27 +09:00
|
|
|
OBJS = $(patsubst %.c, %.o, $(filter-out rline.c,$(filter-out kuroko.c,$(sort $(wildcard *.c)))))
|
2020-12-26 09:32:21 +09:00
|
|
|
TARGET = kuroko
|
|
|
|
|
2020-12-31 15:48:39 +09:00
|
|
|
MODULES=$(patsubst src/%.c, modules/%.so, $(sort $(wildcard src/*.c)))
|
|
|
|
|
|
|
|
all: ${TARGET} ${MODULES}
|
|
|
|
|
|
|
|
modules/%.so: src/%.c
|
2021-01-07 20:42:25 +09:00
|
|
|
${CC} ${CFLAGS} -shared -o $@ $<
|
2020-12-26 09:32:21 +09:00
|
|
|
|
2021-01-02 14:51:01 +09:00
|
|
|
libkuroko.so: ${OBJS}
|
2021-01-07 20:42:25 +09:00
|
|
|
${CC} ${CLFAGS} -shared -o $@ ${OBJS}
|
2021-01-02 14:51:01 +09:00
|
|
|
|
2020-12-29 18:04:02 +09:00
|
|
|
builtins.c: builtins.krk
|
2021-01-08 06:49:27 +09:00
|
|
|
echo "const char krk_builtinsSrc[] = " > builtins.c
|
2021-01-07 08:39:46 +09:00
|
|
|
cat builtins.krk | sed s'/\(.*\)/\"\0\\n\"/' >> builtins.c
|
|
|
|
echo ";" >> builtins.c
|
2020-12-29 18:04:02 +09:00
|
|
|
|
2021-01-06 10:39:27 +09:00
|
|
|
kuroko: libkuroko.so rline.o
|
2020-12-26 09:32:21 +09:00
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
2021-01-08 12:15:53 +09:00
|
|
|
@rm -f ${OBJS} ${TARGET} ${MODULES} libkuroko.so rline.o kuroko.o src/*.o
|
2020-12-26 09:32:21 +09:00
|
|
|
|
|
|
|
tags: $(wildcard *.c) $(wildcard *.h)
|
|
|
|
@ctags --c-kinds=+lx *.c *.h
|
2021-01-04 21:49:23 +09:00
|
|
|
|
|
|
|
.PHONY: test
|
|
|
|
|
|
|
|
test:
|
2021-01-08 16:40:43 +09:00
|
|
|
@for i in test/*.krk; do echo $$i; KUROKO_TEST_ENV=1 ./kuroko $$i > $$i.expect; done
|
2021-01-04 21:49:23 +09:00
|
|
|
@git diff test/*.expect
|