summaryrefslogtreecommitdiff
path: root/21sh/ll-expr/Makefile
blob: 0293956433f53ee028c77786613102be7b5f4486 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CC = gcc
CFLAGS = -Wall -Werror -Wextra -std=c99 -pedantic -Wvla -fsanitize=address
CPPFLAGS = -Isrc -Isrc/parser -Isrc/lexer -Isrc/ast
LDFLAGS = -fsanitize=address

OBJS = src/ast/ast.o \
	src/lexer/lexer.o \
	src/parser/parser.o

OBJ_AST = src/eval/ast_print.o
OBJ_RPN = src/eval/rpn_print.o
OBJ_TOKEN = src/eval/token_printer.o

all: ast rpn token

ast: $(OBJS) $(OBJ_AST)
	$(CC) $(LDFLAGS) -o eval_ast $(OBJS) $(OBJ_AST)

rpn: $(OBJS) $(OBJ_RPN)
	$(CC) $(LDFLAGS) -o eval_rpn $(OBJS) $(OBJ_RPN)

token: $(OBJS) $(OBJ_TOKEN)
	$(CC) $(LDFLAGS) -o eval_token $(OBJS) $(OBJ_TOKEN)

clean:
	$(RM) $(OBJS) $(OBJ_AST) $(OBJ_TOKEN) $(OBJ_RPN) eval_*