diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ed444ea --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +SRCS := src/main.c src/utils.c src/lexer.c src/parser.c src/runtime.c +OBJECTS := $(SRCS:src/%.c=build/%.o) +EXE := pit + +CC := musl-gcc +CHK_SOURCES ?= $(SRCS) +CPPFLAGS ?= -MMD -MP +CFLAGS ?= -Ideps/ -Isrc/ -Wall -Wextra -Wpedantic -ftrapv --std=c23 -O0 -g +LDFLAGS ?= -g -static + +.PHONY: all clean check-syntax + +all: $(EXE) + +$(EXE): $(OBJECTS) + $(CC) -o $@ $^ $(LDFLAGS) + +build: + mkdir build/ + +build/%.o: src/%.c | build + $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< + +clean: + -rm $(EXE) + -rm -r build/ + +TAGS: $(SRCS) + etags $^ + +check-syntax: TAGS + gcc $(CFLAGS) -fsyntax-only $(CHK_SOURCES) + +-include $(OBJECTS:.o=.d) |
