summaryrefslogtreecommitdiff
path: root/libc/stdlib/malloc/Makefile.in
blob: aff48a9eced6e1f7837bd7a316c85fc01eb15cd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Makefile for uClibc
#
# Copyright (C) 2002-2003  NEC Electronics Corporation
# Copyright (C) 2002-2003  Miles Bader <miles@gnu.org>
# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#

subdirs += libc/stdlib/malloc

CSRC :=	malloc.c calloc.c free.c realloc.c memalign.c \
	heap_alloc.c heap_alloc_at.c heap_free.c

# Turn on malloc debugging if requested
ifeq ($(UCLIBC_MALLOC_DEBUGGING),y)
CSRC += malloc_debug.c heap_debug.c
CFLAGS += -DMALLOC_DEBUGGING -DHEAP_DEBUGGING
ifeq ($(UCLIBC_UCLINUX_BROKEN_MUNMAP),y)
CFLAGS += -DMALLOC_MMB_DEBUGGING
endif
endif

STDLIB_MALLOC_DIR := $(top_srcdir)libc/stdlib/malloc
STDLIB_MALLOC_OUT := $(top_builddir)libc/stdlib/malloc

STDLIB_MALLOC_SRC := $(patsubst %.c,$(STDLIB_MALLOC_DIR)/%.c,$(CSRC))
STDLIB_MALLOC_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_OUT)/%.o,$(CSRC))

libc-$(MALLOC) += $(STDLIB_MALLOC_OBJ)

objclean-y += stdlib_malloc_clean

stdlib_malloc_clean:
	$(do_rm) $(addprefix $(STDLIB_MALLOC_OUT)/*., o os)

malloc.o free.o realloc.o memalign.o: malloc.h
# Depend on uClinux_config.h to cache changes in __UCLIBC_MALLOC_DEBUGGING__
$(STDLIB_MALLOC_OBJ): $(STDLIB_MALLOC_DIR)/heap.h $(top_builddir)include/bits/uClibc_config.h