summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-04-28 12:06:55 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-04-28 12:06:55 +0200
commit8a3824f36a65c777388831c47556f8141b22d463 (patch)
tree1c871ae7120035e3a5ccb9bd61220a7241e55ad0
parent308f099874d5d763de20a2b22cd28389719cfc30 (diff)
downloadrockbox-8a3824f36a65c777388831c47556f8141b22d463.tar.gz
rockbox-8a3824f36a65c777388831c47556f8141b22d463.zip
ipodpatcher: replace ipod2c with bin2c.
Change-Id: I3b339e05c9a5f4a8a60bd7581ec402b4784542e2
-rw-r--r--rbutil/ipodpatcher/Makefile15
-rw-r--r--rbutil/ipodpatcher/ipod2c.c142
2 files changed, 6 insertions, 151 deletions
diff --git a/rbutil/ipodpatcher/Makefile b/rbutil/ipodpatcher/Makefile
index bae805671e..afdcaa5039 100644
--- a/rbutil/ipodpatcher/Makefile
+++ b/rbutil/ipodpatcher/Makefile
@@ -45,14 +45,11 @@ include ../libtools.make
$(OBJDIR)ipodpatcher-rc.o: ipodpatcher.rc ipodpatcher.manifest
$(CROSS)$(WINDRES) -i ipodpatcher.rc -o ipodpatcher-rc.o
-ipod2c: ipod2c.c
- $(NATIVECC) $(CFLAGS) -o ipod2c ipod2c.c
+%.c: bootloader-%.ipod $(BIN2C)
+ @echo BIN2C $<
+ $(SILENT)$(BIN2C) -i $< $*
-%.c: bootloader-%.ipod ipod2c
- @echo IPOD2C $<
- $(SILENT)./ipod2c $< $*
-
-%.c: bootloader-%.ipodx ipod2c
- @echo IPOD2C $<
- $(SILENT)./ipod2c $< $*
+%.c: bootloader-%.ipodx $(BIN2C)
+ @echo BIN2C $<
+ $(SILENT)$(BIN2C) -i $< $*
diff --git a/rbutil/ipodpatcher/ipod2c.c b/rbutil/ipodpatcher/ipod2c.c
deleted file mode 100644
index 77a3923196..0000000000
--- a/rbutil/ipodpatcher/ipod2c.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2007 Dave Chapman
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-static off_t filesize(int fd)
-{
- struct stat buf;
-
- fstat(fd,&buf);
- return buf.st_size;
-}
-
-static int write_cfile(unsigned char* buf, off_t len, char* cname)
-{
- char filename[256];
- FILE* fp;
- int i;
-
- snprintf(filename,256,"%s.c",cname);
-
- fp = fopen(filename,"w+");
- if (fp == NULL) {
- fprintf(stderr,"Couldn't open %s\n",filename);
- return -1;
- }
-
- fprintf(fp,"/* Generated by ipod2c */\n\n");
- fprintf(fp,"unsigned char %s[] = {",cname);
-
- for (i=0;i<len;i++) {
- if ((i % 16) == 0) {
- fprintf(fp,"\n ");
- }
- if (i == (len-1)) {
- fprintf(fp,"0x%02x",buf[i]);
- } else {
- fprintf(fp,"0x%02x, ",buf[i]);
- }
- }
- fprintf(fp,"\n};\n");
-
- fclose(fp);
- return 0;
-}
-
-static int write_hfile(unsigned char* buf, off_t len, char* cname)
-{
- char filename[256];
- FILE* fp;
- (void)buf;
-
- snprintf(filename,256,"%s.h",cname);
- fp = fopen(filename,"w+");
- if (fp == NULL) {
- fprintf(stderr,"Couldn't open %s\n",filename);
- return -1;
- }
-
- fprintf(fp,"/* Generated by ipod2c */\n\n");
- fprintf(fp,"#define LEN_%s %d\n",cname,(int)len);
- fprintf(fp,"extern unsigned char %s[];\n",cname);
- fclose(fp);
- return 0;
-}
-
-int main (int argc, char* argv[])
-{
- char* infile;
- char* cname;
- int fd;
- unsigned char* buf;
- int len;
- int n;
-
- if (argc != 3) {
- fprintf(stderr,"Usage: ipod2c file.ipod cname\n");
- return 0;
- }
-
- infile=argv[1];
- cname=argv[2];
-
- fd = open(infile,O_RDONLY|O_BINARY);
- if (fd < 0) {
- fprintf(stderr,"Can not open %s\n",infile);
- return 0;
- }
-
- len = filesize(fd) - 8;
-
- n = lseek(fd,8,SEEK_SET);
- if (n != 8) {
- fprintf(stderr,"Seek failed\n");
- return 0;
- }
-
- buf = malloc(len);
- n = read(fd,buf,len);
- if (n < len) {
- fprintf(stderr,"Short read, aborting\n");
- return 0;
- }
- close(fd);
-
- if (write_cfile(buf,len,cname) < 0) {
- return -1;
- }
- if (write_hfile(buf,len,cname) < 0) {
- return -1;
- }
-
- return 0;
-}