| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 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
|
| 14 |
|
| 15 | ifeq ($(BUILD), 32)
|
| 16 | CFLAGS += -m32
|
| 17 | LDFLAGS += -m32
|
| 18 | endif
|
| 19 |
|
| 20 |
|
| 21 | include scripts/Makefile.include
|
| 22 |
|
| 23 | main: $(OFILES)
|
| 24 |
|
| 25 | $(OFILES): include
|
| 26 |
|
| 27 | include: ../../../include/linux/memblock.h ../../include/linux/*.h \
|
| 28 | ../../include/asm/*.h
|
| 29 |
|
| 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
|
| 34 |
|
| 35 | memblock.c: $(EXTR_SRC)
|
| 36 | test -L memblock.c || ln -s $(EXTR_SRC) memblock.c
|
| 37 |
|
| 38 | clean:
|
| 39 | $(RM) $(TARGETS) $(OFILES) linux/memblock.h memblock.c asm/asm.h asm/cmpxchg.h
|
| 40 |
|
| 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'
|
| 52 |
|
| 53 | vpath %.c ../../lib
|
| 54 |
|
| 55 | .PHONY: clean include help
|