summaryrefslogtreecommitdiffstats
path: root/rbutil/e200rpatcher
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-09-11 16:47:26 +0000
committerDave Chapman <dave@dchapman.com>2007-09-11 16:47:26 +0000
commit7eb73ef993b1b6c50d739ee2db23dcf1569cb651 (patch)
treeb8d4e1ff013f2a1ecb5f9e8c045ec50dcfc46835 /rbutil/e200rpatcher
parentcab33b64a02cc17e9da85695817e6196cec4a345 (diff)
downloadrockbox-7eb73ef993b1b6c50d739ee2db23dcf1569cb651.tar.gz
rockbox-7eb73ef993b1b6c50d739ee2db23dcf1569cb651.tar.bz2
rockbox-7eb73ef993b1b6c50d739ee2db23dcf1569cb651.zip
Change the Mac OS X rules to compile a static binary. Also add a README file with a brief description of e200rpatcher and some build instructions. We still need a Windows developer to make this work there...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14671 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/e200rpatcher')
-rw-r--r--rbutil/e200rpatcher/Makefile9
-rw-r--r--rbutil/e200rpatcher/README48
2 files changed, 53 insertions, 4 deletions
diff --git a/rbutil/e200rpatcher/Makefile b/rbutil/e200rpatcher/Makefile
index 243b2e6c09..788d78841f 100644
--- a/rbutil/e200rpatcher/Makefile
+++ b/rbutil/e200rpatcher/Makefile
@@ -26,12 +26,13 @@ e200rpatcher.exe: e200rpatcher.c bootimg.c
e200rpatcher-mac: e200rpatcher-i386 e200rpatcher-ppc
lipo -create e200rpatcher-ppc e200rpatcher-i386 -output e200rpatcher-mac
-e200rpatcher-i386: e200rpatcher.c bootimg.c
- gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -o bin/i386/program -arch i386 $(CFLAGS) $(LIBS) -o e200rpatcher-i386 e200rpatcher.c bootimg.c
+
+e200rpatcher-i386: e200rpatcher.c bootimg.c usb.h libusb-i386.a
+ gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -framework iokit -framework coreservices -arch i386 $(CFLAGS) -o e200rpatcher-i386 e200rpatcher.c bootimg.c -I. libusb-i386.a
strip e200rpatcher-i386
-e200rpatcher-ppc: e200rpatcher.c bootimg.c
- gcc -arch ppc $(CFLAGS) $(LIBS) -o e200rpatcher-ppc e200rpatcher.c bootimg.c
+e200rpatcher-ppc: e200rpatcher.c bootimg.c usb.h libusb-ppc.a
+ gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -framework iokit -framework coreservices -arch ppc $(CFLAGS) -o e200rpatcher-ppc e200rpatcher.c bootimg.c -I. libusb-ppc.a
strip e200rpatcher-ppc
bin2c: ../sansapatcher/bin2c.c
diff --git a/rbutil/e200rpatcher/README b/rbutil/e200rpatcher/README
new file mode 100644
index 0000000000..1942b3aa7a
--- /dev/null
+++ b/rbutil/e200rpatcher/README
@@ -0,0 +1,48 @@
+INTRODUCTION
+
+e200rpatcher is a tool for uploading and executing an application to
+an E200R in manufacturing mode. It is intended to be used to upload
+the patching application to allow Rockbox installs.
+
+e200rpatcher requires libusb (v0.1.2 has been tested successfully) for
+cross-platform USB access. No-one has yet successfully installed
+e200rpatcher on Windows, but it works on Linux and Mac OS X (and
+should be fine on other Unix-like systems that libusb supports).
+
+GENERAL BUILD INSTRUCTIONS
+
+A pre-requisite for compiling e200rpatcher is a file called
+"bootloader.bin" - this is the output of running an "I" (installer)
+build for the E200R target.
+
+In the Rockbox source directory, do:
+
+mkdir build-e200rbootbin
+cd build-e200rbootbin
+../tools/configure
+[Select E200R, then I for installer]
+make
+
+This should give you a bootloader/bootloader/bin file which you should
+copy to the e200rpatcher source directory.
+
+BUILDING ON LINUX
+
+The Makefile expects libusb (and the headers) to be installed on your
+system and will link dynamically. Just type "make".
+
+BUILDING ON A MAC
+
+To build the mac version (target e200rpatcher-mac in the Makefile)
+requires three files from libusb to be copied to the current
+directory:
+
+usb.h (copied from your libusb build directory)
+libusb-i386.a (copied and renamed from .libs/libusb.a in an i386 build)
+libusb-ppc.a (copied and renamed from .libs/libusb.a in a PPC build)
+
+To build the required libusb.a files, just run ./configure && make for
+libusb. If anyone knows how to cross-compile a static libusb.a please
+make the information known - this is currently done by compiling
+natively on the appropriate hardware.
+