From 4b392cd105b0904790c0f7c694c382096963fe42 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Thu, 10 Jul 2003 11:52:42 +0000 Subject: Added dependency to the tools dir, so it's automatically built with the rest. Updated build docs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3825 a1c6a512-1295-4272-9138-f99709370657 --- docs/README | 53 ++++++++++++++++++++++++++++++++++------------ firmware/Makefile | 5 ++++- uisimulator/win32/Makefile | 5 ++++- uisimulator/x11/Makefile | 5 ++++- 4 files changed, 51 insertions(+), 17 deletions(-) diff --git a/docs/README b/docs/README index e8cc69f338..7934c9c40b 100644 --- a/docs/README +++ b/docs/README @@ -7,18 +7,25 @@ Build Your Own Rockbox -1. Check out 'rockbox' from CVS (or possibly from a downloaded archive). You - may possibly want to check out 'rockbox-devel' instead, since that includes - the simulator code (for trying out things on host before making target - tests). +1. Check out 'rockbox' from CVS (or extract a downloaded archive). You + want to check out 'rockbox-devel' instead if you want the simulator + code too (for trying out things on host before making target tests). - If you do want to play with the simulator, read UISIMULATOR. + (For more information about the simulator, read UISIMULATOR.) -2. Build the tools by running 'make' in the tools/ directory. + $ cvs -d:pserver:anonymous@cvs.rockbox.sourceforge.net:/cvsroot/rockbox login + $ cvs -z3 -d:pserver:anonymous@cvs.rockbox.sourceforge.net:/cvsroot/rockbox co rockbox -3. Create your own build directory, preferably in the same directory as the - firmware/ and apps/ directories. This is where all generated files will be - put. + or + + $ tar xzf rockbox.tar.gz + +2. Create a build directory, preferably in the same directory as the firmware/ + and apps/ directories. This is where all generated files will be written. + + $ cd rockbox + $ mkdir build + $ cd build 4. In your build directory, run the 'tools/configure' script and enter what target you want to build for and if you want a debug version or not (and a @@ -26,23 +33,41 @@ Build Your Own Rockbox gdb version out of it. It is only useful if you run gdb towards your target Archos. + $ ../tools/configure + 5. *ploink*. Now you have got a Makefile generated for you. 6. Make sure you have sh-elf-gcc and siblings in the PATH. Make sure that you have 'perl' in your PATH too. + $ which sh-elf-gcc + $ which perl + 7. Run 'make' and soon the necessary pieces from the firmware and the apps directories have been compiled, linked and scrambled for you. + $ make + 8. Copy the archos.mod or ajbrec.ajz file to your archos, reboot it and *smile*. Recent Rockbox versions need no reboots, just PLAY a new rockbox version and that'll be loaded and replace the currently running version. + $ mount /dev/sda1 /mnt/archos + $ cp ajbrec.ajz /mnt/archos + $ umount /mnt/archos + Whenever the tools/configure script gets updated, you can make your makefile -updated too by running 'tools/configure update' +updated too by running 'tools/configure update'. + +If you want to build for more than one target, just create several build +directories and create a setup for each target: + + $ mkdir build-fmrecorder + $ cd build-fmrecorder + $ ../tools/configure -If you want to build for more than one target, just create a new build -directory and create a setup for another target combination in there. + $ mkdir build-player + $ cd build-player + $ ../tools/configure -Questions anyone? Take them to the mailing list. We'll be happy to help you -out! +Questions anyone? Ask on the mailing list. We'll be happy to help you! diff --git a/firmware/Makefile b/firmware/Makefile index c80d20cdb5..916a1a4094 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -55,7 +55,10 @@ ifndef TOOLSDIR TOOLSDIR=../tools endif -all: $(OUTPUT) $(EXTRA_TARGETS) +all: $(TOOLSDIR)/convbdf $(OUTPUT) $(EXTRA_TARGETS) + +$(TOOLSDIR)/convbdf: + $(MAKE) -C $(TOOLSDIR) $(OUTPUT): $(OBJS) $(AR) ruv $@ $+ diff --git a/uisimulator/win32/Makefile b/uisimulator/win32/Makefile index aa72171bdb..1ec4ccf357 100644 --- a/uisimulator/win32/Makefile +++ b/uisimulator/win32/Makefile @@ -119,7 +119,10 @@ ROCKSRCS := $(patsubst $(PLUGINDIR)/%.c,%.c,$(wildcard $(PLUGINDIR)/*.c)) ROCKS := $(ROCKSRCS:%.c=$(OBJDIR)/%.rock) -all: $(TARGET) $(ROCKS) +all: $(TOOLSDIR)/convbdf $(TARGET) $(ROCKS) + +$(TOOLSDIR)/convbdf: + $(MAKE) -C $(TOOLSDIR) $(TARGET): $(OBJS) $(CC) $(OBJS) -o $(TARGET) $(LDFLAGS) diff --git a/uisimulator/x11/Makefile b/uisimulator/x11/Makefile index 2ce4606468..fa3613767d 100644 --- a/uisimulator/x11/Makefile +++ b/uisimulator/x11/Makefile @@ -117,7 +117,10 @@ ROCKS := $(ROCKSRC:$(APPDIR)/plugins/%.c=$(OBJDIR)/%.rock) OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) -all: $(TARGET) $(EXTRA_TARGETS) $(ROCKS) +all: $(TOOLSDIR)/convbdf $(TARGET) $(EXTRA_TARGETS) $(ROCKS) + +$(TOOLSDIR)/convbdf: + $(MAKE) -C $(TOOLSDIR) clean: $(RM) $(OBJS) *~ core $(TARGET) $(CLIENTS) $(OBJDIR)/lang.[cho] \ -- cgit