36 lines
792 B
Makefile
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
|