fzy

terminal fuzzy finder picker

git clone https://9o.is/git/fzy.git

Makefile

(1412B)


      1 VERSION=1.1
      2 
      3 CPPFLAGS=-DVERSION=\"${VERSION}\" -D_GNU_SOURCE
      4 CFLAGS+=-MD -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -Werror=vla
      5 PREFIX?=/usr/local
      6 MANDIR?=$(PREFIX)/share/man
      7 BINDIR?=$(PREFIX)/bin
      8 DEBUGGER?=
      9 
     10 INSTALL=install
     11 INSTALL_PROGRAM=$(INSTALL)
     12 INSTALL_DATA=${INSTALL} -m 644
     13 
     14 LIBS=-lpthread
     15 OBJECTS=src/fzy.o src/match.o src/tty.o src/choices.o src/options.o src/tty_interface.o
     16 THEFTDEPS = deps/theft/theft.o deps/theft/theft_bloom.o deps/theft/theft_mt.o deps/theft/theft_hash.o
     17 TESTOBJECTS=test/fzytest.c test/test_properties.c test/test_choices.c test/test_match.c src/match.o src/choices.o src/options.o $(THEFTDEPS)
     18 
     19 all: fzy
     20 
     21 test/fzytest: $(TESTOBJECTS)
     22 	$(CC) $(CFLAGS) $(CCFLAGS) -Isrc -o $@ $(TESTOBJECTS) $(LIBS)
     23 
     24 acceptance: fzy
     25 	cd test/acceptance && bundle --quiet && bundle exec ruby acceptance_test.rb
     26 
     27 test: check
     28 check: test/fzytest
     29 	$(DEBUGGER) ./test/fzytest
     30 
     31 fzy: $(OBJECTS)
     32 	$(CC) $(CFLAGS) $(CCFLAGS) -o $@ $(OBJECTS) $(LIBS)
     33 
     34 %.o: %.c
     35 	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
     36 
     37 install: fzy
     38 	mkdir -p $(DESTDIR)$(BINDIR)
     39 	cp fzy $(DESTDIR)$(BINDIR)/
     40 	chmod 755 ${DESTDIR}${BINDIR}/fzy
     41 	mkdir -p $(DESTDIR)$(MANDIR)/man1
     42 	cp fzy.1 $(DESTDIR)$(MANDIR)/man1/
     43 	chmod 644 ${DESTDIR}${MANDIR}/man1/fzy.1
     44 
     45 fmt:
     46 	clang-format -i src/*.c src/*.h
     47 
     48 clean:
     49 	rm -f fzy test/fzytest src/*.o src/*.d deps/*/*.o
     50 
     51 .PHONY: test check all clean install fmt acceptance
     52 
     53 -include $(OBJECTS:.o=.d)