CC = gcc INC_DIR = ./ CFLAGS = -Wall -Wextra -g -I$(INC_DIR) DEPS = common.h SOURCES = main.c chunk.c memory.c debug.c value.c vm.c compiler.c scanner.c object.c table.c OBJECTS = $(SOURCES:.c=.o) EXECUTABLE = clox all: $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(CFLAGS) -o $@ $(OBJECTS) %.o: %.c $(DEPS) $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJECTS) $(EXECUTABLE) .PHONY: all clean