37 lines
832 B
Makefile
37 lines
832 B
Makefile
# 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
|