pratt/Makefile

36 lines
599 B
Makefile

CC = gcc
CPPFLAGS = -Isrc/ -D_POSIX_C_SOURCE=200809L
CFLAGS = -Wall -Wextra -pedantic -Werror -std=c99
VPATH = src/ tests/
USE_CLIMBING = 1
SRC = \
src/eval.c \
BIN = pratt
OBJ = $(SRC:.c=.o)
.PHONY: all
all: $(BIN)
$(BIN):
$(BIN): $(OBJ) src/pratt.o
check: testsuite
./testsuite --verbose
TEST_SRC = \
tests/testsuite.c \
TEST_OBJ = $(TEST_SRC:.c=.o)
testsuite: LDFLAGS+=-lcriterion -fsanitize=address
testsuite: CFLAGS+=-fsanitize=address
testsuite: $(OBJ) $(TEST_OBJ)
.PHONY: clean
clean:
$(RM) $(OBJ) # remove object files
$(RM) $(BIN) # remove main program
$(RM) testsuite