diff options
author | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2025-05-25 15:54:50 +0200 |
---|---|---|
committer | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2025-05-25 15:54:50 +0200 |
commit | 330e46236b421ffb8fe263caf91196f4cd1114c5 (patch) | |
tree | 09b3df77fca2d23dacef64f6962e9a1afd5b4d29 /Makefile | |
parent | de59dbd1773dff06051b7b604977bcb2803ada4f (diff) | |
download | imp-330e46236b421ffb8fe263caf91196f4cd1114c5.tar.gz imp-330e46236b421ffb8fe263caf91196f4cd1114c5.zip |
[cleanup] codebase cleanup
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -6,6 +6,7 @@ FLEX ?= flex SRC_DIR := src INC_DIR := include +TEST_DIR := test BUILD_DIR := build PARSER_Y := $(SRC_DIR)/parser.y @@ -23,11 +24,12 @@ LEXER_O := $(BUILD_DIR)/lex.yy.o OBJS := $(C_OBJS) $(PARSER_O) $(LEXER_O) TARGET := $(BUILD_DIR)/imp +TEST_TARGET := $(BUILD_DIR)/test -CFLAGS += -I$(INC_DIR) -MMD -MP +CFLAGS += -I$(INC_DIR) -I. -MMD -MP DEPS := $(OBJS:.o=.d) -.PHONY: all clean example repl +.PHONY: all clean example repl test all: $(TARGET) @@ -52,12 +54,18 @@ $(LEXER_C): $(LEXER_L) $(PARSER_H) | $(BUILD_DIR) $(LEXER_O): $(LEXER_C) $(CC) $(CFLAGS) -c $< -o $@ +$(TEST_TARGET): $(wildcard $(TEST_DIR)/*.c) $(filter-out $(BUILD_DIR)/main.o, $(OBJS)) | $(BUILD_DIR) + $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) + example: $(TARGET) ./$(TARGET) -i examples/example.imp repl: $(TARGET) ./$(TARGET) +test: $(BUILD_DIR)/test + ./$(BUILD_DIR)/test + clean: @rm -rf $(BUILD_DIR) |