Files
gg/Makefile
T
2026-08-21 19:08:45 +03:00

38 lines
874 B
Makefile

# 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
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