36 lines
599 B
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
|