]> git.sesse.net Git - plocate/blob - Makefile
Fix some warnings found by Clang.
[plocate] / Makefile
1 CC ?= gcc
2 CXX ?= g++
3 CXXFLAGS ?= -O2 -g -Wall -std=gnu++17
4 CPPFLAGS=-ITurboPFor-Integer-Compression/
5 LDFLAGS ?=
6 INSTALL ?= install
7 PREFIX ?= /usr/local
8 URING_LIBS = $(shell pkg-config --libs liburing)
9
10 ifeq ($(URING_LIBS),)
11   CPPFLAGS += -DWITHOUT_URING
12 endif
13
14 all: plocate plocate-build
15
16 plocate: plocate.o io_uring_engine.o
17         $(CXX) -o $@ $^ -lzstd $(URING_LIBS) $(LDFLAGS)
18
19 plocate-build: plocate-build.o
20         $(CXX) -o $@ $^ -lzstd $(LDFLAGS)
21
22 clean:
23         $(RM) plocate.o plocate-build.o io_uring_engine.o bench.o plocate plocate-build bench
24         ! [ -d TurboPFor-Integer-Compression/ ] || ( cd TurboPFor-Integer-Compression/ && $(MAKE) clean )
25
26 install: all
27         $(INSTALL) -m 2755 -g mlocate plocate $(PREFIX)/bin/
28         $(INSTALL) -m 0755 plocate-build $(PREFIX)/sbin/
29         $(INSTALL) -m 0755 update-plocate.sh /etc/cron.daily/plocate
30
31 bench.o: bench.cpp turbopfor.h
32
33 TurboPFor-Integer-Compression/libic.a:
34         cd TurboPFor-Integer-Compression/ && $(MAKE)
35
36 bench: bench.o io_uring_engine.o TurboPFor-Integer-Compression/libic.a
37         $(CXX) -o $@ $^ $(URING_LIBS) $(LDFLAGS)
38
39 .PHONY: clean install