blob: 186c1da5c9838c1985f0e5890621e48654d18eee [file] [log] [blame]
Dave Chapman2cc80f52007-07-29 21:19:14 +00001CFLAGS=-Wall -W
Jens Arnold7170a002007-02-05 00:50:49 +00002
Dave Chapman6a20def2007-07-26 20:21:11 +00003BOOT_H = ipod1g2g.h ipod3g.h ipod4g.h ipodcolor.h ipodmini.h ipodmini2g.h ipodnano.h ipodvideo.h
Dave Chapmanbdc27ff2007-02-08 18:05:50 +00004
5# Uncomment the next two lines to build with embedded bootloaders and the
6# --install option and interactive mode. You need the full set of Rockbox
7# bootloaders in this directory - download them from
8# http://download.rockbox.org/bootloader/ipod/bootloaders.zip
9
Dave Chapman6a20def2007-07-26 20:21:11 +000010#BOOTSRC = ipod1g2g.c ipod3g.c ipod4g.c ipodcolor.c ipodmini.c ipodmini2g.c ipodnano.c ipodvideo.c
Dave Chapmanc76dfb32007-02-08 18:22:23 +000011#CFLAGS += -DWITH_BOOTOBJS
Dave Chapmanbdc27ff2007-02-08 18:05:50 +000012
Jens Arnold7170a002007-02-05 00:50:49 +000013ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
14OUTPUT=ipodpatcher.exe
15CROSS=
16CFLAGS+=-mno-cygwin
Dominik Riebeling919caf02008-01-06 11:55:55 +000017else
18ifeq ($(findstring MINGW,$(shell uname)),MINGW)
19OUTPUT=ipodpatcher.exe
20CROSS=
Jens Arnold7170a002007-02-05 00:50:49 +000021else
22OUTPUT=ipodpatcher
23CROSS=i586-mingw32msvc-
24endif
Dominik Riebeling919caf02008-01-06 11:55:55 +000025endif
Jens Arnold7170a002007-02-05 00:50:49 +000026
Dave Chapmanbdc27ff2007-02-08 18:05:50 +000027NATIVECC = gcc
28CC = $(CROSS)gcc
Jens Arnold4ce93682007-09-21 06:24:17 +000029WINDRES = $(CROSS)windres
Dave Chapmanbdc27ff2007-02-08 18:05:50 +000030
Dave Chapman6e797152007-09-08 23:27:49 +000031SRC = main.c ipodpatcher.c fat32format.c parttypes.h arc4.c
Dave Chapman56780e32007-06-16 22:32:57 +000032
Jens Arnold7170a002007-02-05 00:50:49 +000033all: $(OUTPUT)
Dave Chapman45895df2006-12-13 08:57:06 +000034
Dave Chapman56780e32007-06-16 22:32:57 +000035ipodpatcher: $(SRC) ipodio-posix.c $(BOOTSRC)
36 gcc $(CFLAGS) -o ipodpatcher $(SRC) ipodio-posix.c $(BOOTSRC)
Jens Arnold7170a002007-02-05 00:50:49 +000037 strip ipodpatcher
Dave Chapman4b7e1e02006-12-13 09:02:18 +000038
Jens Arnold4ce93682007-09-21 06:24:17 +000039ipodpatcher.exe: $(SRC) ipodio-win32.c ipodpatcher-rc.o $(BOOTSRC)
40 $(CC) $(CFLAGS) -o ipodpatcher.exe $(SRC) ipodio-win32.c ipodpatcher-rc.o $(BOOTSRC)
Jens Arnold7170a002007-02-05 00:50:49 +000041 $(CROSS)strip ipodpatcher.exe
Dave Chapman45895df2006-12-13 08:57:06 +000042
Jens Arnold4ce93682007-09-21 06:24:17 +000043ipodpatcher-rc.o: ipodpatcher.rc ipodpatcher.manifest
44 $(WINDRES) -i ipodpatcher.rc -o ipodpatcher-rc.o
45
Dave Chapman1602bf52007-03-03 10:57:32 +000046ipodpatcher-mac: ipodpatcher-i386 ipodpatcher-ppc
47 lipo -create ipodpatcher-ppc ipodpatcher-i386 -output ipodpatcher-mac
48
Dave Chapman56780e32007-06-16 22:32:57 +000049ipodpatcher-i386: $(SRC) ipodio-posix.c $(BOOTSRC)
50 gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -o bin/i386/program -arch i386 $(CFLAGS) -o ipodpatcher-i386 $(SRC) ipodio-posix.c $(BOOTSRC)
Dave Chapman1602bf52007-03-03 10:57:32 +000051 strip ipodpatcher-i386
52
Dave Chapman56780e32007-06-16 22:32:57 +000053ipodpatcher-ppc: $(SRC) ipodio-posix.c $(BOOTSRC)
54 gcc -arch ppc $(CFLAGS) -o ipodpatcher-ppc $(SRC) ipodio-posix.c $(BOOTSRC)
Dave Chapman1602bf52007-03-03 10:57:32 +000055 strip ipodpatcher-ppc
56
Dave Chapmanbdc27ff2007-02-08 18:05:50 +000057ipod2c: ipod2c.c
58 $(NATIVECC) $(CFLAGS) -o ipod2c ipod2c.c
59
Dave Chapman6a20def2007-07-26 20:21:11 +000060ipod1g2g.c: bootloader-ipod1g2g.ipod ipod2c
61 ./ipod2c bootloader-ipod1g2g.ipod ipod1g2g
62
Dave Chapmanbdc27ff2007-02-08 18:05:50 +000063ipod3g.c: bootloader-ipod3g.ipod ipod2c
64 ./ipod2c bootloader-ipod3g.ipod ipod3g
65
66ipod4g.c: bootloader-ipod4g.ipod ipod2c
67 ./ipod2c bootloader-ipod4g.ipod ipod4g
68
69ipodcolor.c: bootloader-ipodcolor.ipod ipod2c
70 ./ipod2c bootloader-ipodcolor.ipod ipodcolor
71
72ipodmini.c: bootloader-ipodmini.ipod ipod2c
73 ./ipod2c bootloader-ipodmini.ipod ipodmini
74
75ipodmini2g.c: bootloader-ipodmini2g.ipod ipod2c
76 ./ipod2c bootloader-ipodmini2g.ipod ipodmini2g
77
78ipodnano.c: bootloader-ipodnano.ipod ipod2c
79 ./ipod2c bootloader-ipodnano.ipod ipodnano
80
81ipodvideo.c: bootloader-ipodvideo.ipod ipod2c
82 ./ipod2c bootloader-ipodvideo.ipod ipodvideo
83
84
Dave Chapman45895df2006-12-13 08:57:06 +000085clean:
Jens Arnold2a612592007-09-21 06:52:45 +000086 rm -f ipodpatcher.exe ipodpatcher-rc.o ipodpatcher-mac ipodpatcher-i386 ipodpatcher-ppc ipodpatcher ipod2c *~ $(BOOTSRC) $(BOOT_H)