summaryrefslogtreecommitdiff
path: root/21sh/ll-expr/Makefile
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
commit967be9e750221ab2ab783f95df79bb26d290a45e (patch)
tree6802900a5e975f9f68b169f0f503f040056d6952 /21sh/ll-expr/Makefile
add: added projectsHEADmain
Diffstat (limited to '21sh/ll-expr/Makefile')
-rw-r--r--21sh/ll-expr/Makefile27
1 files changed, 27 insertions, 0 deletions
diff --git a/21sh/ll-expr/Makefile b/21sh/ll-expr/Makefile
new file mode 100644
index 0000000..0293956
--- /dev/null
+++ b/21sh/ll-expr/Makefile
@@ -0,0 +1,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_*
+