summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2003-07-10 11:52:42 +0000
committerBjörn Stenberg <bjorn@haxx.se>2003-07-10 11:52:42 +0000
commit4b392cd105b0904790c0f7c694c382096963fe42 (patch)
tree53a8e68ca19cc7532e11cf5766d561051bc94645
parent067262dbf09d63fb645d1c2e67d225325b6854c9 (diff)
downloadrockbox-4b392cd105b0904790c0f7c694c382096963fe42.tar.gz
rockbox-4b392cd105b0904790c0f7c694c382096963fe42.zip
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
-rw-r--r--docs/README53
-rw-r--r--firmware/Makefile5
-rw-r--r--uisimulator/win32/Makefile5
-rw-r--r--uisimulator/x11/Makefile5
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] \