Index: tools/configure =================================================================== --- tools/configure (revision 19100) +++ tools/configure (working copy) @@ -796,6 +796,7 @@ target="-DARCHOS_RECORDER" shcc tool="$rootdir/tools/scramble" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="ajbrec.ajz" @@ -818,6 +819,7 @@ target="-DARCHOS_FMRECORDER" shcc tool="$rootdir/tools/scramble -fm" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="ajbrec.ajz" @@ -840,6 +842,7 @@ target="-DARCHOS_RECORDERV2" shcc tool="$rootdir/tools/scramble -v2" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="ajbrec.ajz" @@ -862,6 +865,7 @@ target="-DARCHOS_ONDIOSP" shcc tool="$rootdir/tools/scramble -osp" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="ajbrec.ajz" @@ -884,6 +888,7 @@ target="-DARCHOS_ONDIOFM" shcc tool="$rootdir/tools/scramble -ofm" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="ajbrec.ajz" @@ -905,6 +910,7 @@ memory=16 # always arm7tdmicc tool="$rootdir/tools/scramble -mm=C" + bmp2rb_format=6 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 6" output="cjbm.ajz" @@ -927,6 +933,7 @@ memory=32 # always coldfirecc tool="$rootdir/tools/scramble -add=h120" + bmp2rb_format=2 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 2" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -951,6 +958,7 @@ memory=32 # always coldfirecc tool="$rootdir/tools/scramble -add=h300" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -974,6 +982,7 @@ memory=16 # always coldfirecc tool="$rootdir/tools/scramble -add=h100" + bmp2rb_format=2 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 2" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -998,6 +1007,7 @@ memory=1 arm7tdmicc short tool="cp" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="rockbox.wma" @@ -1019,6 +1029,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS" + bmp2rb_format=5 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 5" output="rockbox.mi4" @@ -1043,6 +1054,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS" + bmp2rb_format=5 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 5" output="rockbox.mi4" @@ -1067,6 +1079,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=ipco" + bmp2rb_format=5 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 5" output="rockbox.ipod" @@ -1090,6 +1103,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=nano" + bmp2rb_format=5 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 5" output="rockbox.ipod" @@ -1112,6 +1126,7 @@ target="-DIPOD_VIDEO" arm7tdmicc tool="$rootdir/tools/scramble -add=ipvd" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.ipod" @@ -1135,6 +1150,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=ip3g" + bmp2rb_format=6 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 6" output="rockbox.ipod" @@ -1158,6 +1174,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=ip4g" + bmp2rb_format=6 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 6" output="rockbox.ipod" @@ -1181,6 +1198,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=mini" + bmp2rb_format=6 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 6" output="rockbox.ipod" @@ -1204,6 +1222,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=mn2g" + bmp2rb_format=6 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 6" output="rockbox.ipod" @@ -1227,6 +1246,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add=1g2g" + bmp2rb_format=6 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 6" output="rockbox.ipod" @@ -1250,6 +1270,7 @@ memory=16 # always coldfirecc tool="$rootdir/tools/scramble -add=iax5" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1274,6 +1295,7 @@ memory=16 # always coldfirecc tool="$rootdir/tools/scramble -add=iam5" + bmp2rb_format=2 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 2" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1299,6 +1321,7 @@ arm946cc tool="$rootdir/tools/scramble -add=i7" boottool="$rootdir/tools/scramble -tcc=crc" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.iaudio" @@ -1323,6 +1346,7 @@ arm926ejscc tool="$rootdir/tools/scramble -add=d2" boottool="$rootdir/tools/scramble -tcc=crc" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1345,6 +1369,7 @@ memory=16 # always coldfirecc tool="$rootdir/tools/scramble -add=iam3" + bmp2rb_format=7 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 7" output="rockbox.iaudio" @@ -1367,6 +1392,7 @@ memory=32 # always arm9tdmicc tool="$rootdir/tools/scramble -add=giga" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.gigabeat" @@ -1389,6 +1415,7 @@ memory=64 arm1136jfscc tool="$rootdir/tools/scramble -add=gigs" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.gigabeat" @@ -1412,6 +1439,7 @@ arm926ejscc # tool="$rootdir/tools/scramble -add=m500" tool="cp " + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1436,6 +1464,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1464,6 +1493,7 @@ tool="$rootdir/tools/scramble -add=ldax" boottool="$rootdir/tools/scramble -tcc=crc" bootoutput="player.rom" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="rockbox.logik" @@ -1485,6 +1515,7 @@ target="-DCREATIVE_ZVM" memory=64 arm926ejscc + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1510,6 +1541,7 @@ target="-DCREATIVE_ZVM60GB" memory=64 arm926ejscc + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1535,6 +1567,7 @@ target="-DCREATIVE_ZV" memory=64 arm926ejscc + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" @@ -1561,6 +1594,7 @@ memory=32 # supposedly arm7tdmicc tool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.mi4" @@ -1588,6 +1622,7 @@ memory=32 # supposedly arm7tdmicc tool="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.mi4" @@ -1612,6 +1647,7 @@ memory=32 # supposedly arm7tdmicc tool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.mi4" @@ -1638,6 +1674,7 @@ tool="$rootdir/tools/scramble -add=m200" boottool="$rootdir/tools/scramble -tcc=crc" bootoutput="player.rom" + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 0" output="rockbox.m200" @@ -1662,6 +1699,7 @@ tool="$rootdir/tools/scramble -add=c100" boottool="$rootdir/tools/scramble -tcc=crc" bootoutput="player.rom" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.c100" @@ -1682,6 +1720,7 @@ target="-DSANSA_CLIP" memory=2 arm9tdmicc + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$bmp2rb_mono" tool="$rootdir/tools/scramble -add=clip" @@ -1703,6 +1742,7 @@ target="-DSANSA_E200V2" memory=8 arm9tdmicc + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" tool="$rootdir/tools/scramble -add=e2v2" @@ -1724,6 +1764,7 @@ target="-DSANSA_M200V4" memory=2 arm9tdmicc + bmp2rb_format=0 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$bmp2rb_mono" tool="$rootdir/tools/scramble -add=m2v4" @@ -1745,6 +1786,7 @@ target="-DSANSA_FUZE" memory=8 arm9tdmicc + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" tool="$rootdir/tools/scramble -add=fuze" @@ -1767,6 +1809,7 @@ memory=32 # always arm7tdmicc tool="$rootdir/tools/scramble -add tpj2" + bmp2rb_format=5 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 5" output="rockbox.elio" @@ -1791,6 +1834,7 @@ memory=32 # supposedly arm7tdmicc tool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.mi4" @@ -1815,6 +1859,7 @@ memory=32 # supposedly arm7tdmicc tool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.mi4" @@ -1839,6 +1884,7 @@ memory=16 # always arm940tbecc tool="cp" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.meizu" @@ -1861,6 +1907,7 @@ memory=16 # always arm940tbecc tool="cp" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.meizu" @@ -1883,6 +1930,7 @@ memory=16 # always arm940tbecc tool="cp" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.meizu" @@ -1905,6 +1953,7 @@ memory=16 #FIXME mipselcc tool="cp" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.vx747" @@ -1927,6 +1976,7 @@ memory=16 #FIXME mipselcc tool="cp" + bmp2rb_format=4 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" bmp2rb_native="$rootdir/tools/bmp2rb -f 4" output="rockbox.vx767" @@ -2357,6 +2407,7 @@ -e "s,@DLLWRAP@,${DLLWRAP},g" \ -e "s,@RANLIB@,${RANLIB},g" \ -e "s,@TOOL@,${tool},g" \ + -e "s,@BMP2RB_FORMAT@,${bmp2rb_format},g" \ -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \ -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \ -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \ @@ -2397,18 +2448,6 @@ <&2 "Consider upgrading to GNU make 3.81+ for optimum build performance.") -ifeq (\$(call info),old) -export info=echo "\$\$(1)"; -endif - export ROOTDIR=@ROOTDIR@ export FIRMDIR=@FIRMDIR@ export APPSDIR=@APPSDIR@ @@ -2428,9 +2467,10 @@ export LANGUAGE=@LANGUAGE@ export VOICELANGUAGE=@VOICELANGUAGE@ export MEMORYSIZE=@MEMORY@ -export VERSION=\$(shell \$(ROOTDIR)/tools/svnversion.sh \$(ROOTDIR)) -export BUILDDATE=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d') +export VERSION:=\$(shell \$(ROOTDIR)/tools/svnversion.sh \$(ROOTDIR)) +export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d') export MKFIRMWARE=@TOOL@ +export BMP2RB_FORMAT=@BMP2RB_FORMAT@ export BMP2RB_MONO=@BMP2RB_MONO@ export BMP2RB_NATIVE=@BMP2RB_NATIVE@ export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@ @@ -2469,131 +2509,8 @@ export ENCODER=@ENCODER@ export USE_ELF=@USE_ELF@ -# Do not print "Entering directory ..." -MAKEFLAGS += --no-print-directory +include \$(TOOLSDIR)/root.make -.PHONY: all clean tags zip tools manual bin build info langs - -all: info - -info: build - \$(SILENT)\$(TOOLSDIR)/mkinfo.pl \$(BUILDDIR)/rockbox-info.txt - -build: tools @LANGS@ - @SIMUL1@ - @SIMUL2@ - \$(SILENT)\$(MAKE) -C \$(FIRMDIR) OBJDIR=\$(BUILDDIR)/firmware - \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ - -bin: tools @LANGS@ - @SIMUL1@ - @SIMUL2@ - \$(SILENT)\$(MAKE) -C \$(FIRMDIR) OBJDIR=\$(BUILDDIR)/firmware - \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ \$(BUILDDIR)/\$(BINARY) - -rocks: tools - \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ rocks - -veryclean: clean toolsclean - -toolsclean: - \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) clean - -clean: - \$(SILENT)echo Cleaning build directory - \$(SILENT)rm -rf rockbox.zip rockbox.7z rockbox.tar rockbox.tar.gz \ - rockbox.tar.bz2 TAGS @APPS@ firmware comsim sim lang.[ch] \ - manual *.pdf *.a credits.raw @OUTPUT@ bitmaps pluginbitmaps \ - @ARCHOSROM@ @FLASHFILE@ UI256.bmp rockbox-full.zip \ - html txt rockbox-manual*.zip sysfont.h rockbox-info.txt \ - voicefontids *.wav *.mp3 *.voice max_language_size.h - -tools: - \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) CC=\$(HOSTCC) AR=\$(HOSTAR) @TOOLSET@ - -voicetools: - \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) CC=\$(HOSTCC) AR=\$(HOSTAR) @VOICETOOLSET@ - -tags: - \$(SILENT)rm -f TAGS - \$(SILENT)\$(MAKE) -C \$(FIRMDIR) tags - \$(SILENT)\$(MAKE) -C \$(APPSDIR) tags - \$(SILENT)\$(MAKE) -C \$(APPSDIR)/plugins tags - \$(SILENT)\$(MAKE) -C \$(APPSDIR)/plugins/lib tags - -fontzip: - \$(SILENT)\$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\" -r "\$(ROOTDIR)" -f 1 -o rockbox-fonts.zip \$(TARGET) \$(BINARY) - -zip: info - \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done ; \\ - \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) - -mapzip: info - \$(SILENT)find . -name "*.map" | xargs zip rockbox-maps.zip - -fullzip: info - \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ - \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -r "\$(ROOTDIR)" -f 2 -o rockbox-full.zip \$(TARGET) \$(BINARY) - -7zip: info - \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ - \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -o "rockbox.7z" -z "7za a -mx=9" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) - -tar: info - \$(SILENT)rm -f rockbox.tar - \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ - \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -o "rockbox.tar" -z "tar -cf" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) - -bzip2: tar - \$(SILENT)bzip2 -f9 rockbox.tar - -gzip: tar - \$(SILENT)gzip -f9 rockbox.tar - -langs: features - \$(SILENT)mkdir -p \$(BUILDDIR)/apps/lang - \$(SILENT)\$(MAKE) -C \$(APPSDIR)/lang OBJDIR=\$(BUILDDIR)/apps/lang - -manual: manual-pdf -manual-pdf: - \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-pdf -manual-html: - \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-html -manual-zhtml: manual-zip -manual-txt: - \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-txt -manual-ztxt: - \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-txt-zip -manual-zip: - \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-zip - -features: tools - \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ features - -help: - @echo "A few helpful make targets" - @echo "" - @echo "all - builds a full Rockbox (default), including tools" - @echo "bin - builds only the Rockbox. file" - @echo "rocks - builds only plugins and codecs" - @echo "clean - cleans a build directory (not tools)" - @echo "veryclean - cleans the build and tools directories" - @echo "manual - builds a manual" - @echo "manual-html - HTML manual" - @echo "manual-zip - HTML manual (zipped)" - @echo "manual-txt - txt manual" - @echo "fullzip - creates a rockbox.zip of your build with fonts" - @echo "zip - creates a rockbox.zip of your build (no fonts)" - @echo "gzip - creates a rockbox.tar.gz of your build (no fonts)" - @echo "bzip2 - creates a rockbox.tar.bz2 of your build (no fonts)" - @echo "7zip - creates a rockbox.7z of your build (no fonts)" - @echo "fontzip - creates rockbox-fonts.zip" - @echo "mapzip - creates rockbox-maps.zip with all .map files" - @echo "tools - builds the tools only" - @echo "voicetools - builds the voice tools only" - @echo "install - installs your build (for simulator builds only, no fonts)" - @echo "fullinstall - installs your build (for simulator builds only, with fonts)" - EOF if [ "yes" = "$simulator" ]; then Index: tools/functions.make =================================================================== --- tools/functions.make (revision 0) +++ tools/functions.make (revision 0) @@ -0,0 +1,48 @@ +# add the list of sources to build to the SRC variable + +# This uses the native 'gcc' compiler and not $(CC) since we use the -imacros +# option and older gcc compiler doesn't have that. We use one such older +# compiler for the win32 cross-compiles on Linux. +# +# The weird grep -v thing in here is due to Apple's stupidities and is needed +# to make this do right when used on Mac OS X. +# +# The sed line is to prepend the directory to all source files + +preprocess = $(shell $(CC) $(CFLAGS) -E -P -x c -imacros "config.h" $(1) 2>/dev/null | \ + grep -v '^\#' | \ + sed -e 's:^.\+:$(dir $(1))&:') + +preprocess2file = $(shell $(CC) $(CFLAGS) -E -P -x c -imacros "config.h" $(1) > $(2)) + +c2obj = $(subst .c,.o,$(subst .S,.o,$(subst $(ROOTDIR),$(BUILDDIR),$(1)))) + +# calculate dependencies for a list of source files $(2) and output them +# to a file $(1) + +mkdepfile = $(shell \ + for each in $(2); do \ + obj=`echo $$each | sed -e 's/\.[cS]/.o/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \ + $(CC) $(CFLAGS) $(OTHER_INC) -MG -MM -MT "$$obj" $$each 2>/dev/null; \ + done | sed -e "s: lang.h: $(BUILDDIR)/lang.o:" \ + -e "s: sysfont.h: $(BUILDDIR)/sysfont.h:" \ + -e "s: max_language_size.h: $(BUILDDIR)/max_language_size.h:" \ + -e "s: bitmaps/: $(BUILDDIR)/bitmaps/:g" \ + -e "s: pluginbitmaps/: $(BUILDDIR)/pluginbitmaps/:g" \ + -e "s: lib/: $(APPSDIR)/plugins/lib/:g" \ + -e "s: codeclib.h: $(APPSDIR)/codecs/lib/codeclib.h:g" \ + > $(1); ) + +ifndef V +SILENT:=@ +else +VERBOSEOPT:=-v +endif +PRINTS=$(SILENT)$(call info,$(1)) + +# old 'make' versions don't have the built-in 'info' function +info=old$(shell echo >&2 "Consider upgrading to GNU make 3.81+ for optimum build performance.") +ifeq ($(call info),old) +export info=echo "$$(1)"; +endif + Property changes on: tools/functions.make ___________________________________________________________________ Added: svn:mergeinfo Index: tools/root.make =================================================================== --- tools/root.make (revision 0) +++ tools/root.make (revision 0) @@ -0,0 +1,246 @@ +include $(TOOLSDIR)/functions.make + +DEFINES = -DMEMORYSIZE=$(MEMORYSIZE) -DMEM=$(MEMORYSIZE) $(TARGET) \ + -DTARGET_ID=$(TARGET_ID) -DTARGET_NAME=\"$(MODELNAME)\" \ + -DAPPSVERSION=\"$(VERSION)\" $(BUILDDATE) \ + $(EXTRA_DEFINES) # <-- -DSIMULATOR or not +INCLUDES = -I$(BUILDDIR) $(TARGET_INC) + +CFLAGS = $(INCLUDES) $(DEFINES) $(GCCOPTS) -Werror + +TOOLS := $(TOOLSDIR)/rdf2binary $(TOOLSDIR)/convbdf \ + $(TOOLSDIR)/codepages $(TOOLSDIR)/scramble $(TOOLSDIR)/bmp2rb \ + $(TOOLSDIR)/uclpack + +# don't use builtin suffix list +.SUFFIXES: + +.PHONY: all clean tags zip tools manual bin build info langs + +DEPFILE := $(BUILDDIR)/make.dep + +all: $(DEPFILE) build + +# Subdir makefiles. their primary purpose is to populate $(SRC), +# but they also define special dependencies +include $(TOOLSDIR)/tools.make +include $(FIRMDIR)/firmware.make +include $(APPSDIR)/apps.make +include $(APPSDIR)/lang/lang.make +include $(APPSDIR)/plugins/bitmaps/pluginbitmaps.make +include $(APPSDIR)/bitmaps/bitmaps.make +ifdef SOFTWARECODECS +include $(APPSDIR)/codecs/codecs.make +endif +include $(APPSDIR)/plugins/plugins.make +ifdef SIMVER +include $(ROOTDIR)/uisimulator/uisimulator.make +endif + +OBJ := $(SRC:.c=.o) +OBJ := $(OBJ:.S=.o) +OBJ += $(BMP:.bmp=.o) +OBJ := $(subst $(ROOTDIR),$(BUILDDIR),$(OBJ)) + +build: $(TOOLS) $(BUILDDIR)/$(BINARY) $(CODECS) $(ROCKS) + +ifneq ($(MAKECMDGOALS),clean) # don't build deps before cleaning +$(DEPFILE): + $(call PRINTS,Generating dependencies) + @echo foo > /dev/null # there must be a "real" command too + $(call mkdepfile,$(DEPFILE),$(SRC) $(OTHER_SRC)) + $(call bmpdepfile,$(DEPFILE),$(BMP) $(PBMP)) +endif + +ifndef SIMVER + +#### target build #### +LDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/app.lds +ROMLDS := $(FIRMDIR)/rom.lds +LINKFILE := $(BUILDDIR)/linkage.lds +LINKROM := $(BUILDDIR)/linkrom.lds + +$(LINKFILE): $(LDS) + $(call PRINTS,PP $(@F))$(CC) $(CFLAGS) -DLOADADDRESS=$(LOADADDRESS) -E -P -x c $(ROMBUILD) $< >$@ + +$(LINKROM): $(ROMLDS) + $(call PRINTS,PP $(@F))$(CC) $(CFLAGS) -DLOADADDRESS=$(LOADADDRESS) -E -P -x c $(ROMBUILD) $< >$@ + +$(BUILDDIR)/rockbox.elf : $(OBJ) $(VOICESPEEXLIB) $(LINKFILE) + $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ + $(VOICESPEEXLIB) -lgcc -T$(LINKFILE) -Wl,-Map,$(BUILDDIR)/rockbox.map + +$(BUILDDIR)/rombox.elf : $(OBJ) $(VOICESPEEXLIB) $(LINKROM) + $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ + $(VOICESPEEXLIB) -lgcc -T$(LINKROM) -Wl,-Map,$(BUILDDIR)/rockbox.map + +$(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf + $(call PRINTS,OBJCOPY $(@F))$(OC) $(if $(filter yes, $(USE_ELF)), -S -x, -O binary) $< $@ + +$(BUILDDIR)/rombox.bin : $(BUILDDIR)/rombox.elf + $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@ + +# +# If there's a flashfile defined for this target (rockbox.ucl for Archos +# models) Then check if the mkfirmware script fails, as then it is (likely) +# because the image is too big and we need to create a compressed image +# instead. +# +$(BUILDDIR)/$(BINARY) : $(BUILDDIR)/rockbox.bin $(FLASHFILE) + $(call PRINTS,SCRAMBLE $(notdir $@))($(MKFIRMWARE) $< $@; \ + stat=$$?; \ + if test -n "$(FLASHFILE)"; then \ + if test "$$stat" -ne 0; then \ + echo "Image too big, making a compressed version!"; \ + $(MAKE) -C $(FIRMDIR)/decompressor OBJDIR=$(BUILDDIR)/firmware/decompressor; \ + $(MKFIRMWARE) $(BUILDDIR)/firmware/decompressor/compressed.bin $@; \ + fi \ + fi ) + +# archos +$(BUILDDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin + $(call PRINTS,UCLPACK rockbox)$(TOOLSDIR)/uclpack --best --2e -b1048576 $< $@ >/dev/null 2>&1 + +$(BUILDDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE) + $(call PRINTS,UCLPACK rombox)$(TOOLSDIR)/uclpack --none $< $@ >/dev/null 2>&1; \ + perl $(TOOLSDIR)/romsizetest.pl `cat $(MAXOUTFILE)` $<; \ + if test $$? -ne 0; then \ + echo "removing UCL file again, making it a fake one"; \ + echo "fake" > $@; \ + fi + +# iriver +$(BUILDDIR)/rombox.iriver: $(OBJDIR)/rombox.bin + $(call PRINTS,Build ROM file)$(MKFIRMWARE) $< $@ + +endif # !SIMVER + +-include $(DEPFILE) + +veryclean: clean + $(SILENT)rm -rf $(TOOLS) + +clean: + $(SILENT)echo Cleaning build directory + $(SILENT)rm -rf rockbox.zip rockbox.7z rockbox.tar rockbox.tar.gz rockbox.tar.bz2 TAGS apps firmware comsim sim lang.[ch] manual *.pdf *.a credits.raw rockbox.ipod bitmaps pluginbitmaps UI256.bmp rockbox-full.zip html txt rockbox-manual*.zip sysfont.h rockbox-info.txt voicefontids *.wav *.mp3 *.voice max_language_size.h $(CLEANOBJS) $(LINKFILE) rockbox.elf rockbox.map rockbox.bin libspeex-core $(DEPFILE) + +####################### old stuff still to be done ######################### + +info: build + $(SILENT)$(TOOLSDIR)/mkinfo.pl $(BUILDDIR)/rockbox-info.txt + +old.build: tools langs + $(SILENT)$(MAKE) -C $(FIRMDIR) OBJDIR=$(BUILDDIR)/firmware + $(SILENT)$(MAKE) -C $(APPSDIR) OBJDIR=$(BUILDDIR)/apps + +bin: tools langs + $(SILENT)$(MAKE) -C $(FIRMDIR) OBJDIR=$(BUILDDIR)/firmware + $(SILENT)$(MAKE) -C $(APPSDIR) OBJDIR=$(BUILDDIR)/apps $(BUILDDIR)/$(BINARY) + +rocks: tools + $(SILENT)$(MAKE) -C $(APPSDIR) OBJDIR=$(BUILDDIR)/apps rocks + +tools: + $(SILENT)$(MAKE) -C $(TOOLSDIR) CC=$(HOSTCC) AR=$(HOSTAR) rdf2binary convbdf codepages scramble bmp2rb + +voicetools: + $(SILENT)$(MAKE) -C $(TOOLSDIR) CC=$(HOSTCC) AR=$(HOSTAR) rbspeexenc voicefont wavtrim + +tags: + $(SILENT)rm -f TAGS + $(SILENT)$(MAKE) -C $(FIRMDIR) tags + $(SILENT)$(MAKE) -C $(APPSDIR) tags + $(SILENT)$(MAKE) -C $(APPSDIR)/plugins tags + $(SILENT)$(MAKE) -C $(APPSDIR)/plugins/lib tags + +fontzip: + $(SILENT)$(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -t \"$(MODELNAME)\" -r "$(ROOTDIR)" -f 1 -o rockbox-fonts.zip $(TARGET) $(BINARY) + +zip: + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done ; \ + $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -t \"$(MODELNAME)$$feat\" -i \"$(TARGET_ID)\" -r "$(ROOTDIR)" $(TARGET) $(BINARY) + +mapzip: info + $(SILENT)find . -name "*.map" | xargs zip rockbox-maps.zip + +fullzip: info + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \ + $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -t \"$(MODELNAME)$$feat\" -i \"$(TARGET_ID)\" -r "$(ROOTDIR)" -f 2 -o rockbox-full.zip $(TARGET) $(BINARY) + +7zip: info + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \ + $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -t \"$(MODELNAME)$$feat\" -i \"$(TARGET_ID)\" -o "rockbox.7z" -z "7za a -mx=9" -r "$(ROOTDIR)" $(TARGET) $(BINARY) + +tar: info + $(SILENT)rm -f rockbox.tar + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \ + $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -t \"$(MODELNAME)$$feat\" -i \"$(TARGET_ID)\" -o "rockbox.tar" -z "tar -cf" -r "$(ROOTDIR)" $(TARGET) $(BINARY) + +bzip2: tar + $(SILENT)bzip2 -f9 rockbox.tar + +gzip: tar + $(SILENT)gzip -f9 rockbox.tar + +langs: features + $(SILENT)mkdir -p $(BUILDDIR)/apps/lang + $(SILENT)$(MAKE) -C $(APPSDIR)/lang OBJDIR=$(BUILDDIR)/apps/lang + +manual: manual-pdf +manual-pdf: + $(SILENT)$(MAKE) -C $(MANUALDIR) OBJDIR=$(BUILDDIR)/manual manual-pdf +manual-html: + $(SILENT)$(MAKE) -C $(MANUALDIR) OBJDIR=$(BUILDDIR)/manual manual-html +manual-zhtml: manual-zip +manual-txt: + $(SILENT)$(MAKE) -C $(MANUALDIR) OBJDIR=$(BUILDDIR)/manual manual-txt +manual-ztxt: + $(SILENT)$(MAKE) -C $(MANUALDIR) OBJDIR=$(BUILDDIR)/manual manual-txt-zip +manual-zip: + $(SILENT)$(MAKE) -C $(MANUALDIR) OBJDIR=$(BUILDDIR)/manual manual-zip + +features: tools + $(SILENT)$(MAKE) -C $(APPSDIR) OBJDIR=$(BUILDDIR)/apps features + +help: + @echo "A few helpful make targets" + @echo "" + @echo "all - builds a full Rockbox (default), including tools" + @echo "bin - builds only the Rockbox. file" + @echo "rocks - builds only plugins and codecs" + @echo "clean - cleans a build directory (not tools)" + @echo "veryclean - cleans the build and tools directories" + @echo "manual - builds a manual" + @echo "manual-html - HTML manual" + @echo "manual-zip - HTML manual (zipped)" + @echo "manual-txt - txt manual" + @echo "fullzip - creates a rockbox.zip of your build with fonts" + @echo "zip - creates a rockbox.zip of your build (no fonts)" + @echo "gzip - creates a rockbox.tar.gz of your build (no fonts)" + @echo "bzip2 - creates a rockbox.tar.bz2 of your build (no fonts)" + @echo "7zip - creates a rockbox.7z of your build (no fonts)" + @echo "fontzip - creates rockbox-fonts.zip" + @echo "mapzip - creates rockbox-maps.zip with all .map files" + @echo "tools - builds the tools only" + @echo "voicetools - builds the voice tools only" + @echo "install - installs your build (for simulator builds only, no fonts)" + @echo "fullinstall - installs your build (for simulator builds only, with fonts)" + +# when source and object are both in BUILDDIR (generated code): +%.o: %.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@ + +%.o: %.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@ + +# when source and object are in different locations (normal): +$(BUILDDIR)/%.o: $(ROOTDIR)/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: $(ROOTDIR)/%.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@ + Index: tools/tools.make =================================================================== --- tools/tools.make (revision 0) +++ tools/tools.make (revision 0) @@ -0,0 +1,36 @@ +TOOLSCFLAGS := -O -g -W -Wall -Wshadow -pedantic -I$(ROOTDIR)/tools + +$(TOOLSDIR)/scramble: $(TOOLSDIR)/scramble.o $(TOOLSDIR)/iriver.o \ + $(TOOLSDIR)/mi4.o $(TOOLSDIR)/gigabeat.o \ + $(TOOLSDIR)/gigabeats.o $(TOOLSDIR)/telechips.o \ + $(TOOLSDIR)/iaudio_bl_flash.o \ + $(TOOLSDIR)/creative.o $(TOOLSDIR)/hmac-sha1.o + $(call PRINTS,LD $(@F)) + $(SILENT)$(HOSTCC) $(TOOLSCFLAGS) $+ -o $@ + +$(TOOLSDIR)/bmp2rb: $(TOOLSDIR)/bmp2rb.c + $(call PRINTS,CC $(@F)) + $(SILENT)$(HOSTCC) -DAPPLICATION_NAME=\"$@\" $(TOOLSCFLAGS) $+ -o $@ + +$(TOOLSDIR)/rdf2binary: $(TOOLSDIR)/rdf2binary.c + $(call PRINTS,CC $(@F)) + $(SILENT)$(HOSTCC) $(TOOLSCFLAGS) $+ -o $@ + +$(TOOLSDIR)/convbdf: $(TOOLSDIR)/convbdf.c + $(call PRINTS,CC $(@F)) + $(SILENT)$(HOSTCC) $(TOOLSCFLAGS) $+ -o $@ + +$(TOOLSDIR)/codepages: $(TOOLSDIR)/codepages.c $(TOOLSDIR)/codepage_tables.c + $(call PRINTS,CC $(@F)) + $(SILENT)$(HOSTCC) $(TOOLSCFLAGS) $+ -o $@ + +$(TOOLSDIR)/uclpack: $(TOOLSDIR)/ucl/uclpack.c $(wildcard $(TOOLSDIR)/ucl/src/*.c) + $(call PRINTS,CC $(@F))$(HOSTCC) -I$(TOOLSDIR)/ucl \ + -I$(TOOLSDIR)/ucl/include -o $@ $^ + +# pattern rule for compiling tools +$(ROOTDIR)/tools/%.o: $(ROOTDIR)/tools/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(@F)) + $(SILENT)$(HOSTCC) $(TOOLSCFLAGS) -c $< -o $@ + Index: apps/lang/lang.make =================================================================== --- apps/lang/lang.make (revision 0) +++ apps/lang/lang.make (revision 0) @@ -0,0 +1,25 @@ +LANGS := $(call preprocess, $(APPSDIR)/lang/SOURCES); +LANGOBJ := $(LANGS:$(ROOTDIR)/%.lang=$(BUILDDIR)/%.lng) + +SRC += $(ROOTDIR)/lang.o # yes ROOTDIR. root.make will subst it to BUILDDIR. + +CLEANOBJS += $(BUILDDIR)/max_language_size.h $(BUILDDIR)/lang.* + +# $(BUILDDIR)/apps/lang must exist before we create dependencies on it, +# otherwise make will simply ignore those dependencies. +# Therefore we create it here. +#DUMMY := $(shell mkdir -p $(BUILDDIR)/apps/lang) + +$(BUILDDIR)/max_language_size.h: $(LANGOBJ) + $(call PRINTS,Create $(notdir $@)) + $(SILENT)echo "#define MAX_LANGUAGE_SIZE `ls -ln $(BUILDDIR)/apps/lang/* | awk '{print $$5}' | sort -n | tail -1`" > $@ + +$(BUILDDIR)/lang.o: $(APPSDIR)/lang/$(LANGUAGE).lang $(BUILDDIR)/apps/features + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \ + perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(MODELNAME)$$feat $< + $(call PRINTS,CC lang.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang.c -o $@ + +$(BUILDDIR)/%.lng : $(ROOTDIR)/%.lang $(BUILDDIR)/apps/genlang-features + $(call PRINTS,GENLANG $(subst $(ROOTDIR)/,,$<)) + $(SILENT)mkdir -p $(dir $@) + $(SILENT)$(TOOLSDIR)/genlang -e=$(APPSDIR)/lang/english.lang -t=$(MODELNAME)`cat $(BUILDDIR)/apps/genlang-features` -i=$(TARGET_ID) -b=$@ $< Index: apps/plugins/xobox.c =================================================================== --- apps/plugins/xobox.c (revision 19100) +++ apps/plugins/xobox.c (working copy) @@ -21,7 +21,7 @@ ****************************************************************************/ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" PLUGIN_HEADER Index: apps/plugins/test_resize.c =================================================================== --- apps/plugins/test_resize.c (revision 19100) +++ apps/plugins/test_resize.c (working copy) @@ -25,8 +25,8 @@ */ #include "plugin.h" -#include "pluginlib_actions.h" -#include "bmp.h" +#include "lib/pluginlib_actions.h" +#include "lib/bmp.h" PLUGIN_HEADER Index: apps/plugins/keybox.c =================================================================== --- apps/plugins/keybox.c (revision 19100) +++ apps/plugins/keybox.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "md5.h" +#include "lib/md5.h" PLUGIN_HEADER #define KEYBOX_FILE PLUGIN_DIR "/apps/keybox.dat" Index: apps/plugins/sliding_puzzle.c =================================================================== --- apps/plugins/sliding_puzzle.c (revision 19100) +++ apps/plugins/sliding_puzzle.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "bmp.h" +#include "lib/bmp.h" #ifdef HAVE_LCD_BITMAP PLUGIN_HEADER Index: apps/plugins/jpeg/jpeg.make =================================================================== --- apps/plugins/jpeg/jpeg.make (revision 0) +++ apps/plugins/jpeg/jpeg.make (revision 0) @@ -0,0 +1,12 @@ +JPEGSRCDIR := $(APPSDIR)/plugins/jpeg +JPEGBUILDDIR := $(BUILDDIR)/apps/plugins/jpeg + +ROCKS += $(JPEGBUILDDIR)/jpeg.rock + +JPEG_SRC := $(call preprocess, $(JPEGSRCDIR)/SOURCES) +JPEG_OBJ := $(call c2obj, $(JPEG_SRC)) + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(JPEG_SRC) + +$(JPEGBUILDDIR)/jpeg.rock: $(JPEG_OBJ) Index: apps/plugins/plasma.c =================================================================== --- apps/plugins/plasma.c (revision 19100) +++ apps/plugins/plasma.c (working copy) @@ -25,14 +25,14 @@ ****************************************************************************/ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" #ifdef HAVE_LCD_BITMAP #ifndef HAVE_LCD_COLOR -#include "grey.h" +#include "lib/grey.h" #endif -#include "fixedpoint.h" +#include "lib/fixedpoint.h" PLUGIN_HEADER Index: apps/plugins/random_folder_advance_config.c =================================================================== --- apps/plugins/random_folder_advance_config.c (revision 19100) +++ apps/plugins/random_folder_advance_config.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "oldmenuapi.h" +#include "lib/oldmenuapi.h" PLUGIN_HEADER Index: apps/plugins/mandelbrot.c =================================================================== --- apps/plugins/mandelbrot.c (revision 19100) +++ apps/plugins/mandelbrot.c (working copy) @@ -23,8 +23,8 @@ #include "plugin.h" #ifdef HAVE_LCD_BITMAP -#include "grey.h" -#include "xlcd.h" +#include "lib/grey.h" +#include "lib/xlcd.h" PLUGIN_HEADER Index: apps/plugins/zxbox/zxbox.make =================================================================== --- apps/plugins/zxbox/zxbox.make (revision 0) +++ apps/plugins/zxbox/zxbox.make (revision 0) @@ -0,0 +1,36 @@ +ZXBOX_SRCDIR = $(APPSDIR)/plugins/zxbox +ZXBOX_OBJDIR = $(BUILDDIR)/apps/plugins/zxbox + +ZXBOX_SRC := $(call preprocess, $(ZXBOX_SRCDIR)/SOURCES) +ZXBOX_OBJ := $(call c2obj, $(ZXBOX_SRC)) +ZXBOX_OUTLDS := $(ZXBOX_OBJDIR)/zxbox.lds + +OTHER_SRC += $(ZXBOX_SRC) + +ifndef SIMVER +ifneq (,$(findstring RECORDER,$(TARGET))) + ## archos recorder targets + ZXBOX_INLDS := $(ZXBOX_SRCDIR)/archos.lds + ROCKS += $(ZXBOX_OBJDIR)/zxbox.ovl +else + ### all other targets + ZXBOX_INLDS := $(APPSDIR)/plugins/plugin.lds + ROCKS += $(ZXBOX_OBJDIR)/zxbox.rock +endif +else + ### simulator + ROCKS += $(ZXBOX_OBJDIR)/zxbox.rock +endif + +$(ZXBOX_OUTLDS): $(ZXBOX_INLDS) $(ZXBOX_OBJ) + $(call PRINTS,PP $(/dev/null 2>&1 + +$(PLUGINLINK_LDS): $(PLUGIN_LDS) + $(call PRINTS,PP $(@F))$(CC) $(CFLAGS) -E -P -x c $< >$@ + +$(BUILDDIR)/credits.raw credits.raw: $(DOCSDIR)/CREDITS + $(call PRINTS,Create credits.raw)perl $(APPSDIR)/plugins/credits.pl < $< > $(BUILDDIR)/$(@F) + +# special dependencies +$(BUILDDIR)/apps/plugins/wav2wv.rock: $(BUILDDIR)/apps/codecs/libwavpack.a + + +# special pattern rule for compiling plugins (-DPLUGIN) +$(BUILDDIR)/apps/plugins/%.o: $(ROOTDIR)/apps/plugins/%.c $(PLUGINBITMAPLIB) + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PLUGINFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.rock: $(BUILDDIR)/%.o $(PLUGINLIB) $(PLUGINBITMAPLIB) + $(SILENT)$(CC) $(PLUGINFLAGS) -o $(BUILDDIR)/$*.elf \ + $(filter %.o, $^) \ + $(filter %.a, $^) \ + -lgcc -T$(PLUGINLINK_LDS) \ + -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/$*.map + $(call PRINTS,LD $(@F))$(OC) -O binary $(BUILDDIR)/$*.elf $(BUILDDIR)/$*.rock + +# -L$(BUILDDIR)/apps/codecs $(LCODECLIBS) Index: apps/plugins/starfield.c =================================================================== --- apps/plugins/starfield.c (revision 19100) +++ apps/plugins/starfield.c (working copy) @@ -18,7 +18,7 @@ ****************************************************************************/ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" #ifdef HAVE_LCD_BITMAP /* and also not for the Player */ Index: apps/plugins/ppmviewer.c =================================================================== --- apps/plugins/ppmviewer.c (revision 19100) +++ apps/plugins/ppmviewer.c (working copy) @@ -20,7 +20,7 @@ ****************************************************************************/ #include "plugin.h" -#include "bmp.h" +#include "lib/bmp.h" #if defined(HAVE_LCD_COLOR) Index: apps/plugins/bitmaps/native/SOURCES =================================================================== --- apps/plugins/bitmaps/native/SOURCES (revision 19100) +++ apps/plugins/bitmaps/native/SOURCES (working copy) @@ -669,14 +669,14 @@ /* pictureflow */ #if defined(HAVE_LCD_COLOR) && defined(HAVE_ALBUMART) && defined(HAVE_TAGCACHE) #if (LCD_WIDTH < 200) - pictureflow_logo.100x18x16.bmp +pictureflow_logo.100x18x16.bmp #else - pictureflow_logo.193x34x16.bmp +pictureflow_logo.193x34x16.bmp #endif #if (LCD_HEIGHT < 100 ) - pictureflow_emptyslide.50x50x16.bmp +pictureflow_emptyslide.50x50x16.bmp #else - pictureflow_emptyslide.100x100x16.bmp +pictureflow_emptyslide.100x100x16.bmp #endif #endif @@ -689,53 +689,53 @@ #if defined HAVE_LCD_COLOR #if SMALLER_DIMENSION <= 80 - sliding_puzzle.80x80x16.bmp +sliding_puzzle.80x80x16.bmp #elif SMALLER_DIMENSION <= 108 - sliding_puzzle.108x108x16.bmp +sliding_puzzle.108x108x16.bmp #elif SMALLER_DIMENSION <= 128 - sliding_puzzle.128x128x16.bmp +sliding_puzzle.128x128x16.bmp #elif SMALLER_DIMENSION <= 132 - sliding_puzzle.132x132x16.bmp +sliding_puzzle.132x132x16.bmp #elif SMALLER_DIMENSION <= 176 - sliding_puzzle.176x176x16.bmp +sliding_puzzle.176x176x16.bmp #elif SMALLER_DIMENSION <= 240 - sliding_puzzle.240x240x16.bmp +sliding_puzzle.240x240x16.bmp #endif #elif (LCD_DEPTH > 1) #if SMALLER_DIMENSION <= 96 - sliding_puzzle.96x96x2.bmp +sliding_puzzle.96x96x2.bmp #elif SMALLER_DIMENSION <= 110 - sliding_puzzle.108x108x2.bmp +sliding_puzzle.108x108x2.bmp #elif SMALLER_DIMENSION <= 128 - sliding_puzzle.128x128x2.bmp +sliding_puzzle.128x128x2.bmp #endif #else /* mono targets, one size currently */ - sliding_puzzle.80x64x1.bmp +sliding_puzzle.80x64x1.bmp #endif /* Logo */ #if LCD_DEPTH == 16 #if (LCD_WIDTH >= 320) - rockboxlogo.220x68x16.bmp +rockboxlogo.220x68x16.bmp #elif (LCD_WIDTH > 160) - rockboxlogo.128x40x16.bmp +rockboxlogo.128x40x16.bmp #else - rockboxlogo.90x28x16.bmp +rockboxlogo.90x28x16.bmp #endif #elif LCD_DEPTH == 2 #if (LCD_WIDTH > 138) - rockboxlogo.138x46x2.bmp +rockboxlogo.138x46x2.bmp #else - rockboxlogo.91x32x2.bmp +rockboxlogo.91x32x2.bmp #endif #elif LCD_DEPTH == 1 #if (LCD_WIDTH > 112) /* Such a screen isn't currently in any target */ - rockboxlogo.112x30x1.bmp +rockboxlogo.112x30x1.bmp #else - rockboxlogo.91x32x1.bmp +rockboxlogo.91x32x1.bmp #endif #endif Index: apps/plugins/bitmaps/pluginbitmaps.make =================================================================== --- apps/plugins/bitmaps/pluginbitmaps.make (revision 0) +++ apps/plugins/bitmaps/pluginbitmaps.make (revision 0) @@ -0,0 +1,24 @@ +PBMPINCDIR := $(BUILDDIR)/pluginbitmaps + +PFLAGS += -I$(PBMPINCDIR) + +PBMP = $(call preprocess, $(APPSDIR)/plugins/bitmaps/mono/SOURCES) +PBMP += $(call preprocess, $(APPSDIR)/plugins/bitmaps/native/SOURCES) +PBMP += $(call preprocess, $(APPSDIR)/plugins/bitmaps/remote_mono/SOURCES) +PBMP += $(call preprocess, $(APPSDIR)/plugins/bitmaps/remote_native/SOURCES) + +BMP += $(PBMP) + +PLUGIN_BITMAPS := $(BMP:.bmp=.o) +PLUGIN_BITMAPS := $(subst $(ROOTDIR),$(BUILDDIR),$(PLUGIN_BITMAPS)) + +PLUGINBITMAPLIB := $(BUILDDIR)/apps/plugins/bitmaps/libpluginbitmaps.a +PLUGINBITMAPDIR := $(dir $(PLUGINBITMAPLIB)) + +$(PLUGINBITMAPLIB): $(PLUGIN_BITMAPS) + $(call PRINTS,AR $(@F))$(AR) rs $@ $+ >/dev/null 2>&1 + +# pattern rule to create .c files from .bmp +$(BUILDDIR)/apps/plugins/%.c: $(ROOTDIR)/apps/plugins/%.bmp + $(SILENT)mkdir -p $(dir $@) $(PBMPINCDIR) + $(call PRINTS,BMP2RB $( $@ Index: apps/plugins/chessbox.c =================================================================== --- apps/plugins/chessbox.c (revision 19100) +++ apps/plugins/chessbox.c (working copy) @@ -24,7 +24,7 @@ #if MEM <= 8 && !defined(SIMULATOR) -#include "overlay.h" +#include "lib/overlay.h" PLUGIN_HEADER Index: apps/plugins/test_sampr.c =================================================================== --- apps/plugins/test_sampr.c (revision 19100) +++ apps/plugins/test_sampr.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "oldmenuapi.h" +#include "lib/oldmenuapi.h" PLUGIN_HEADER Index: apps/plugins/rockblox.c =================================================================== --- apps/plugins/rockblox.c (revision 19100) +++ apps/plugins/rockblox.c (working copy) @@ -21,9 +21,9 @@ * ****************************************************************************/ #include "plugin.h" -#include "highscore.h" -#include "playergfx.h" -#include "helper.h" +#include "lib/highscore.h" +#include "lib/playergfx.h" +#include "lib/helper.h" PLUGIN_HEADER Index: apps/plugins/mpegplayer/stream_mgr.c =================================================================== --- apps/plugins/mpegplayer/stream_mgr.c (revision 19100) +++ apps/plugins/mpegplayer/stream_mgr.c (working copy) @@ -22,7 +22,7 @@ ****************************************************************************/ #include "plugin.h" #include "mpegplayer.h" -#include "grey.h" +#include "lib/grey.h" #include "mpeg_settings.h" #ifndef HAVE_LCD_COLOR Index: apps/plugins/mpegplayer/mpegplayer.make =================================================================== --- apps/plugins/mpegplayer/mpegplayer.make (revision 0) +++ apps/plugins/mpegplayer/mpegplayer.make (revision 0) @@ -0,0 +1,12 @@ +MPEGSRCDIR := $(APPSDIR)/plugins/mpegplayer +MPEGBUILDDIR := $(BUILDDIR)/apps/plugins/mpegplayer + +ROCKS += $(MPEGBUILDDIR)/mpegplayer.rock + +MPEG_SRC := $(call preprocess, $(MPEGSRCDIR)/SOURCES) +MPEG_OBJ := $(call c2obj, $(MPEG_SRC)) + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(MPEG_SRC) + +$(MPEGBUILDDIR)/mpegplayer.rock: $(MPEG_OBJ) $(CODECDIR)/libmad-mpeg.a Index: apps/plugins/mpegplayer/mpegplayer.c =================================================================== --- apps/plugins/mpegplayer/mpegplayer.c (revision 19100) +++ apps/plugins/mpegplayer/mpegplayer.c (working copy) @@ -101,7 +101,7 @@ *****************************************************************************/ #include "plugin.h" #include "mpegplayer.h" -#include "helper.h" +#include "lib/helper.h" #include "mpeg_settings.h" #include "mpeg2.h" #include "video_out.h" Index: apps/plugins/mpegplayer/mpeg_settings.c =================================================================== --- apps/plugins/mpegplayer/mpeg_settings.c (revision 19100) +++ apps/plugins/mpegplayer/mpeg_settings.c (working copy) @@ -1,5 +1,5 @@ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" #include "lib/configfile.h" #include "lib/oldmenuapi.h" Index: apps/plugins/mpegplayer/video_thread.c =================================================================== --- apps/plugins/mpegplayer/video_thread.c (revision 19100) +++ apps/plugins/mpegplayer/video_thread.c (working copy) @@ -23,7 +23,7 @@ #include "plugin.h" #include "mpegplayer.h" #include "mpeg2dec_config.h" -#include "grey.h" +#include "lib/grey.h" #include "video_out.h" #include "mpeg_settings.h" Index: apps/plugins/fire.c =================================================================== --- apps/plugins/fire.c (revision 19100) +++ apps/plugins/fire.c (working copy) @@ -22,14 +22,14 @@ ****************************************************************************/ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" #ifdef HAVE_LCD_BITMAP -#include "pluginlib_actions.h" -#include "fixedpoint.h" +#include "lib/pluginlib_actions.h" +#include "lib/fixedpoint.h" #ifndef HAVE_LCD_COLOR -#include "grey.h" +#include "lib/grey.h" #endif #if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) Index: apps/plugins/solitaire.c =================================================================== --- apps/plugins/solitaire.c (revision 19100) +++ apps/plugins/solitaire.c (working copy) @@ -20,11 +20,11 @@ ****************************************************************************/ #include "plugin.h" -#include "playback_control.h" -#include "configfile.h" +#include "lib/playback_control.h" +#include "lib/configfile.h" #include "button.h" #include "lcd.h" -#include "oldmenuapi.h" +#include "lib/oldmenuapi.h" #ifdef HAVE_LCD_BITMAP Index: apps/plugins/rocklife.c =================================================================== --- apps/plugins/rocklife.c (revision 19100) +++ apps/plugins/rocklife.c (working copy) @@ -61,8 +61,8 @@ */ #include "plugin.h" -#include "pluginlib_actions.h" -#include "helper.h" +#include "lib/pluginlib_actions.h" +#include "lib/helper.h" PLUGIN_HEADER Index: apps/plugins/midi/midi.make =================================================================== --- apps/plugins/midi/midi.make (revision 0) +++ apps/plugins/midi/midi.make (revision 0) @@ -0,0 +1,20 @@ +MIDISRCDIR := $(APPSDIR)/plugins/midi +MIDIBUILDDIR := $(BUILDDIR)/apps/plugins/midi + +ROCKS += $(MIDIBUILDDIR)/midi.rock + +MIDI_SRC := $(call preprocess, $(MIDISRCDIR)/SOURCES) +MIDI_OBJ := $(call c2obj, $(MIDI_SRC)) + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(MIDI_SRC) + +$(MIDIBUILDDIR)/midi.rock: $(MIDI_OBJ) +# for unknown reasons, this doesn't match the rule in plugins.make, +# so we have to duplicate the link command here + $(SILENT)$(CC) $(PLUGINFLAGS) -o $(BUILDDIR)/$*.elf \ + $(filter %.o, $^) \ + $(filter %.a, $^) \ + -lgcc -T$(PLUGINLINK_LDS) \ + -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/$*.map + $(call PRINTS,LD $(@F))$(OC) -O binary $(BUILDDIR)/$*.elf $(BUILDDIR)/$*.rock Index: apps/plugins/pictureflow.c =================================================================== --- apps/plugins/pictureflow.c (revision 19100) +++ apps/plugins/pictureflow.c (working copy) @@ -24,10 +24,10 @@ ****************************************************************************/ #include "plugin.h" -#include "pluginlib_actions.h" -#include "helper.h" -#include "bmp.h" -#include "picture.h" +#include "lib/pluginlib_actions.h" +#include "lib/helper.h" +#include "lib/bmp.h" +#include "lib/picture.h" #include "pluginbitmaps/pictureflow_logo.h" #include "pluginbitmaps/pictureflow_emptyslide.h" Index: apps/plugins/dice.c =================================================================== --- apps/plugins/dice.c (revision 19100) +++ apps/plugins/dice.c (working copy) @@ -20,8 +20,8 @@ ****************************************************************************/ #include "plugin.h" -#include "pluginlib_actions.h" -#include "configfile.h" +#include "lib/pluginlib_actions.h" +#include "lib/configfile.h" #define MAX_DICES 12 #define INITIAL_NB_DICES 1 Index: apps/plugins/bounce.c =================================================================== --- apps/plugins/bounce.c (revision 19100) +++ apps/plugins/bounce.c (working copy) @@ -20,7 +20,7 @@ **************************************************************************/ #include "plugin.h" #include "time.h" -#include "fixedpoint.h" +#include "lib/fixedpoint.h" PLUGIN_HEADER Index: apps/plugins/shortcuts/shortcuts.make =================================================================== --- apps/plugins/shortcuts/shortcuts.make (revision 0) +++ apps/plugins/shortcuts/shortcuts.make (revision 0) @@ -0,0 +1,16 @@ +SHCUTSRCDIR := $(APPSDIR)/plugins/shortcuts +SHCUTBUILDDIR := $(BUILDDIR)/apps/plugins/shortcuts + +ROCKS += $(SHCUTBUILDDIR)/shortcuts_view.rock +ROCKS += $(SHCUTBUILDDIR)/shortcuts_append.rock + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(SHCUTSRCDIR)/shortcuts_common.c \ + $(SHCUTSRCDIR)/shortcuts_view.c \ + $(SHCUTSRCDIR)/shortcuts_append.c + +$(SHCUTBUILDDIR)/shortcuts_view.rock: \ + $(SHCUTBUILDDIR)/shortcuts_common.o $(SHCUTBUILDDIR)/shortcuts_view.o + +$(SHCUTBUILDDIR)/shortcuts_append.rock: \ + $(SHCUTBUILDDIR)/shortcuts_common.o $(SHCUTBUILDDIR)/shortcuts_append.o Index: apps/plugins/doom/SOURCES =================================================================== --- apps/plugins/doom/SOURCES (revision 0) +++ apps/plugins/doom/SOURCES (revision 0) @@ -0,0 +1,62 @@ +info.c +doomdef.c +doomstat.c +dstrings.c +tables.c +f_finale.c +f_wipe.c +d_net.c +d_items.c +g_game.c +m_menu.c +m_argv.c +m_cheat.c +m_random.c +am_map.c +p_ceilng.c +p_doors.c +p_genlin.c +p_enemy.c +p_floor.c +p_inter.c +p_lights.c +p_map.c +p_maputl.c +p_plats.c +p_pspr.c +p_setup.c +p_sight.c +p_spec.c +p_switch.c +p_mobj.c +p_telept.c +p_tick.c +p_saveg.c +p_user.c +r_bsp.c +r_data.c +r_draw.c +r_main.c +r_plane.c +r_segs.c +r_sky.c +r_things.c +wi_stuff.c +v_video.c +st_lib.c +st_stuff.c +hu_stuff.c +hu_lib.c +s_sound.c +z_zone.c +z_bmalloc.c +sounds.c +d_main.c +m_misc.c +m_bbox.c +i_system.c +i_sound.c +i_video.c +w_wad.c +rockdoom.c +d_deh.c Index: apps/plugins/doom/doom.make =================================================================== --- apps/plugins/doom/doom.make (revision 0) +++ apps/plugins/doom/doom.make (revision 0) @@ -0,0 +1,46 @@ +DOOMSRCDIR := $(APPSDIR)/plugins/doom +DOOMBUILDDIR := $(BUILDDIR)/apps/plugins/doom + +ROCKS += $(DOOMBUILDDIR)/doom.rock + +DOOM_SRC := $(call preprocess, $(DOOMSRCDIR)/SOURCES) +DOOM_OBJ := $(call c2obj, $(DOOM_SRC)) +DOOM_OBJ += $(DOOMBUILDDIR)/sscanf.o + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(DOOM_SRC) + +DOOMCFLAGS = $(PLUGINFLAGS) -Wno-strict-prototypes + +# The arm code compiles too large for the plugin buffer when set to optimize for speed +ifeq ($(CPU), arm) + DOOMCFLAGS += -Os +ifndef SIMVER +ifeq ($(TARGET), IRIVER_H100) + DOOMCCFLAGS += -mstructure-size-boundary=8 +endif +endif +else + DOOMCFLAGS += -O2 +endif + +$(DOOMBUILDDIR)/sscanf.c: $(FIRMDIR)/common/sscanf.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CP $<)cp $< $@ + +$(DOOMBUILDDIR)/sscanf.o: $(DOOMBUILDDIR)/sscanf.c + +$(DOOMBUILDDIR)/doom.rock: $(DOOM_OBJ) +# for unknown reasons, this doesn't match the rule in plugins.make, +# so we have to duplicate the link command here + $(SILENT)$(CC) $(PLUGINFLAGS) -o $(BUILDDIR)/$*.elf \ + $(filter %.o, $^) \ + $(filter %.a, $^) \ + -lgcc -T$(PLUGINLINK_LDS) \ + -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/$*.map + $(call PRINTS,LD $(@F))$(OC) -O binary $(BUILDDIR)/$*.elf $(BUILDDIR)/$*.rock + +# new rule needed to use extra compile flags +$(DOOMBUILDDIR)/%.o: $(DOOMSRCDIR)/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(DOOMCFLAGS) -c $< -o $@ Index: apps/plugins/cube.c =================================================================== --- apps/plugins/cube.c (revision 19100) +++ apps/plugins/cube.c (working copy) @@ -21,10 +21,10 @@ * ***************************************************************************/ #include "plugin.h" -#include "grey.h" -#include "playergfx.h" -#include "xlcd.h" -#include "fixedpoint.h" +#include "lib/grey.h" +#include "lib/playergfx.h" +#include "lib/xlcd.h" +#include "lib/fixedpoint.h" PLUGIN_HEADER Index: apps/plugins/greyscale.c =================================================================== --- apps/plugins/greyscale.c (revision 19100) +++ apps/plugins/greyscale.c (working copy) @@ -22,10 +22,10 @@ ****************************************************************************/ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" #if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) -#include "grey.h" +#include "lib/grey.h" PLUGIN_HEADER Index: apps/plugins/vu_meter.c =================================================================== --- apps/plugins/vu_meter.c (revision 19100) +++ apps/plugins/vu_meter.c (working copy) @@ -18,7 +18,7 @@ * **************************************************************************/ #include "plugin.h" -#include "fixedpoint.h" +#include "lib/fixedpoint.h" #if defined(HAVE_LCD_BITMAP) Index: apps/plugins/snow.c =================================================================== --- apps/plugins/snow.c (revision 19100) +++ apps/plugins/snow.c (working copy) @@ -19,7 +19,7 @@ * **************************************************************************/ #include "plugin.h" -#include "playergfx.h" +#include "lib/playergfx.h" PLUGIN_HEADER Index: apps/plugins/rockboy/rockboy.make =================================================================== --- apps/plugins/rockboy/rockboy.make (revision 0) +++ apps/plugins/rockboy/rockboy.make (revision 0) @@ -0,0 +1,43 @@ +ROCKBOY_SRCDIR = $(APPSDIR)/plugins/rockboy +ROCKBOY_OBJDIR = $(BUILDDIR)/apps/plugins/rockboy + +ROCKBOY_SRC := $(call preprocess, $(ROCKBOY_SRCDIR)/SOURCES) +ROCKBOY_OBJ := $(call c2obj, $(ROCKBOY_SRC)) +ROCKBOY_OBJ += $(ROCKBOY_OBJDIR)/sscanf.o +ROCKBOY_OUTLDS := $(ROCKBOY_OBJDIR)/rockboy.lds + +OTHER_SRC += $(ROCKBOY_SRC) + +ifndef SIMVER +ifneq (,$(findstring RECORDER,$(TARGET))) + ## archos recorder targets + ROCKBOY_INLDS := $(ROCKBOY_SRCDIR)/archos.lds + ROCKS += $(ROCKBOY_OBJDIR)/rockboy.ovl +else + ### all other targets + ROCKBOY_INLDS := $(APPSDIR)/plugins/plugin.lds + ROCKS += $(ROCKBOY_OBJDIR)/rockboy.rock +endif +else + ### simulator + ROCKS += $(ROCKBOY_OBJDIR)/rockboy.rock +endif + +$(ROCKBOY_OBJDIR)/sscanf.c: $(FIRMDIR)/common/sscanf.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CP $<)cp $< $@ + +$(ROCKBOY_OBJDIR)/sscanf.o: $(ROCKBOY_OBJDIR)/sscanf.c + +$(ROCKBOY_OUTLDS): $(ROCKBOY_INLDS) $(ROCKBOY_OBJ) + $(call PRINTS,PP $( -#include "playback_control.h" -#include "oldmenuapi.h" +#include "lib/playback_control.h" +#include "lib/oldmenuapi.h" PLUGIN_HEADER Index: apps/plugins/mazezam.c =================================================================== --- apps/plugins/mazezam.c (revision 19100) +++ apps/plugins/mazezam.c (working copy) @@ -20,10 +20,10 @@ * ****************************************************************************/ #include "plugin.h" -#include "configfile.h" -#include "helper.h" -#include "pluginlib_actions.h" -#include "playback_control.h" +#include "lib/configfile.h" +#include "lib/helper.h" +#include "lib/pluginlib_actions.h" +#include "lib/playback_control.h" /* Include standard plugin macro */ PLUGIN_HEADER Index: apps/plugins/metronome.c =================================================================== --- apps/plugins/metronome.c (revision 19100) +++ apps/plugins/metronome.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "pluginlib_actions.h" +#include "lib/pluginlib_actions.h" PLUGIN_HEADER Index: apps/plugins/rockboy.c =================================================================== --- apps/plugins/rockboy.c (revision 19100) +++ apps/plugins/rockboy.c (working copy) @@ -24,7 +24,7 @@ #if MEM <= 8 && !defined(SIMULATOR) -#include "overlay.h" +#include "lib/overlay.h" PLUGIN_HEADER Index: apps/plugins/demystify.c =================================================================== --- apps/plugins/demystify.c (revision 19100) +++ apps/plugins/demystify.c (working copy) @@ -24,8 +24,8 @@ #include "plugin.h" #ifdef HAVE_LCD_BITMAP -#include "pluginlib_actions.h" -#include "helper.h" +#include "lib/pluginlib_actions.h" +#include "lib/helper.h" PLUGIN_HEADER #define DEFAULT_WAIT_TIME 3 Index: apps/plugins/bubbles.c =================================================================== --- apps/plugins/bubbles.c (revision 19100) +++ apps/plugins/bubbles.c (working copy) @@ -25,9 +25,9 @@ #ifdef HAVE_LCD_BITMAP -#include "xlcd.h" -#include "pluginlib_actions.h" -#include "fixedpoint.h" +#include "lib/xlcd.h" +#include "lib/pluginlib_actions.h" +#include "lib/fixedpoint.h" PLUGIN_HEADER Index: apps/plugins/mosaique.c =================================================================== --- apps/plugins/mosaique.c (revision 19100) +++ apps/plugins/mosaique.c (working copy) @@ -19,7 +19,7 @@ * **************************************************************************/ #include "plugin.h" -#include "playergfx.h" +#include "lib/playergfx.h" PLUGIN_HEADER Index: apps/plugins/test_fps.c =================================================================== --- apps/plugins/test_fps.c (revision 19100) +++ apps/plugins/test_fps.c (working copy) @@ -19,8 +19,8 @@ * ****************************************************************************/ #include "plugin.h" -#include "helper.h" -#include "grey.h" +#include "lib/helper.h" +#include "lib/grey.h" #ifdef HAVE_LCD_BITMAP Index: apps/plugins/robotfindskitten.c =================================================================== --- apps/plugins/robotfindskitten.c (revision 19100) +++ apps/plugins/robotfindskitten.c (working copy) @@ -29,7 +29,7 @@ */ #include "plugin.h" -#include "pluginlib_actions.h" +#include "lib/pluginlib_actions.h" /* This macros must always be included. Should be placed at the top by convention, although the actual position doesn't matter */ Index: apps/plugins/jewels.c =================================================================== --- apps/plugins/jewels.c (revision 19100) +++ apps/plugins/jewels.c (working copy) @@ -22,7 +22,7 @@ ****************************************************************************/ #include "plugin.h" -#include "playback_control.h" +#include "lib/playback_control.h" #ifdef HAVE_LCD_BITMAP Index: apps/plugins/wormlet.c =================================================================== --- apps/plugins/wormlet.c (revision 19100) +++ apps/plugins/wormlet.c (working copy) @@ -19,8 +19,8 @@ * ****************************************************************************/ #include "plugin.h" -#include "configfile.h" -#include "helper.h" +#include "lib/configfile.h" +#include "lib/helper.h" PLUGIN_HEADER Index: apps/plugins/invadrox.c =================================================================== --- apps/plugins/invadrox.c (revision 19100) +++ apps/plugins/invadrox.c (working copy) @@ -26,8 +26,8 @@ */ #include "plugin.h" -#include "highscore.h" -#include "helper.h" +#include "lib/highscore.h" +#include "lib/helper.h" PLUGIN_HEADER Index: apps/plugins/rockpaint.c =================================================================== --- apps/plugins/rockpaint.c (revision 19100) +++ apps/plugins/rockpaint.c (working copy) @@ -29,7 +29,6 @@ */ #include "plugin.h" -#include "errno.h" #include "lib/bmp.h" #include "lib/rgb_hsv.h" Index: apps/plugins/text_editor.c =================================================================== --- apps/plugins/text_editor.c (revision 19100) +++ apps/plugins/text_editor.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "playback_control.h" +#include "lib/playback_control.h" #if PLUGIN_BUFFER_SIZE > 0x45000 #define MAX_CHARS 0x40000 /* 128 kiB */ Index: apps/plugins/pacbox/pacbox.make =================================================================== --- apps/plugins/pacbox/pacbox.make (revision 0) +++ apps/plugins/pacbox/pacbox.make (revision 0) @@ -0,0 +1,12 @@ +PACBOXSRCDIR := $(APPSDIR)/plugins/pacbox +PACBOXBUILDDIR := $(BUILDDIR)/apps/plugins/pacbox + +ROCKS += $(PACBOXBUILDDIR)/pacbox.rock + +PACBOX_SRC := $(call preprocess, $(PACBOXSRCDIR)/SOURCES) +PACBOX_OBJ := $(call c2obj, $(PACBOX_SRC)) + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(PACBOX_SRC) + +$(PACBOXBUILDDIR)/pacbox.rock: $(PACBOX_OBJ) Index: apps/plugins/credits.c =================================================================== --- apps/plugins/credits.c (revision 19100) +++ apps/plugins/credits.c (working copy) @@ -19,7 +19,7 @@ * ****************************************************************************/ #include "plugin.h" -#include "helper.h" +#include "lib/helper.h" PLUGIN_HEADER Index: apps/bitmaps/bitmaps.make =================================================================== --- apps/bitmaps/bitmaps.make (revision 0) +++ apps/bitmaps/bitmaps.make (revision 0) @@ -0,0 +1,31 @@ +BMPINCDIR := $(BUILDDIR)/bitmaps + +INCLUDES += -I$(BMPINCDIR) +BMP = $(call preprocess, $(APPSDIR)/bitmaps/mono/SOURCES) +BMP += $(call preprocess, $(APPSDIR)/bitmaps/native/SOURCES) +BMP += $(call preprocess, $(APPSDIR)/bitmaps/remote_mono/SOURCES) +BMP += $(call preprocess, $(APPSDIR)/bitmaps/remote_native/SOURCES) + +BMPOBJ = $(BMP:$(ROOTDIR)/%.bmp=$(BUILDDIR)/%.o); +BMPSRC = $(BMP:$(ROOTDIR)/%.bmp=$(BUILDDIR)/%.c); + +$(BMPINCDIR)/usblogo.h $(BMPINCDIR)/default_icons.h $(BMPINCDIR)/rockboxlogo.h: $(BMPOBJ) + +# pattern rule to create .c files from .bmp +$(BUILDDIR)/%.c: $(ROOTDIR)/%.bmp + $(SILENT)mkdir -p $(dir $@) $(BMPINCDIR) + $(call PRINTS,BMP2RB $( $@ + +# function to create .bmp dependencies +bmpdepfile = $(shell \ + for each in $(2); do \ + obj=`echo $$each | sed -e 's/\.bmp/.o/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \ + src=`echo $$each | sed -e 's/\.bmp/.c/' -e 's:$(ROOTDIR):$(BUILDDIR):'`; \ + echo $$obj: $$src; \ + echo $$src: $$each; \ + done \ + >> $(1); ) + +clean-bitmaps: + $(SILENT)rm $(BMPOBJ) $(BMPSRC) + $(SILENT)rmdir $(BMPINCDIR) Index: apps/apps.make =================================================================== --- apps/apps.make (revision 0) +++ apps/apps.make (revision 0) @@ -0,0 +1,10 @@ +INCLUDES += -I$(APPSDIR) $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA))) +SRC += $(call preprocess, $(APPSDIR)/SOURCES) + +$(BUILDDIR)/apps/features $(BUILDDIR)/apps/genlang-features: $(APPSDIR)/features.txt + $(SILENT)mkdir -p $(dir $@) + $(SILENT)cat $< | $(HOSTCC) $(INCLUDES) $(DEFINES) $(EXTRA_DEFINES) \ + -E -P -imacros "config.h" -imacros "button.h" - | \ + grep -v "^\#" | grep -v "^$$" > $@; \ + for f in `cat $@`; do feat="$$feat:$$f" ; done ; \ + echo "$$feat" >$(BUILDDIR)/apps/genlang-features Index: apps/codecs/ape.c =================================================================== --- apps/codecs/ape.c (revision 19100) +++ apps/codecs/ape.c (working copy) @@ -20,7 +20,6 @@ ****************************************************************************/ #include "codeclib.h" -#define ROCKBOX #include CODEC_HEADER Index: apps/codecs/libmad/libmad.make =================================================================== --- apps/codecs/libmad/libmad.make (revision 0) +++ apps/codecs/libmad/libmad.make (revision 0) @@ -0,0 +1,44 @@ +# we need to build two different mad libraries +# (one for codec, one for mpegplayer) +# so a little trickery is necessary + +MADFLAGS := $(CODECFLAGS) -UDEBUG -DNDEBUG -O2 -I$(APPSDIR)/codecs/libmad +MPEGMADFLAGS := $(MADFLAGS) -DMPEGPLAYER + +# libmad +MADLIB := $(CODECDIR)/libmad.a +MADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmad/SOURCES) +MADLIB_OBJ := $(call c2obj, $(MADLIB_SRC)) + +$(MADLIB): $(MADLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libmad-mpeg +MPEGMADLIB := $(CODECDIR)/libmad-mpeg.a +MPEGMADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmad/SOURCES) +MPEGMADLIB_OBJ := $(subst .c,.o,$(subst .S,.o,$(subst $(ROOTDIR)/apps/codecs/libmad,$(BUILDDIR)/apps/codecs/libmad-mpeg,$(MPEGMADLIB_SRC)))) + +$(MPEGMADLIB): $(MPEGMADLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# pattern rules + +$(CODECDIR)/libmad-mpeg/%.o : $(ROOTDIR)/apps/codecs/libmad/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(MPEGMADFLAGS) -c $< -o $@ + +$(CODECDIR)/libmad-mpeg/%.o : $(ROOTDIR)/apps/codecs/libmad/%.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(MPEGMADFLAGS) -c $< -o $@ + +$(CODECDIR)/libmad/%.o: $(ROOTDIR)/apps/codecs/libmad/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(MADFLAGS) -c $< -o $@ + +$(CODECDIR)/libmad/%.o: $(ROOTDIR)/apps/codecs/libmad/%.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(MADFLAGS) -c $< -o $@ Index: apps/codecs/codecs.make =================================================================== --- apps/codecs/codecs.make (revision 0) +++ apps/codecs/codecs.make (revision 0) @@ -0,0 +1,195 @@ +CODECDIR = $(BUILDDIR)/apps/codecs +CODECS_SRC := $(call preprocess, $(APPSDIR)/codecs/SOURCES) +OTHER_SRC += $(PLUGINS_SRC) + +CODECS := $(CODECS_SRC:.c=.codec) +CODECS := $(subst $(ROOTDIR),$(BUILDDIR),$(CODECS)) + +#### all codec libraries #### + +# libcodec - the codec helper library +CODECLIB := $(CODECDIR)/libcodec.a +CODECLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/lib/SOURCES) +CODECLIB_OBJ := $(call c2obj, $(CODECLIB_SRC)) + +$(CODECLIB): $(CODECLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libdemac +DEMACLIB := $(CODECDIR)/libdemac.a +DEMACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/demac/libdemac/SOURCES) +DEMACLIB_OBJ := $(call c2obj, $(DEMACLIB_SRC)) + +$(DEMACLIB): $(DEMACLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# liba52 +A52LIB := $(CODECDIR)/liba52.a +A52LIB_SRC := $(call preprocess, $(APPSDIR)/codecs/liba52/SOURCES) +A52LIB_OBJ := $(call c2obj, $(A52LIB_SRC)) + +$(A52LIB): $(A52LIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libalac +ALACLIB := $(CODECDIR)/libalac.a +ALACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libalac/SOURCES) +ALACLIB_OBJ := $(call c2obj, $(ALACLIB_SRC)) + +$(ALACLIB): $(ALACLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libasap +ASAPLIB := $(CODECDIR)/libasap.a +ASAPLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libasap/SOURCES) +ASAPLIB_OBJ := $(call c2obj, $(ASAPLIB_SRC)) + +$(ASAPLIB): $(ASAPLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libfaad +FAADLIB := $(CODECDIR)/libfaad.a +FAADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libfaad/SOURCES) +FAADLIB_OBJ := $(call c2obj, $(FAADLIB_SRC)) + +$(FAADLIB): $(FAADLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +$(CODECDIR)/libfaad/%.o: $(ROOTDIR)/apps/codecs/libfaad/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \ + -I$(APPSDIR)/codecs/libfaad \ + $(CODECFLAGS) $(CFLAGS) -c $< -o $@ + + +# libffmpegFLAC +FFMPEGFLACLIB := $(CODECDIR)/libffmpegFLAC.a +FFMPEGFLACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libffmpegFLAC/SOURCES) +FFMPEGFLACLIB_OBJ := $(call c2obj, $(FFMPEGFLACLIB_SRC)) + +$(FFMPEGFLACLIB): $(FFMPEGFLACLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libm4a +M4ALIB := $(CODECDIR)/libm4a.a +M4ALIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libm4a/SOURCES) +M4ALIB_OBJ := $(call c2obj, $(M4ALIB_SRC)) + +$(M4ALIB): $(M4ALIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libmusepack +MUSEPACKLIB := $(CODECDIR)/libmusepack.a +MUSEPACKLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmusepack/SOURCES) +MUSEPACKLIB_OBJ := $(call c2obj, $(MUSEPACKLIB_SRC)) + +$(MUSEPACKLIB): $(MUSEPACKLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +$(CODECDIR)/libmusepack/%.o: $(ROOTDIR)/apps/codecs/libmusepack/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \ + -I$(APPSDIR)/codecs/libmusepack \ + $(CODECFLAGS) $(CFLAGS) -c $< -o $@ + +# libspc +SPCLIB := $(CODECDIR)/libspc.a +SPCLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libspc/SOURCES) +SPCLIB_OBJ := $(call c2obj, $(SPCLIB_SRC)) + +$(SPCLIB): $(SPCLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libtremor +TREMORLIB := $(CODECDIR)/libtremor.a +TREMORLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libtremor/SOURCES) +TREMORLIB_OBJ := $(call c2obj, $(TREMORLIB_SRC)) + +$(TREMORLIB): $(TREMORLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +$(CODECDIR)/libtremor/%.o: $(ROOTDIR)/apps/codecs/libtremor/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \ + -I$(APPSDIR)/codecs/libtremor \ + $(CODECFLAGS) $(CFLAGS) -c $< -o $@ + +# libwavpack +WAVPACKLIB := $(CODECDIR)/libwavpack.a +WAVPACKLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libwavpack/SOURCES) +WAVPACKLIB_OBJ := $(call c2obj, $(WAVPACKLIB_SRC)) + +$(WAVPACKLIB): $(WAVPACKLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libwma +WMALIB := $(CODECDIR)/libwma.a +WMALIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libwma/SOURCES) +WMALIB_OBJ := $(call c2obj, $(WMALIB_SRC)) + +$(WMALIB): $(WMALIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +##### end of codec libraries #### + +CODEC_LDS := $(APPSDIR)/plugins/plugin.lds # codecs and plugins use same file +CODECLINK_LDS := $(CODECDIR)/codeclink.lds +CODEC_CRT0 := $(CODECDIR)/codec_crt0.o + +# special compile flags for codecs: +CODECFLAGS = $(CFLAGS) -O3 -I$(APPSDIR)/codecs -I$(APPSDIR)/codecs/lib \ + -DROCKBOX -DCODEC -UDEBUG -DNDEBUG + +# libspeex +include $(APPSDIR)/codecs/libspeex/libspeex.make + +# libmad +include $(APPSDIR)/codecs/libmad/libmad.make + +CODECLIBS := $(DEMACLIB) $(A52LIB) $(ALACLIB) $(ASAPLIB) \ + $(FAADLIB) $(FFMPEGFLACLIB) $(M4ALIB) $(MADLIB) $(MUSEPACKLIB) \ + $(SPCLIB) $(SPEEXLIB) $(TREMORLIB) $(WAVPACKLIB) $(WMALIB) \ + $(CODECLIB) + +$(CODECS): $(CODEC_CRT0) $(CODECLINK_LDS) + +$(CODECLINK_LDS): $(CODEC_LDS) + $(call PRINTS,PP $(@F))$(CC) $(CFLAGS) -E -P -x c $< >$@ + +# special codec dependencies +$(CODECDIR)/spc.codec : $(CODECDIR)/libspc.a +$(CODECDIR)/mpa.codec : $(CODECDIR)/libmad.a +$(CODECDIR)/a52.codec : $(CODECDIR)/liba52.a +$(CODECDIR)/flac.codec : $(CODECDIR)/libffmpegFLAC.a +$(CODECDIR)/vorbis.codec : $(CODECDIR)/libtremor.a +$(CODECDIR)/speex.codec : $(CODECDIR)/libspeex.a +$(CODECDIR)/mpc.codec : $(CODECDIR)/libmusepack.a +$(CODECDIR)/wavpack.codec : $(CODECDIR)/libwavpack.a +$(CODECDIR)/alac.codec : $(CODECDIR)/libalac.a $(CODECDIR)/libm4a.a +$(CODECDIR)/aac.codec : $(CODECDIR)/libfaad.a $(CODECDIR)/libm4a.a +$(CODECDIR)/shorten.codec : $(CODECDIR)/libffmpegFLAC.a +$(CODECDIR)/ape.codec : $(CODECDIR)/libdemac.a +$(CODECDIR)/wma.codec : $(CODECDIR)/libwma.a +$(CODECDIR)/wavpack_enc.codec: $(CODECDIR)/libwavpack.a +$(CODECDIR)/asap.codec : $(CODECDIR)/libasap.a + +$(CODECS): $(CODECLIB) # this must be last in codec dependency list + +# libfaad and libmusepack both contain a huffman.h file, with different +# content. So we compile them with special command lines: + +# pattern rule for compiling codecs +$(CODECDIR)/%.o: $(ROOTDIR)/apps/codecs/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CODECFLAGS) -c $< -o $@ + +$(CODECDIR)/%.codec: $(CODECDIR)/%.o + $(call PRINTS,LD $(@F))$(CC) $(CODECFLAGS) -o $(CODECDIR)/$*.elf \ + $(filter %.o, $^) \ + $(filter %.a, $^) \ + -lgcc -T$(CODECLINK_LDS) \ + -Wl,--gc-sections -Wl,-Map,$(CODECDIR)/$*.map + $(call PRINTS,OC $(@F))$(OC) -O binary $(CODECDIR)/$*.elf $@ + +# -L$(CODECDIR) \ +# $(patsubst $(CODECDIR)/lib%.a,-l%,$(filter %.a, $^)) \ Index: apps/codecs/wma.c =================================================================== --- apps/codecs/wma.c (revision 19100) +++ apps/codecs/wma.c (working copy) @@ -464,7 +464,7 @@ int wmares, res; uint8_t* audiobuf; int audiobufsize; - int packetlength; + int packetlength = 0; int errcount = 0; /* Generic codec initialisation */ Index: apps/codecs/libspeex/libspeex.make =================================================================== --- apps/codecs/libspeex/libspeex.make (revision 0) +++ apps/codecs/libspeex/libspeex.make (revision 0) @@ -0,0 +1,45 @@ +# we need to build two different speex libraries +# (one for codec, one for core voice) +# so a little trickery is necessary + +SPEEXFLAGS := $(CODECFLAGS) -DHAVE_CONFIG_H -DSPEEX_DISABLE_ENCODER \ + -I$(APPSDIR)/codecs/libspeex +VOICESPEEXFLAGS := $(SPEEXFLAGS) -DROCKBOX_VOICE_CODEC + +# libspeex +SPEEXLIB := $(CODECDIR)/libspeex.a +SPEEXLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libspeex/SOURCES) +SPEEXLIB_OBJ := $(call c2obj, $(SPEEXLIB_SRC)) + +$(SPEEXLIB): $(SPEEXLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# libspeex-voice +VOICESPEEXLIB := $(CODECDIR)/libspeex-voice.a +VOICESPEEXLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libspeex/SOURCES) +VOICESPEEXLIB_OBJ := $(subst .c,.o,$(subst .S,.o,$(subst $(ROOTDIR)/apps/codecs/libspeex,$(BUILDDIR)/apps/codecs/libspeex-voice,$(VOICESPEEXLIB_SRC)))) + +$(VOICESPEEXLIB): $(VOICESPEEXLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1 + +# pattern rules + +$(CODECDIR)/libspeex-voice/%.o : $(ROOTDIR)/apps/codecs/libspeex/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(VOICESPEEXFLAGS) -c $< -o $@ + +$(CODECDIR)/libspeex-voice/%.o : $(ROOTDIR)/apps/codecs/libspeex/%.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(VOICESPEEXFLAGS) -c $< -o $@ + +$(CODECDIR)/libspeex/%.o: $(ROOTDIR)/apps/codecs/libspeex/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(SPEEXFLAGS) -c $< -o $@ + +$(CODECDIR)/libspeex/%.o: $(ROOTDIR)/apps/codecs/libspeex/%.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(SPEEXFLAGS) -c $< -o $@ Index: apps/codecs/libspeex/cb_search.c =================================================================== --- apps/codecs/libspeex/cb_search.c (revision 19100) +++ apps/codecs/libspeex/cb_search.c (working copy) @@ -522,6 +522,9 @@ spx_int32_t *seed ) { + (void)nsf; + (void)stack; + (void)seed; int i,j; VARDECL(int *ind); VARDECL(int *signs); @@ -609,6 +612,9 @@ spx_int32_t *seed ) { + (void)par; + (void)bits; + (void)stack; int i; /* FIXME: This is bad, but I don't think the function ever gets called anyway */ for (i=0;i63) Index: apps/codecs/libspeex/filters.c =================================================================== --- apps/codecs/libspeex/filters.c (revision 19100) +++ apps/codecs/libspeex/filters.c (working copy) @@ -681,6 +681,9 @@ char *stack ) { + (void)ak; + (void)p; + (void)stack; int i; VARDECL(spx_word16_t *iexc); spx_word16_t old_ener, new_ener; Index: apps/codecs/libspeex/rockbox.h =================================================================== --- apps/codecs/libspeex/rockbox.h (revision 19100) +++ apps/codecs/libspeex/rockbox.h (working copy) @@ -75,6 +75,9 @@ #define OVERRIDE_SPEEX_FATAL 1 static inline void _speex_fatal(const char *str, const char *file, int line) { + (void)str; + (void)file; + (void)line; DEBUGF("Fatal error: %s\n", str); //exit(1); } @@ -82,24 +85,30 @@ #define OVERRIDE_SPEEX_WARNING 1 static inline void speex_warning(const char *str) { + (void)str; DEBUGF("warning: %s\n", str); } #define OVERRIDE_SPEEX_WARNING_INT 1 static inline void speex_warning_int(const char *str, int val) { + (void)str; + (void)val; DEBUGF("warning: %s %d\n", str, val); } #define OVERRIDE_SPEEX_NOTIFY 1 static inline void speex_notify(const char *str) { + (void)str; DEBUGF("notice: %s\n", str); } #define OVERRIDE_SPEEX_PUTC 1 static inline void _speex_putc(int ch, void *file) { + (void)ch; + (void)file; //FILE *f = (FILE *)file; //printf("%c", ch); } Index: apps/codecs/libspeex/ltp_arm4.h =================================================================== --- apps/codecs/libspeex/ltp_arm4.h (revision 19100) +++ apps/codecs/libspeex/ltp_arm4.h (working copy) @@ -87,6 +87,7 @@ #define OVERRIDE_PITCH_XCORR void pitch_xcorr(const spx_word16_t *_x, const spx_word16_t *_y, spx_word32_t *corr, int len, int nb_pitch, char *stack) { + (void)stack; int i,j; for (i=0;i /** Basic configuration options **/ Index: firmware/rom.lds =================================================================== --- firmware/rom.lds (revision 19100) +++ firmware/rom.lds (working copy) @@ -4,19 +4,14 @@ #ifdef CPU_COLDFIRE OUTPUT_FORMAT(elf32-m68k) -STARTUP(target/coldfire/crt0.o) #elif defined(CPU_PP) OUTPUT_FORMAT(elf32-littlearm) -STARTUP(target/arm/crt0-pp.o) #elif defined(CPU_ARM) OUTPUT_FORMAT(elf32-littlearm) -STARTUP(target/arm/crt0.o) #elif CONFIG_CPU == SH7034 OUTPUT_FORMAT(elf32-sh) -STARTUP(target/sh/crt0.o) #else OUTPUT_FORMAT(elf32-sh) -STARTUP(crt0.o) #endif Index: firmware/target/arm/tcc780x/app.lds =================================================================== --- firmware/target/arm/tcc780x/app.lds (revision 19100) +++ firmware/target/arm/tcc780x/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/tcc780x/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/pnx0101/app.lds =================================================================== --- firmware/target/arm/pnx0101/app.lds (revision 19100) +++ firmware/target/arm/pnx0101/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/pnx0101/crt0-pnx0101.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/olympus/app.lds =================================================================== --- firmware/target/arm/olympus/app.lds (revision 19100) +++ firmware/target/arm/olympus/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/crt0-pp.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/tcc77x/app.lds =================================================================== --- firmware/target/arm/tcc77x/app.lds (revision 19100) +++ firmware/target/arm/tcc77x/app.lds (working copy) @@ -3,7 +3,6 @@ ENTRY(start) OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/tcc77x/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/as3525/app.lds =================================================================== --- firmware/target/arm/as3525/app.lds (revision 19100) +++ firmware/target/arm/as3525/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/ipod/app.lds =================================================================== --- firmware/target/arm/ipod/app.lds (revision 19100) +++ firmware/target/arm/ipod/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/crt0-pp.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/sandisk/app.lds =================================================================== --- firmware/target/arm/sandisk/app.lds (revision 19100) +++ firmware/target/arm/sandisk/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/crt0-pp.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/tms320dm320/app.lds =================================================================== --- firmware/target/arm/tms320dm320/app.lds (revision 19100) +++ firmware/target/arm/tms320dm320/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/tms320dm320/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/iriver/app.lds =================================================================== --- firmware/target/arm/iriver/app.lds (revision 19100) +++ firmware/target/arm/iriver/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/crt0-pp.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/imx31/app.lds =================================================================== --- firmware/target/arm/imx31/app.lds (revision 19100) +++ firmware/target/arm/imx31/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/imx31/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/s3c2440/app.lds =================================================================== --- firmware/target/arm/s3c2440/app.lds (revision 19100) +++ firmware/target/arm/s3c2440/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/s3c2440/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/arm/philips/app.lds =================================================================== --- firmware/target/arm/philips/app.lds (revision 19100) +++ firmware/target/arm/philips/app.lds (working copy) @@ -4,7 +4,6 @@ OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) -STARTUP(target/arm/crt0-pp.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/coldfire/iriver/app.lds =================================================================== --- firmware/target/coldfire/iriver/app.lds (revision 19100) +++ firmware/target/coldfire/iriver/app.lds (working copy) @@ -3,7 +3,6 @@ ENTRY(start) OUTPUT_FORMAT(elf32-m68k) -STARTUP(target/coldfire/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/coldfire/iaudio/app.lds =================================================================== --- firmware/target/coldfire/iaudio/app.lds (revision 19100) +++ firmware/target/coldfire/iaudio/app.lds (working copy) @@ -3,7 +3,6 @@ ENTRY(start) OUTPUT_FORMAT(elf32-m68k) -STARTUP(target/coldfire/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/target/sh/archos/app.lds =================================================================== --- firmware/target/sh/archos/app.lds (revision 19100) +++ firmware/target/sh/archos/app.lds (working copy) @@ -3,7 +3,6 @@ ENTRY(start) OUTPUT_FORMAT(elf32-sh) -STARTUP(target/sh/crt0.o) #define PLUGINSIZE PLUGIN_BUFFER_SIZE #define CODECSIZE CODEC_SIZE Index: firmware/firmware.make =================================================================== --- firmware/firmware.make (revision 0) +++ firmware/firmware.make (revision 0) @@ -0,0 +1,22 @@ +INCLUDES += -I$(FIRMDIR) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers +SRC += $(call preprocess, $(FIRMDIR)/SOURCES) +SRC += $(ROOTDIR)/sysfont.o + +SYSFONT = $(ROOTDIR)/fonts/08-Schumacher-Clean.bdf + +CLEANOBJS += $(BUILDDIR)/sysfont.* + +# Limits for the built-in sysfont: ASCII for bootloaders, ISO8859-1 for normal builds +ifneq (,$(findstring -DBOOTLOADER,$(EXTRA_DEFINES))) + MAXCHAR = 127 +else + MAXCHAR = 255 +endif + +$(BUILDDIR)/sysfont.h: $(SYSFONT) $(TOOLS) + $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -h -o $@ $< + +$(BUILDDIR)/sysfont.o: $(SYSFONT) $(BUILDDIR)/sysfont.h + $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $< + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@ + Index: uisimulator/sdl/uisdl.h =================================================================== --- uisimulator/sdl/uisdl.h (revision 19100) +++ uisimulator/sdl/uisdl.h (working copy) @@ -23,7 +23,7 @@ #define __UISDL_H__ #include -#include "SDL.h" +#include /* colour definitions are R, G, B */ Index: uisimulator/uisimulator.make =================================================================== --- uisimulator/uisimulator.make (revision 0) +++ uisimulator/uisimulator.make (revision 0) @@ -0,0 +1,18 @@ +ifeq ($(SIMVER), win32) +# OK, this is ugly but we need it on the link line to make it do right +EXTRAOBJ = $(BUILDDIR)/sim/uisw32-res.o +LDOPTS += -lwinmm +endif + +INCLUDES += -I$(ROOTDIR)/uisimulator/sdl -I$(ROOTDIR)/uisimulator/common + +CFLAGS += -DHAVE_CONFIG_H + +SRC += $(call preprocess, $(ROOTDIR)/uisimulator/sdl/SOURCES) +SRC += $(call preprocess, $(ROOTDIR)/uisimulator/common/SOURCES) + +.SECONDEXPANSION: # $$(OBJ) is not populated until after this + +$(BUILDDIR)/$(BINARY): $$(OBJ) $(EXTRAOBJ) $(VOICESPEEXLIB) + $(call PRINTS,LD $(BINARY))$(CC) $(LDOPTS) -o $@ $^ +