From 9100ed2b5dd01df8e6b766c7bc2a12c0dd44f1ff Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 10 May 2023 20:38:32 +0200 Subject: initial commit --- Makefile | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f9f3e12 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +SRC=main.c io.c mem.c parse.c lex.c type.c targ.c eval.c ir.c irdump.c +CFLAGS=-Wall -std=c11 -pedantic +OBJ=$(patsubst %.c,obj/%.o,$(SRC)) +OUT=cchomp + +all: CFLAGS += -g -Og +all: $(OUT) + +opt: CFLAGS += -O2 +opt: $(OUT) + +dbg: CFLAGS += -g -fsanitize=address -fsanitize=undefined +dbg: $(OUT) + +$(OUT): $(OBJ) + $(CC) $(CFLAGS) -o $@ $(OBJ) + +obj/%.o: %.c common.h + @mkdir -p obj/ + $(CC) $(CFLAGS) -c -o $@ $< + +obj/main.o: parse.h +obj/parse.o: parse.h ir.h +obj/ir.o: ir.h +obj/irdump.o: ir.h op.def +obj/lex.o: parse.h +obj/eval.o: parse.h +obj/io.o: parse.h keywords.def + +clean: + $(RM) -r obj/ $(OUT) + +.PHONY: clean -- cgit v1.2.3