2023-05-04 12:27:39 +00:00
|
|
|
all: test
|
2023-05-03 18:42:26 +00:00
|
|
|
|
|
|
|
CC = gcc
|
|
|
|
CFLAGS = -Wall -Wextra
|
|
|
|
|
2023-05-04 11:18:16 +00:00
|
|
|
OBJS = \
|
2023-05-04 19:34:05 +00:00
|
|
|
src/builtins.c.o \
|
|
|
|
src/ctype.c.o \
|
2023-05-05 11:35:34 +00:00
|
|
|
src/eval.c.o \
|
2023-05-04 19:34:05 +00:00
|
|
|
src/lexer.c.o \
|
|
|
|
src/object.c.o \
|
|
|
|
src/parser.c.o \
|
2023-05-05 18:26:07 +00:00
|
|
|
src/syntax.c.o \
|
2023-05-04 19:34:05 +00:00
|
|
|
src/tokens.c.o
|
2023-05-03 22:05:11 +00:00
|
|
|
|
2023-05-05 11:35:34 +00:00
|
|
|
MAIN_OBJS = $(OBJS) src/main.c.o
|
|
|
|
TEST_OBJS = $(OBJS) src/main-test.c.o
|
|
|
|
|
2023-05-05 14:15:43 +00:00
|
|
|
repl: arcane-scheme-lisp
|
|
|
|
./arcane-scheme-lisp
|
2023-05-05 08:42:35 +00:00
|
|
|
|
2023-05-05 14:15:43 +00:00
|
|
|
test: arcane-scheme-lisp-test
|
|
|
|
./arcane-scheme-lisp-test
|
2023-05-04 12:27:39 +00:00
|
|
|
|
2023-05-03 22:05:11 +00:00
|
|
|
clean:
|
2023-05-05 14:15:43 +00:00
|
|
|
rm -f arcane-scheme-lisp arcane-scheme-lisp-test $(MAIN_OBJS) $(TEST_OBJS)
|
2023-05-05 11:35:34 +00:00
|
|
|
|
2023-05-05 14:15:43 +00:00
|
|
|
arcane-scheme-lisp: $(MAIN_OBJS)
|
2023-05-05 11:35:34 +00:00
|
|
|
$(CC) -o $@ $^ $(CFLAGS)
|
2023-05-03 18:42:26 +00:00
|
|
|
|
2023-05-05 14:15:43 +00:00
|
|
|
arcane-scheme-lisp-test: $(TEST_OBJS)
|
2023-05-03 18:42:26 +00:00
|
|
|
$(CC) -o $@ $^ $(CFLAGS)
|
|
|
|
|
|
|
|
%.c.o: %.c
|
|
|
|
$(CC) -c $< -o $@ $(CFLAGS)
|