VERSION=0.3
CPPFLAGS=-DVERSION=\"${VERSION}\" -D_GNU_SOURCE
CFLAGS+=-Wall -Wextra -g -std=c99 -O3 -pedantic
PREFIX?=/usr/local
MANDIR?=$(PREFIX)/share/man
BINDIR?=$(PREFIX)/bin
DEBUGGER?=
INSTALL=install
INSTALL_PROGRAM=$(INSTALL)
INSTALL_DATA=${INSTALL} -m 644
OBJECTS=fzy.o match.o tty.o choices.o
TESTOBJECTS=fzytest.o match.o choices.o
all: fzy
fzytest: $(TESTOBJECTS)
$(CC) $(CFLAGS) $(CCFLAGS) -o $@ $(TESTOBJECTS)
test: check
check: fzytest
$(DEBUGGER) ./fzytest
fzy: $(OBJECTS)
$(CC) $(CFLAGS) $(CCFLAGS) -o $@ $(OBJECTS)
.c.o: config.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
config.h:
cp config.def.h config.h
install: fzy
mkdir -p $(DESTDIR)$(BINDIR)
cp fzy $(DESTDIR)$(BINDIR)/
mkdir -p $(DESTDIR)$(MANDIR)/man1
cp fzy.1 $(DESTDIR)$(MANDIR)/man1/
fmt:
clang-format -i *.c *.h
clean:
rm -f fzy fzytest *.o
.PHONY: test check all clean install fmt