Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1366c37e | 2 | |
bde1597d AB |
3 | CFLAGS += -I. -I../../include -I../../../lib -g -Og -Wall \ |
4 | -D_LGPL_SOURCE -fsanitize=address -fsanitize=undefined | |
d1c0d5e3 | 5 | LDFLAGS += -fsanitize=address -fsanitize=undefined |
284d96a4 | 6 | LDLIBS+= -lpthread -lurcu |
e15e06a8 | 7 | TARGETS = main idr-test multiorder xarray maple |
aa0eab86 | 8 | CORE_OFILES := xarray.o radix-tree.o idr.o linux.o test.o find_bit.o bitmap.o \ |
e15e06a8 | 9 | slab.o maple.o |
8ac04868 | 10 | OFILES = 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 |
14 | ifndef SHIFT |
15 | SHIFT=3 | |
cfa40bcf | 16 | endif |
1366c37e | 17 | |
c4634b08 RS |
18 | ifeq ($(BUILD), 32) |
19 | CFLAGS += -m32 | |
f0f3f2d0 | 20 | LDFLAGS += -m32 |
120b1162 | 21 | LONG_BIT := 32 |
c4634b08 RS |
22 | endif |
23 | ||
120b1162 LH |
24 | ifndef LONG_BIT |
25 | LONG_BIT := $(shell getconf LONG_BIT) | |
26 | endif | |
27 | ||
28 | targets: generated/map-shift.h generated/bit-length.h $(TARGETS) | |
1366c37e MW |
29 | |
30 | main: $(OFILES) | |
8ac04868 | 31 | |
8ab8ba38 | 32 | idr-test.o: ../../../lib/test_ida.c |
8ac04868 | 33 | idr-test: idr-test.o $(CORE_OFILES) |
8ac04868 | 34 | |
ad3d6c72 MW |
35 | xarray: $(CORE_OFILES) |
36 | ||
e15e06a8 LH |
37 | maple: $(CORE_OFILES) |
38 | ||
8ac04868 | 39 | multiorder: multiorder.o $(CORE_OFILES) |
1366c37e MW |
40 | |
41 | clean: | |
120b1162 | 42 | $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h generated/bit-length.h |
1366c37e | 43 | |
991af734 | 44 | vpath %.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 | |
55 | radix-tree.c: ../../../lib/radix-tree.c | |
56 | sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@ | |
0a835c4f MW |
57 | |
58 | idr.c: ../../../lib/idr.c | |
59 | sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@ | |
c6ce3e2f | 60 | |
ad3d6c72 | 61 | xarray.o: ../../../lib/xarray.c ../../../lib/test_xarray.c |
f8d5d0cc | 62 | |
e15e06a8 LH |
63 | maple.o: ../../../lib/maple_tree.c ../../../lib/test_maple_tree.c |
64 | ||
8d9fa88e | 65 | generated/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 | |
71 | generated/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 | ||
77 | FORCE: ; |