summaryrefslogtreecommitdiffstats
path: root/lib/tlsf/libtlsf.make
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2012-03-27 16:27:02 +0200
committerThomas Martitz <kugel@rockbox.org>2012-03-28 23:02:39 +0200
commitc56950ea3a9e0244461ce445f25bd7a80c8f7199 (patch)
tree6fb9547aebb230ec15b26db11867a4072d2a6d7b /lib/tlsf/libtlsf.make
parent9f2ee2f21abec56108dfb135eaeba5f416f1eb12 (diff)
downloadrockbox-c56950ea3a9e0244461ce445f25bd7a80c8f7199.tar.gz
rockbox-c56950ea3a9e0244461ce445f25bd7a80c8f7199.tar.bz2
rockbox-c56950ea3a9e0244461ce445f25bd7a80c8f7199.zip
tlsf: move to /lib (it's also used by plugins).
Change-Id: I5e37b28c1ce4608d60b036343f280af3311ad490
Diffstat (limited to 'lib/tlsf/libtlsf.make')
-rw-r--r--lib/tlsf/libtlsf.make34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/tlsf/libtlsf.make b/lib/tlsf/libtlsf.make
new file mode 100644
index 0000000000..cb61a5c09e
--- /dev/null
+++ b/lib/tlsf/libtlsf.make
@@ -0,0 +1,34 @@
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+# $Id$
+#
+
+TLSFLIB_DIR := $(ROOTDIR)/lib/tlsf
+TLSFLIB_SRC := $(call preprocess, $(TLSFLIB_DIR)/SOURCES)
+TLSFLIB_OBJ := $(call c2obj, $(TLSFLIB_SRC))
+TLSFLIB := $(BUILDDIR)/lib/libtlsf.a
+
+OTHER_SRC += $(TLSFLIB_SRC)
+INCLUDES += -I$(TLSFLIB_DIR)/src
+EXTRA_LIBS += $(TLSFLIB)
+
+TLSFLIBFLAGS = $(CFLAGS) -fstrict-aliasing -ffunction-sections $(SHARED_CFLAGS)
+
+# Enable statistics in the sim
+ifneq ($(findstring sdl-sim, $(APP_TYPE)), sdl-sim)
+ TLSFLIBFLAGS += -DTLSF_STATISTIC=1
+endif
+
+# special rules for tlsf
+$(BUILDDIR)/lib/tlsf/src/%.o: $(TLSFLIB_DIR)/src/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -c $< -o $@ \
+ -I$(TLSFLIB_DIR)/src $(TLSFLIBFLAGS)
+
+$(TLSFLIB): $(TLSFLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null