diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make index 37713015ad..605d8a3556 100644 --- a/apps/codecs/codecs.make +++ b/apps/codecs/codecs.make @@ -14,15 +14,12 @@ OTHER_SRC += $(CODECS_SRC) CODECS := $(CODECS_SRC:.c=.codec) CODECS := $(subst $(ROOTDIR),$(BUILDDIR),$(CODECS)) -# TLSF memory allocator library -include $(APPSDIR)/codecs/lib/tlsf/libtlsf.make - # the codec helper library include $(APPSDIR)/codecs/lib/libcodec.make OTHER_INC += -I$(APPSDIR)/codecs/lib # extra libraries -CODEC_LIBS := $(EXTRA_LIBS) $(TLSFLIB) $(CODECLIB) +CODEC_LIBS := $(EXTRA_LIBS) $(CODECLIB) # the codec libraries include $(APPSDIR)/codecs/demac/libdemac.make diff --git a/apps/codecs/libtremor/oggmalloc.c b/apps/codecs/libtremor/oggmalloc.c index dd7fd5b69d..783e0f7240 100644 --- a/apps/codecs/libtremor/oggmalloc.c +++ b/apps/codecs/libtremor/oggmalloc.c @@ -1,5 +1,5 @@ #include "os_types.h" -#include "../lib/tlsf/src/tlsf.h" +#include #if defined(CPU_ARM) || defined(CPU_COLDFIRE) || defined(CPU_MIPS) #include diff --git a/apps/codecs/vorbis.c b/apps/codecs/vorbis.c index 7004913e70..944dd6d60c 100644 --- a/apps/codecs/vorbis.c +++ b/apps/codecs/vorbis.c @@ -23,7 +23,7 @@ #include "libtremor/ivorbisfile.h" #include "libtremor/ogg.h" #ifdef SIMULATOR -#include "lib/tlsf/src/tlsf.h" +#include #endif CODEC_HEADER diff --git a/apps/plugins/mikmod/mikmod_supp.h b/apps/plugins/mikmod/mikmod_supp.h index 1b6bd76b76..c76c283b92 100644 --- a/apps/plugins/mikmod/mikmod_supp.h +++ b/apps/plugins/mikmod/mikmod_supp.h @@ -1,7 +1,7 @@ #include #include "plugin.h" #include "inttypes.h" -#include "codecs/lib/tlsf/src/tlsf.h" +#include #ifndef MIKMOD_SUPP_H #define MIKMOD_SUPP_H diff --git a/apps/plugins/pdbox/pdbox.h b/apps/plugins/pdbox/pdbox.h index b53e15f94e..ddc6ed2cf4 100644 --- a/apps/plugins/pdbox/pdbox.h +++ b/apps/plugins/pdbox/pdbox.h @@ -23,7 +23,7 @@ #define PDBOX_H /* Use TLSF. */ -#include "codecs/lib/tlsf/src/tlsf.h" +#include /* Pure Data */ #include "PDa/src/m_pd.h" diff --git a/apps/plugins/plugins.make b/apps/plugins/plugins.make index 67b0d83932..b80523d41b 100644 --- a/apps/plugins/plugins.make +++ b/apps/plugins/plugins.make @@ -53,7 +53,7 @@ else PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS) endif -PLUGIN_LIBS := $(EXTRA_LIBS) $(TLSFLIB) $(PLUGINLIB) $(PLUGINBITMAPLIB) +PLUGIN_LIBS := $(EXTRA_LIBS) $(PLUGINLIB) $(PLUGINBITMAPLIB) # include .make from each subdir (yay!) $(foreach dir,$(PLUGINSUBDIRS),$(eval include $(dir)/$(notdir $(dir)).make)) diff --git a/apps/codecs/lib/tlsf/COPYING b/lib/tlsf/COPYING similarity index 100% rename from apps/codecs/lib/tlsf/COPYING rename to lib/tlsf/COPYING diff --git a/apps/codecs/lib/tlsf/Changelog b/lib/tlsf/Changelog similarity index 100% rename from apps/codecs/lib/tlsf/Changelog rename to lib/tlsf/Changelog diff --git a/apps/codecs/lib/tlsf/README b/lib/tlsf/README similarity index 100% rename from apps/codecs/lib/tlsf/README rename to lib/tlsf/README diff --git a/apps/codecs/lib/tlsf/SOURCES b/lib/tlsf/SOURCES similarity index 100% rename from apps/codecs/lib/tlsf/SOURCES rename to lib/tlsf/SOURCES diff --git a/apps/codecs/lib/tlsf/TODO b/lib/tlsf/TODO similarity index 100% rename from apps/codecs/lib/tlsf/TODO rename to lib/tlsf/TODO diff --git a/apps/codecs/lib/tlsf/libtlsf.make b/lib/tlsf/libtlsf.make similarity index 56% rename from apps/codecs/lib/tlsf/libtlsf.make rename to lib/tlsf/libtlsf.make index 2072a4566e..cb61a5c09e 100644 --- a/apps/codecs/lib/tlsf/libtlsf.make +++ b/lib/tlsf/libtlsf.make @@ -7,27 +7,28 @@ # $Id$ # -TLSFLIB := $(CODECDIR)/libtlsf.a -TLSFLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/lib/tlsf/SOURCES) +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 - -TLSFLIBFLAGS = $(CODECFLAGS) - -ifdef APP_TYPE - TLSFLIBFLAGS += -DTLSF_STATISTIC=1 -endif - -# Do not use '-ffunction-sections' when compiling sdl-sim -ifneq ($(findstring sdl-sim, $(APP_TYPE)), sdl-sim) - TLSFLIBFLAGS += -ffunction-sections -endif - -$(CODECDIR)/lib/tlsf/src/%.o: $(APPSDIR)/codecs/lib/tlsf/src/%.c - $(SILENT)mkdir -p $(dir $@) - $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \ - -I$(dir $<) $(TLSFLIBFLAGS) -c $< -o $@ diff --git a/apps/codecs/lib/tlsf/src/target.h b/lib/tlsf/src/target.h similarity index 100% rename from apps/codecs/lib/tlsf/src/target.h rename to lib/tlsf/src/target.h diff --git a/apps/codecs/lib/tlsf/src/tlsf.c b/lib/tlsf/src/tlsf.c similarity index 100% rename from apps/codecs/lib/tlsf/src/tlsf.c rename to lib/tlsf/src/tlsf.c diff --git a/apps/codecs/lib/tlsf/src/tlsf.h b/lib/tlsf/src/tlsf.h similarity index 100% rename from apps/codecs/lib/tlsf/src/tlsf.h rename to lib/tlsf/src/tlsf.h diff --git a/tools/root.make b/tools/root.make index 4a1aaaf8d8..51886a09f9 100644 --- a/tools/root.make +++ b/tools/root.make @@ -70,6 +70,7 @@ ifeq (,$(findstring checkwps,$(APP_TYPE))) include $(ROOTDIR)/apps/bitmaps/bitmaps.make ifeq (,$(findstring bootloader,$(APPSDIR))) include $(ROOTDIR)/lib/skin_parser/skin_parser.make + include $(ROOTDIR)/lib/tlsf/libtlsf.make endif endif endif