Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / tools / testing / memblock / Makefile
blobd80982ccdc2099aed8a9f055b31f99aca8991dd1
1 # SPDX-License-Identifier: GPL-2.0
3 # Memblock simulator requires AddressSanitizer (libasan) and liburcu development
4 # packages installed
5 CFLAGS += -I. -I../../include -Wall -O2 -fsanitize=address \
6 -fsanitize=undefined -D CONFIG_PHYS_ADDR_T_64BIT
7 LDFLAGS += -fsanitize=address -fsanitize=undefined
8 TARGETS = main
9 TEST_OFILES = tests/alloc_nid_api.o tests/alloc_helpers_api.o tests/alloc_api.o \
10 tests/basic_api.o tests/common.o tests/alloc_exact_nid_api.o
11 DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o cmdline.o
12 OFILES = main.o $(DEP_OFILES) $(TEST_OFILES)
13 EXTR_SRC = ../../../mm/memblock.c
15 ifeq ($(BUILD), 32)
16 CFLAGS += -m32
17 LDFLAGS += -m32
18 endif
20 # Process user parameters
21 include scripts/Makefile.include
23 main: $(OFILES)
25 $(OFILES): include
27 include: ../../../include/linux/memblock.h ../../include/linux/*.h \
28 ../../include/asm/*.h
30 @mkdir -p linux
31 test -L linux/memblock.h || ln -s ../../../../include/linux/memblock.h linux/memblock.h
32 test -L asm/asm.h || ln -s ../../../arch/x86/include/asm/asm.h asm/asm.h
33 test -L asm/cmpxchg.h || ln -s ../../../arch/x86/include/asm/cmpxchg.h asm/cmpxchg.h
35 memblock.c: $(EXTR_SRC)
36 test -L memblock.c || ln -s $(EXTR_SRC) memblock.c
38 clean:
39 $(RM) $(TARGETS) $(OFILES) linux/memblock.h memblock.c asm/asm.h asm/cmpxchg.h
41 help:
42 @echo 'Memblock simulator'
43 @echo ''
44 @echo 'Available targets:'
45 @echo ' main - Build the memblock simulator'
46 @echo ' clean - Remove generated files and symlinks in the directory'
47 @echo ''
48 @echo 'Configuration:'
49 @echo ' make MEMBLOCK_DEBUG=1 - enable memblock_dbg() messages'
50 @echo ' make NUMA=1 - simulate enabled NUMA'
51 @echo ' make 32BIT_PHYS_ADDR_T=1 - Use 32 bit physical addresses'
53 vpath %.c ../../lib
55 .PHONY: clean include help