Commit graph

100 commits

Author SHA1 Message Date
Thomas Martitz
46137ebd4d simulator: Fully simulate external storage.
The external storage will be created during make install, as simext folder in
the build directory. Upon pressing the e key the sim will mount (virtually
) this into the root directory. It can be accessed in the same way as an
sd/mmc card on real targets. This requires quite some path trickery in io.c.

Change-Id: I2fa9070a3146101ec5655b5b4115ca349d1d4bf4
2014-02-23 20:23:52 +01:00
Lorenzo Miori
e876f4df6d Samsung YP-R1 target port
This is the basic port to the new target Samsung
YP-R1, which runs on a similar platform as YP-R0.
Port is usable, although there are still
some optimizations that have to be done.

Change-Id: If83a8e386369e413581753780c159026d9e41f04
2014-02-05 09:56:21 +01:00
Marcin Bukat
a02f863eef coldfire: Use single app.lds script for all coldfires.
The only true difference in this platform is the amount of iram
between MCF5249 and MCF5250. Instead of duplicating the file
simply use one with proper ifdefs.

Change-Id: Ifd56ebd2666813633502e3b5d83669424659c039
Reviewed-on: http://gerrit.rockbox.org/713
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-01-15 21:15:14 +01:00
Dominik Riebeling
736c3780f1 Change the order of global linker options and -T.
95e23de made -Wl,--gc-sections appear after -T by combining it with the global
linker options. Moving the global linker options in front of -T seems to fix
the crash observed on mini2g after that change -- as it seems the linker
behaves differently if --gc-sections is passed after -T.

Fixes FS#12857.

Change-Id: Id64dc6b91726760d75a1a0cd85bb7c06208d2f45
2013-05-04 22:25:24 +02:00
Michael Sevakis
95e23defb0 Make fixepoint.c as a shared library (libfixedpoint.a).
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-04-26 00:11:04 +02:00
Dominik Riebeling
962368571e Don't include unwarminder for checkwps, database and warble.
If the host is ARM simply checking the architecture the compiler produces
binaries for will include unwarminder even for the PC tools, breaking them.

Fixes building checkwps and database on ARM hosts. Doesn't fix warble, there
are additional problems with that.

Change-Id: I135b1103a60b9e3720117cde1075b7d73424f384
2013-03-13 21:53:11 +01:00
Lorenzo Miori
60592165ca Samsung YP-R0 hosted target code refactoring
As per title this patch aims at splitting common target
code and specific target code in a better way to
support future ports within the same environment
(e.g. Samsung YP-R1 where the Linux and the SoC
are the same, with differences in hardware devices
handling)

Change-Id: I67b4918c46403b184d3d8f42ab5aae7d01037fd0
Reviewed-on: http://gerrit.rockbox.org/409
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2013-03-06 00:21:22 +01:00
Björn Stenberg
1501df045f Deprecate the EXTRA_LIBS variable.
Instead specify explicit library dependencies for codecs and plugins.
2013-01-24 16:06:45 +01:00
Jens Arnold
266dc52fab Make the player_unifont tool build again
This tool is rarely needed (only when working on the player charset)
and got lost in the big make system overhaul.
2012-05-18 23:31:24 +02:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Thomas Martitz
4b56ee048a Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary.
Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-04-04 21:48:19 +02:00
Thomas Martitz
a8b3d506db Enable tlsf in warble build to fix it.
Change-Id: I5b43a995264b4e699fb62ded72139a7e0ee7f46d
2012-03-29 00:01:44 +02:00
Thomas Martitz
7b1a369cf7 build system: completely autodetect target cpu architecture.
The existing ARCH Makefile variable is exported to the C code as well.
Additionally the version (arm-only for now) is detected as well. This
allows to for complete autodetection, i.e. that optimized ASM is picked up
if determined by preprocessor (CPU_ARM, etc).

Building a sim/raaa on a arm host will now automatically generate a arm
optmized build like we have for native targets.

