gists/first-interpreter/Makefile
2026-01-08 23:14:56 +02:00

36 lines
792 B
Makefile

ifndef VERBOSE
.SILENT:
endif
CC = gcc
CFLAGS = -Wall -Wextra -ggdb
.DEFAULT_TARGET = interpreter
interpreter: src/main.c build/run.o
$(CC) $(CFLAGS) $< -o $@ build/run.o build/ast.o build/lex.o build/parse.o build/execute.o
build/ast.o: src/ast.c src/ast.h
mkdir -p build/
$(CC) $(CFLAGS) -c $< -o $@
build/lex.o: src/lex.c src/lex.h
mkdir -p build/
$(CC) $(CFLAGS) -c $< -o $@
build/parse.o: src/parse.c src/parse.h build/ast.o build/lex.o
$(CC) $(CFLAGS) -c $< -o $@
build/execute.o: src/execute.c src/execute.h build/ast.o
$(CC) $(CFLAGS) -c $< -o $@
build/run.o: src/run.c src/run.h build/ast.o build/lex.o build/parse.o build/execute.o
$(CC) $(CFLAGS) -c $< -o $@
.PHONY clean run:
clean:
rm -rf build
rm -rf interpreter
run: interpreter
./interpreter program.code