]> git.sesse.net Git - plocate/blob - Makefile
Support setting LDFLAGS.
[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 TurboPFor-Integer-Compression/libic.a
17         $(CXX) -o $@ $^ -lzstd $(URING_LIBS) $(LDFLAGS)
18
19 plocate-build: plocate-build.o TurboPFor-Integer-Compression/libic.a
20         $(CXX) -o $@ $^ -lzstd $(LDFLAGS)
21
22 TurboPFor-Integer-Compression/libic.a:
23         cd TurboPFor-Integer-Compression/ && $(MAKE)
24
25 clean:
26         $(RM) plocate.o plocate-build.o io_uring_engine.o plocate plocate-build
27         cd TurboPFor-Integer-Compression/ && $(MAKE) clean
28
29 install: all
30         $(INSTALL) -m 2755 -g mlocate plocate $(PREFIX)/bin/
31         $(INSTALL) -m 0755 plocate-build $(PREFIX)/sbin/
32         $(INSTALL) -m 0755 update-plocate.sh /etc/cron.daily/plocate
33
34 bench.o: bench.cpp turbopfor.h
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