Merge tag 'input-for-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor...
[linux-block.git] / tools / testing / radix-tree / Makefile
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
1366c37e 2
bde1597d
AB
3CFLAGS += -I. -I../../include -I../../../lib -g -Og -Wall \
4 -D_LGPL_SOURCE -fsanitize=address -fsanitize=undefined
d1c0d5e3 5LDFLAGS += -fsanitize=address -fsanitize=undefined
284d96a4 6LDLIBS+= -lpthread -lurcu
e15e06a8 7TARGETS = main idr-test multiorder xarray maple
aa0eab86 8CORE_OFILES := xarray.o radix-tree.o idr.o linux.o test.o find_bit.o bitmap.o \
e15e06a8 9 slab.o maple.o
8ac04868 10OFILES = main.o $(CORE_OFILES) regression1.o regression2.o regression3.o \
7e934cf5
MWO
11 regression4.o tag_check.o multiorder.o idr-test.o iteration_check.o \
12 iteration_check_2.o benchmark.o
cfa40bcf 13
c6ce3e2f
RS
14ifndef SHIFT
15 SHIFT=3
cfa40bcf 16endif
1366c37e 17
c4634b08
RS
18ifeq ($(BUILD), 32)
19 CFLAGS += -m32
f0f3f2d0 20 LDFLAGS += -m32
120b1162 21LONG_BIT := 32
c4634b08
RS
22endif
23
120b1162
LH
24ifndef LONG_BIT
25LONG_BIT := $(shell getconf LONG_BIT)
26endif
27
28targets: generated/map-shift.h generated/bit-length.h $(TARGETS)
1366c37e
MW
29
30main: $(OFILES)
8ac04868 31
8ab8ba38 32idr-test.o: ../../../lib/test_ida.c
8ac04868 33idr-test: idr-test.o $(CORE_OFILES)
8ac04868 34
ad3d6c72
MW
35xarray: $(CORE_OFILES)
36
e15e06a8
LH
37maple: $(CORE_OFILES)
38
8ac04868 39multiorder: multiorder.o $(CORE_OFILES)
1366c37e
MW
40
41clean:
120b1162 42 $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h generated/bit-length.h
1366c37e 43
991af734 44vpath %.c ../../lib
0629573e 45
120b1162 46$(OFILES): Makefile *.h */*.h generated/map-shift.h generated/bit-length.h \
0629573e 47 ../../include/linux/*.h \
43a30c2a 48 ../../include/asm/*.h \
f8d5d0cc 49 ../../../include/linux/xarray.h \
e15e06a8 50 ../../../include/linux/maple_tree.h \
0a835c4f 51 ../../../include/linux/radix-tree.h \
bde1597d 52 ../../../lib/radix-tree.h \
0a835c4f 53 ../../../include/linux/idr.h
1366c37e
MW
54
55radix-tree.c: ../../../lib/radix-tree.c
56 sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@
0a835c4f
MW
57
58idr.c: ../../../lib/idr.c
59 sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@
c6ce3e2f 60
ad3d6c72 61xarray.o: ../../../lib/xarray.c ../../../lib/test_xarray.c
f8d5d0cc 62
e15e06a8
LH
63maple.o: ../../../lib/maple_tree.c ../../../lib/test_maple_tree.c
64
8d9fa88e 65generated/map-shift.h:
3f1b6f9d 66 @if ! grep -qws $(SHIFT) generated/map-shift.h; then \
02c02bf1 67 echo "#define XA_CHUNK_SHIFT $(SHIFT)" > \
c6ce3e2f
RS
68 generated/map-shift.h; \
69 fi
120b1162
LH
70
71generated/bit-length.h: FORCE
72 @if ! grep -qws CONFIG_$(LONG_BIT)BIT generated/bit-length.h; then \
73 echo "Generating $@"; \
74 echo "#define CONFIG_$(LONG_BIT)BIT 1" > $@; \
75 fi
76
77FORCE: ;