# brep - minimal grep-like utility built on POSIX mmap() + SIMD + threads
#
# Build:   make
# Clean:   make clean
# Install: make install PREFIX=/usr/local

CC      ?= gcc
CFLAGS  ?= -O2 -std=c11 -Wall -Wextra
CPPFLAGS += -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE
LDFLAGS ?=
LDLIBS  += -lpthread
# Enable AVX2 for the SIMD matcher (needs a 2008+ Intel/AMD CPU).
# Drop -mavx2 if targeting older hardware; the matcher still compiles.
MARCH   ?= -mavx2

BINARY  := brep
SRC     := brep.c
PREFIX  ?= /usr/local
BINDIR  := $(PREFIX)/bin

all: $(BINARY)

$(BINARY): $(SRC)
	$(CC) $(CFLAGS) $(CPPFLAGS) $(MARCH) $(LDFLAGS) -o $@ $(SRC) $(LDLIBS)

clean:
	rm -f $(BINARY)

install: $(BINARY)
	install -d $(BINDIR)
	install -m 0755 $(BINARY) $(BINDIR)/$(BINARY)

uninstall:
	rm -f $(BINDIR)/$(BINARY)

.PHONY: all clean install uninstall
