75 lines · plain
1# SPDX-License-Identifier: GPL-2.02 3CFLAGS += -I../shared -I. -I../../include -I../../../lib -g -Og -Wall \4 -D_LGPL_SOURCE -fsanitize=address -fsanitize=undefined5LDFLAGS += -fsanitize=address -fsanitize=undefined6LDLIBS += -lpthread -lurcu7LIBS := slab.o find_bit.o bitmap.o hweight.o vsprintf.o8SHARED_OFILES = xarray-shared.o radix-tree.o idr.o linux.o $(LIBS)9 10SHARED_DEPS = Makefile ../shared/shared.mk ../shared/*.h generated/map-shift.h \11 generated/bit-length.h generated/autoconf.h \12 ../../include/linux/*.h \13 ../../include/asm/*.h \14 ../../../include/linux/xarray.h \15 ../../../include/linux/maple_tree.h \16 ../../../include/linux/radix-tree.h \17 ../../../lib/radix-tree.h \18 ../../../include/linux/idr.h \19 ../../../lib/maple_tree.c \20 ../../../lib/test_maple_tree.c21 22ifndef SHIFT23 SHIFT=324endif25 26ifeq ($(BUILD), 32)27 CFLAGS += -m3228 LDFLAGS += -m3229LONG_BIT := 3230endif31 32ifndef LONG_BIT33LONG_BIT := $(shell getconf LONG_BIT)34endif35 36%.o: ../shared/%.c37 $(CC) -c $(CFLAGS) $< -o $@38 39vpath %.c ../../lib40 41$(SHARED_OFILES): $(SHARED_DEPS)42 43radix-tree.c: ../../../lib/radix-tree.c44 sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@45 46idr.c: ../../../lib/idr.c47 sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@48 49xarray-shared.o: ../shared/xarray-shared.c ../../../lib/xarray.c \50 ../../../lib/test_xarray.c51 52maple-shared.o: ../shared/maple-shared.c ../../../lib/maple_tree.c \53 ../../../lib/test_maple_tree.c54 55generated/autoconf.h:56 @mkdir -p generated57 cp ../shared/autoconf.h generated/autoconf.h58 59generated/map-shift.h:60 @mkdir -p generated61 @if ! grep -qws $(SHIFT) generated/map-shift.h; then \62 echo "Generating $@"; \63 echo "#define XA_CHUNK_SHIFT $(SHIFT)" > \64 generated/map-shift.h; \65 fi66 67generated/bit-length.h: FORCE68 @mkdir -p generated69 @if ! grep -qws CONFIG_$(LONG_BIT)BIT generated/bit-length.h; then \70 echo "Generating $@"; \71 echo "#define CONFIG_$(LONG_BIT)BIT 1" > $@; \72 fi73 74FORCE: ;75