# gg - Grokkin' Grep: a minimal, fast, portable grep-like file finder. # # Build: make # Clean: make clean # Install: make install PREFIX=/usr/local CC ?= cc CFLAGS ?= -O2 -s -std=c11 -Wall -Wextra -march=native CPPFLAGS += -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE LDFLAGS ?= LDLIBS += -lpthread # The matcher uses POSIX memmem(), which glibc accelerates with SIMD on # whatever CPU you run on. -mavx2 is harmless but unnecessary; drop it for # maximum portability (e.g. make MARCH=""). MARCH ?= BINARY := gg SRC := gg.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