diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/Makefile | 31 | ||||
| -rw-r--r-- | apps/SOURCES | 2 | ||||
| -rw-r--r-- | apps/codecs/libFLAC/Makefile | 15 | ||||
| -rw-r--r-- | apps/main_menu.c | 7 | ||||
| -rw-r--r-- | apps/plugin.c | 2 | ||||
| -rw-r--r-- | apps/plugin.h | 2 | ||||
| -rw-r--r-- | apps/plugins/Makefile | 41 | ||||
| -rw-r--r-- | apps/plugins/lib/Makefile | 7 |
8 files changed, 79 insertions, 28 deletions
diff --git a/apps/Makefile b/apps/Makefile index 75b9fba..bcdc1ef 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -13,11 +13,6 @@ DEPFILE = $(OBJDIR)/dep-apps LDS := $(FIRMDIR)/app.lds ROMLDS := $(FIRMDIR)/rom.lds -ifdef DEBUG - DEFINES := -DDEBUG - CFLAGS += -g -endif - ifdef ENABLEDPLUGINS ROCKS=rocks endif @@ -26,7 +21,8 @@ ifdef SOFTWARECODECS CODECS=build-codecs endif -SRC := $(shell cat SOURCES | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P -include "config.h" - ) +SRC := $(shell cat SOURCES | gcc -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \ +$(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -include "config.h" - ) DIRS = . ifdef APPEXTRA @@ -44,9 +40,11 @@ LINKROM = $(OBJDIR)/linkrom.lds MAXINFILE = $(OBJDIR)/romstart.temp MAXOUTFILE = $(OBJDIR)/romstart -ifdef DEBUG -all: $(OBJDIR)/rockbox.elf $(CODECS) $(ROCKS) +ifdef SIMVER +# this is a sim build +all: $(OBJDIR)/$(BINARY) $(CODECS) $(ROCKS) else +# regular target build all: $(OBJDIR)/$(BINARY) $(FLASHFILE) $(CODECS) $(ROCKS) $(ARCHOSROM) endif @@ -80,9 +78,11 @@ $(OBJDIR)/rombox.elf : $(OBJS) $(LINKROM) $(OBJDIR)/librockbox.a $(DEPFILE) @echo "LD rombox.elf" @$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -L$(FIRMDIR) -T$(LINKROM) -Wl,-Map,$(OBJDIR)/rombox.map +ifndef SIMVER + $(OBJDIR)/rockbox.elf : $(OBJS) $(LINKFILE) $(OBJDIR)/librockbox.a $(DEPFILE) @echo "LD rockbox.elf" - $(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -L$(FIRMDIR) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map + $(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map $(OBJDIR)/rockbox.bin : $(OBJDIR)/rockbox.elf @echo "OBJCOPY $<" @@ -99,6 +99,16 @@ $(OBJDIR)/$(BINARY) : $(OBJDIR)/rockbox.bin @echo "Build firmware file" @$(MKFIRMWARE) $< $@ +else +# this is a simulator build +$(OBJDIR)/$(BINARY) : $(OBJS) $(OBJDIR)/librockbox.a $(DEPFILE) $(OBJDIR)/libsim.a + @echo "LD $(BINARY)" + $(CC) $(GCCOPTS) -o $@ $(OBJS) $(LDOPTS) -L$(OBJDIR) -lrockbox -lsim -Wl,-Map,$(OBJDIR)/rockbox.map + +$(OBJDIR)/libsim.a: + @$(MAKE) -C $(SIMDIR) +endif + $(OBJDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin @a=`uclpack -h 2>/dev/null`; \ if test -n "$$a"; then \ @@ -160,5 +170,8 @@ clean: @$(MAKE) -C plugins clean @$(MAKE) -C codecs clean @rm -rf $(OBJDIR)/recorder $(OBJDIR)/player +ifdef SIMVER + @$(MAKE) -C $(SIMDIR) clean +endif -include $(DEPFILE) diff --git a/apps/SOURCES b/apps/SOURCES index 43cd3dd..33a6ded 100644 --- a/apps/SOURCES +++ b/apps/SOURCES @@ -19,7 +19,9 @@ settings_menu.c sleeptimer.c sound_menu.c status.c +#ifndef SIMULATOR talk.c +#endif tree.c dbtree.c filetree.c diff --git a/apps/codecs/libFLAC/Makefile b/apps/codecs/libFLAC/Makefile index 329de9c..ee4feab 100644 --- a/apps/codecs/libFLAC/Makefile +++ b/apps/codecs/libFLAC/Makefile @@ -14,11 +14,22 @@ ifdef APPEXTRA INCLUDES += -I$(APPSDIR)/$(APPEXTRA) endif -FLACOPTS = -DFLAC__NO_ASM -DFLAC__ALIGN_MALLOC_DATA -DFLAC__INTEGER_ONLY_LIBRARY -DVERSION=\"1.1.2\" -fomit-frame-pointer -funroll-loops -finline-functions -Wall -W -Winline -DFLaC__INLINE=__inline__ --param large-function-insns=10000 +NEWGCC=$(shell expr $(GCCNUM) ">" 303) + +FLACOPTS = -DFLAC__NO_ASM -DFLAC__ALIGN_MALLOC_DATA \ +-DFLAC__INTEGER_ONLY_LIBRARY -DVERSION=\"1.1.2\" -fomit-frame-pointer \ +-funroll-loops -finline-functions -Wall -W -Winline -DFLaC__INLINE=__inline__ + +ifeq ($(NEWGCC), 1) + # this is 3.4.X options: + FLACOPTS += --param large-function-insns=10000 +endif + CFLAGS = $(GCCOPTS) $(FLACOPTS)\ $(INCLUDES) $(TARGET) $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} -SRC := $(shell cat SOURCES | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P -include "config.h" - ) +SRC := $(shell cat SOURCES | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \ +$(TARGET) $(DEFINES) -E -P -include "config.h" - ) SOURCES = $(SRC) OBJS := $(SRC:%.c=$(OBJDIR)/libFLAC/%.o) DEPFILE = $(OBJDIR)/dep-libFLAC diff --git a/apps/main_menu.c b/apps/main_menu.c index 3eb1d69..c7cfb0e 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c @@ -274,13 +274,6 @@ static bool plugin_browse(void) } #ifdef HAVE_RECORDING -#ifdef SIMULATOR -bool recording_screen(void) -{ - /* a dummy */ - return false; -} -#endif static bool recording_settings(void) { diff --git a/apps/plugin.c b/apps/plugin.c index 93717cc..10daeaf 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -187,9 +187,7 @@ static const struct plugin_api rockbox_api = { strncasecmp, memset, memcpy, -#ifndef SIMULATOR _ctype_, -#endif atoi, /* sound */ diff --git a/apps/plugin.h b/apps/plugin.h index 590d02a..96a9aab 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -211,9 +211,7 @@ struct plugin_api { int (*strncasecmp)(const char *s1, const char *s2, size_t n); void* (*memset)(void *dst, int c, size_t length); void* (*memcpy)(void *out, const void *in, size_t n); -#ifndef SIMULATOR const char *_ctype_; -#endif int (*atoi)(const char *str); /* sound */ diff --git a/apps/plugins/Makefile b/apps/plugins/Makefile index 0c90bde..6af3932 100644 --- a/apps/plugins/Makefile +++ b/apps/plugins/Makefile @@ -24,16 +24,19 @@ LDS := plugin.lds LINKFILE := $(OBJDIR)/pluginlink.lds DEPFILE = $(OBJDIR)/dep-plugins -SRC := $(shell cat SOURCES | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) \ - $(INCLUDES) $(TARGET) $(DEFINES) -E -P -include "config.h" - ) +SRC := $(shell cat SOURCES | gcc -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \ + $(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -include "config.h" - ) ROCKS := $(SRC:%.c=$(OBJDIR)/%.rock) SOURCES = $(SRC) ELFS := $(SRC:%.c=$(OBJDIR)/%.elf) OBJS := $(SRC:%.c=$(OBJDIR)/%.o) +# as created by the cross-compiler for win32: +DEFS := $(SRC:%.c=$(OBJDIR)/%.def) DIRS = . all: $(OBJDIR)/libplugin.a $(ROCKS) $(DEPFILE) +ifndef SIMVER $(OBJDIR)/%.elf: $(OBJDIR)/%.o $(LINKFILE) $(OBJDIR)/libplugin.a @echo "LD $@" @$(CC) $(GCCOPTS) -O -nostdlib -o $@ $< -L$(OBJDIR) $(CODECLIBS) -lplugin -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/$*.map @@ -41,6 +44,37 @@ $(OBJDIR)/%.elf: $(OBJDIR)/%.o $(LINKFILE) $(OBJDIR)/libplugin.a $(OBJDIR)/%.rock : $(OBJDIR)/%.elf @echo "OBJCOPY $<" @$(OC) -O binary $< $@ +else + +ifeq ($(SIMVER), x11) +################################################### +# This is the X11 simulator version + +$(OBJDIR)/%.rock : $(OBJDIR)/%.o $(APPSDIR)/plugin.h + @echo "LD $@" + @$(CC) $(APPCFLAGS) -DPLUGIN -shared $< -L$(OBJDIR) -lplugin -o $@ +ifeq ($(UNAME),CYGWIN) +# 'x' must be kept or you'll have "Win32 error 5" +# $ fgrep 5 /usr/include/w32api/winerror.h | head -1 +# #define ERROR_ACCESS_DENIED 5L +else + @chmod -x $@ +endif + +else # end of x11-simulator +################################################### +# This is the win32 simulator version +DLLTOOLFLAGS = --export-all +DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin + +$(OBJDIR)/%.rock : $(OBJDIR)/%.o $(APPSDIR)/plugin.h + @echo "DLL $@" + @$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $< + @$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $< $(OBJDIR)/libplugin.a -o $@ + @chmod -x $@ +endif # end of win32-simulator + +endif # end of simulator section include $(TOOLSDIR)/make.inc @@ -56,7 +90,8 @@ $(LINKFILE): $(LDS) clean: @echo "cleaning plugins" - @rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) $(OBJS) + @rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) \ + $(OBJS) $(DEFS) @$(MAKE) -C lib clean -include $(DEPFILE) diff --git a/apps/plugins/lib/Makefile b/apps/plugins/lib/Makefile index b9daf73..b492bb5 100644 --- a/apps/plugins/lib/Makefile +++ b/apps/plugins/lib/Makefile @@ -18,9 +18,9 @@ INCLUDES += -I$(APPSDIR)/$(APPEXTRA) endif CFLAGS = $(GCCOPTS) \ -$(INCLUDES) $(TARGET) $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} +$(INCLUDES) $(TARGET) $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} -DPLUGIN -SRC := $(shell cat SOURCES | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P -include "config.h" - ) +SRC := $(shell cat SOURCES | gcc -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -include "config.h" - ) SOURCES = $(SRC) OBJS := $(SRC:%.c=$(OBJDIR)/%.o) DEPFILE = $(OBJDIR)/dep-pluginlib @@ -31,8 +31,9 @@ OUTPUT = $(OBJDIR)/libplugin.a all: $(OUTPUT) $(OUTPUT): $(OBJS) - @echo "AR $@" + @echo "AR+RANLIB $@" @$(AR) ruv $@ $+ >/dev/null 2>&1 + @$(RANLIB) $@ include $(TOOLSDIR)/make.inc |