Change-Id: I0b35393f8fb3ebd20beaa9e7371fa57bf3782107
2012-03-28 23:02:39 +02:00
Thomas Martitz
c56950ea3a tlsf: move to /lib (it's also used by plugins).
Change-Id: I5e37b28c1ce4608d60b036343f280af3311ad490
2012-03-28 23:02:39 +02:00
Frank Gevaerts
215ac639ff Fix makefile conditions
Change-Id: I7e36cec5e3dd86b3220a8a14561596aaa81fdefb
2012-03-27 01:22:51 +02:00
Thomas Martitz
83cb2e5dae Fix warble and clean up/refactor Makefile.
Change-Id: I8754ad8724e22147b98a156fecea599bdda72292
2012-03-27 00:16:09 +02:00
Thomas Martitz
d5f4391187 Partly undo 54e00c1: put include back to root.make and use SECONDEXPANSION.
Change-Id: If38507ed896f577ea30e2ddae3bac3f4b98cee59
2012-03-26 23:57:20 +02:00
Thomas Martitz
045c69c51d Fix bootloaders.
Change-Id: I7e1666d604c554509375a4ae858ff3cd7be96b3a
2012-03-26 23:55:02 +02:00
Thomas Martitz
54e00c18a3 Fix sim/checkwps build failure.
Change-Id: Iefd533fe26495a29f8e79113b38748b504d94213
2012-03-26 23:16:48 +02:00
Thomas Martitz
f269aa0060 build system: unify/simplify library handling a bit.
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are
automatically linked by the core and codecs/plugins respectively.

Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-26 22:27:40 +02:00
Sean Bartell
b5716df4cb Build librbcodec with DSP and metadata.
All associated files are moved to /lib/rbcodec.

Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
2012-03-18 12:00:39 +01:00
Frank Gevaerts
466a7c6a40 Integrate the warble tool in the regular build system.
Only sdl app builds work properly for now.

Change-Id: I7807d42f69b8577b401e48cdc63de71e54f49217
2012-03-03 20:19:08 +01:00
Marcin Bukat
b4eab59951 Arm stack unwinder
Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.

Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-02-22 08:33:26 +01:00
Thomas Martitz
cf333a61c7 Move supprt-arm.S to separate library.
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery.
Don't build it for hosted targets.

Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2012-01-21 18:39:19 +01:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Björn Stenberg
35cd408196 Added NODEPS define to skip recompilation for zip and apk builds. Usage: make zip NODEPS=1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30050 a1c6a512-1295-4272-9138-f99709370657
2011-06-22 14:14:49 +00:00
Thomas Jarosch
986a92fe66 Pandora port: Automate rockbox.pnd (=binary archive) build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29991 a1c6a512-1295-4272-9138-f99709370657
2011-06-09 20:58:03 +00:00
Björn Stenberg
c3cf8bcd4e Add build dependency to zip
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29977 a1c6a512-1295-4272-9138-f99709370657
2011-06-06 22:00:44 +00:00
Dominik Riebeling
fc68a0d3b0 Android: rework r29929 AndroidManifest.xml version handling.
Put the generated AndroidManifest.xml into the bin subfolder and remove it from
clean list. Avoids problems with cleaning if you're building in the android/
folder. Thanks to kugel for pointing out that people are actually doing that.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29931 a1c6a512-1295-4272-9138-f99709370657
2011-05-29 18:44:42 +00:00
Dominik Riebeling
bc3f9c1b71 Add source tree version into AndroidManifest.xml
Use the source tree version as versionName string. As result the Android
Settings menu will now show that version instead of a rather unhelpful "1.0".

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29929 a1c6a512-1295-4272-9138-f99709370657
2011-05-29 17:23:52 +00:00
Maurus Cuelenaere
0b92c0fa26 Android: remove rockbox.apk when doing 'make clean'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29564 a1c6a512-1295-4272-9138-f99709370657
2011-03-11 15:45:49 +00:00
Frank Gevaerts
36d98fa7d0 *really* don't automatically build convttf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29554 a1c6a512-1295-4272-9138-f99709370657
2011-03-09 21:50:43 +00:00
Thomas Martitz
9edd6d4ee9 Anti-Aliased Fonts support.
This enables Rockbox to render anti-aliased fonts using an alpha blending method.
The input font bitmaps are 4bit, i.e. 4x larger, but the metadata size stays the same.

A tool, convttf, for converting ttf fonts directly to the Rockbox fnt format is provided.
It has a useful help output, but the parameter that works best is -c1 or -c2 (2 for larger font sizes).

Flyspray: FS#8961
Author: Initial work by Jonas Hurrelmann, further work by Fred Bauer, Andrew Mahone, Teruaki Kawashima and myself.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29523 a1c6a512-1295-4272-9138-f99709370657
2011-03-05 18:36:51 +00:00
Dave Chapman
376c9f3ad0 FS#11966 - use separate modelnames and config files for RaaA. This adds an APPLICATION define that can be used in Makefiles, and target-name defines (-DSDLAPP, -DANDROID, -DNOKIAN8XX and -DNOKIAN900) for use elsewhere. LCD size is now hard-coded for the Nokia builds in their config files. A new --app parameter is passed to buildzip.pl to explicitly state that this is an application build - it was previously derived from the model name.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29418 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 11:37:39 +00:00
Alex Parker
d0a0d02167 Forgot to add the help text for make elfzip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29406 a1c6a512-1295-4272-9138-f99709370657
2011-02-26 20:50:12 +00:00
Alex Parker
745406a9f0 Add "elfzip" target to make which creates a zip of all elf files, as mapzip does for map files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29360 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 19:56:53 +00:00
Andree Buschmann
5d849a963e Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29189 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 17:43:32 +00:00
Antoine Cellerier
a448d8bac7 Android build tweaks.
Add make install target for android builds.
Remove standard install targets as they don't apply.
Add java compilation dependancy on generated resource class(es?) to prevent weird runtime issues.
Update installApk.sh script to use correct tool location in recent sdks.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29131 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 17:06:04 +00:00
Michael Stummvoll
1f06ca41e8 Added the symlinkinstall make target. See #11825
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28915 a1c6a512-1295-4272-9138-f99709370657
2010-12-28 10:30:46 +00:00
Thomas Martitz
0bf1bd1d51 Redo r28026 so that all .S files get the __ASSEMBLER__ define.
Patch by Thomas Jarosch.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28913 a1c6a512-1295-4272-9138-f99709370657
2010-12-27 17:27:59 +00:00
Thomas Martitz
a994401294 Extend make clean for android zu also cleanup the compiled java classes and apks (and everything else generated during build process).
This also seems to fix a problem with make apk on some machines. Thanks to Dustin Skoracki for helping to investigate.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28062 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 16:35:02 +00:00
Thomas Martitz
f8381d9c39 Android: don't compile stubs.c and kill off libuisimulator entirely.
Seperate make rules in a almost empty android.make.
Also add forgotten powermgmt-android.c

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27977 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 00:24:40 +00:00
Thomas Martitz
46454ac2a8 Move setjmp to lib and add setjmp for sh (imported from newlib) and compile it as separate library.
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 12:38:42 +00:00
Rafaël Carré
27c509fc55 makefiles
- some functions don't need to return their output, drop $(shell ... )
and prefix with $(SILENT), make V=1 will show the complete scripts being
run

- tweak make.dep generation: make the temporary file appear in root.make
  only, and remove a useless "real command", there is already a real
  command (mv)

- make addtargetdir.pl terminate its output with a newline ($(shell) did
  that for us)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27855 a1c6a512-1295-4272-9138-f99709370657
2010-08-21 18:07:12 +00:00
Michael Chicoine
c6bcd91e6c Fix message output for make install and make fullinstall
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27749 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 00:03:08 +00:00
Thomas Martitz
9c0b2479f7 Rockbox as an application: add get_user_file_path().
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.

On the DAPs it's a no-op, returing /.rockbox directly.

Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Jonathan Gordon
2d31d77a8b FS#11470 - new skin code, finally svn uses the new parser from the theme editor. This means that a skin that passes the editor WILL pass svn and checkwps (unless the target runs out of skin buffer or something.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27613 a1c6a512-1295-4272-9138-f99709370657
2010-07-29 12:37:48 +00:00
Rafaël Carré
a2029a7bee Revert r27550 : we don't want to generate dependancies for firmware/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27551 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 15:22:47 +00:00
Rafaël Carré
f1140dcdfa include firmware.make unconditionally
checkwps and database tools need to find their way to our headers

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27550 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 15:07:20 +00:00
Thomas Martitz
57613ea5fa Rename/change SIMVER to APP_TYPE in the Makefiles.
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 13:49:49 +00:00