Subversion Repositories freemyipod

Rev

Rev 843 | Rev 881 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 843 Rev 870
Line 1... Line 1...
1
NAME := installer-ipodclassic
1
NAME := installer-ipodclassic
2
STACKSIZE := 4096
2
STACKSIZE := 4096
3
COMPRESS := false
3
COMPRESS := false
4
AUTOBUILD_FLASHFILES ?= true
4
AUTOBUILD_FLASHFILES ?= true
5
AUTOBUILD_FSFILES ?= true
5
AUTOBUILD_FSFILES ?= true
6
 
6
 
7
EMCOREDIR ?= ../../emcore/trunk/
7
EMCOREDIR ?= ../../emcore/trunk/
8
BOOTMENUDIR ?= ../bootmenu-ipodclassic/
8
BOOTMENUDIR ?= ../bootmenu-ipodclassic/
9
BOOTMENUTHEMEDIR ?= ../bootmenu-ipodclassic-wintertheme/
9
BOOTMENUTHEMEDIR ?= ../bootmenu-ipodclassic-wintertheme/
10
LIBBOOTDIR ?= ../../libs/boot/
10
LIBBOOTDIR ?= ../../libs/boot/
11
LIBPNGDIR ?= ../../libs/png/
11
LIBPNGDIR ?= ../../libs/png/
12
LIBUIDIR ?= ../../libs/ui/
12
LIBUIDIR ?= ../../libs/ui/
13
LIBMKFAT32DIR ?= ../../libs/mkfat32/
13
LIBMKFAT32DIR ?= ../../libs/mkfat32/
14
UMSBOOTDIR ?= ../../umsboot/
14
UMSBOOTDIR ?= ../../umsboot/
15
TOOLSDIR ?= ../../tools/
15
TOOLSDIR ?= ../../tools/
16
 
16
 
17
FLASHFILES = flashfiles/boot.emcorelib flashfiles/png.emcorelib flashfiles/ui.emcorelib flashfiles/mkfat32.emcorelib \
17
FLASHFILES = flashfiles/boot.emcorelib flashfiles/png.emcorelib flashfiles/ui.emcorelib flashfiles/mkfat32.emcorelib \
18
             flashfiles/bootmenu-ipodclassic.emcoreapp flashfiles/emcoreldr-ipodclassic.bin \
18
             flashfiles/bootmenu-ipodclassic.emcoreapp flashfiles/emcoreldr-ipodclassic.bin \
19
             flashfiles/emcore-ipodclassic.ucl flashfiles/umsboot-ipodclassic.ucl flashfiles/rockbox.ipod.ucl
19
             flashfiles/emcore-ipodclassic.ucl flashfiles/umsboot-ipodclassic.ucl flashfiles/rockbox.ipod.ucl
20
 
20
 
21
FSFILES = fsfiles/.apps/bootmenu/theme.emcoreapp
21
FSFILES = fsfiles/.apps/bootmenu/theme.emcoreapp
22
 
22
 
23
ifeq ($(shell uname),WindowsNT)
23
ifeq ($(shell uname),WindowsNT)
24
CCACHE :=
24
CCACHE :=
25
else
25
else
26
CCACHE := $(shell which ccache)
26
CCACHE := $(shell which ccache)
27
endif
27
endif
28
 
28
 
29
CROSS   ?= arm-elf-eabi-
29
CROSS   ?= arm-elf-eabi-
30
CC      := $(CCACHE) $(CROSS)gcc
30
CC      := $(CCACHE) $(CROSS)gcc
31
AS      := $(CROSS)as
31
AS      := $(CROSS)as
32
LD      := $(CROSS)ld
32
LD      := $(CROSS)ld
33
OBJCOPY := $(CROSS)objcopy
33
OBJCOPY := $(CROSS)objcopy
34
ELF2ECA := $(CROSS)elf2emcoreapp
34
ELF2ECA := $(CROSS)elf2emcoreapp
35
UCLPACK := ucl2e10singleblk
35
UCLPACK := ucl2e10singleblk
36
STUBEMBED := python tools/stubembed.py
36
STUBEMBED := python tools/stubembed.py
37
EMCOREBOOTCFG := python $(EMCOREDIR)/tools/emcorebootcfg.py
37
EMCOREBOOTCFG := python $(EMCOREDIR)/tools/emcorebootcfg.py
38
EMCOREEMBEDAPP := python $(EMCOREDIR)/tools/emcoreembedapp.py
38
EMCOREEMBEDAPP := python $(EMCOREDIR)/tools/emcoreembedapp.py
39
GENPWN := python $(EMCOREDIR)/tools/ipodcrypt.py s5l8702-genpwnage
39
GENPWN := python $(EMCOREDIR)/tools/ipodcrypt.py s5l8702-genpwnage
40
 
40
 
41
LIBINCLUDES := -I$(LIBPNGDIR)/export -I$(LIBUIDIR)/export -I$(LIBMKFAT32DIR)/export
41
LIBINCLUDES := -I$(LIBPNGDIR)/export -I$(LIBUIDIR)/export -I$(LIBMKFAT32DIR)/export
42
 
42
 
43
CFLAGS  += -Os -fno-pie -fno-stack-protector -fomit-frame-pointer -I. -I$(EMCOREDIR)/export $(LIBINCLUDES) -ffunction-sections -fdata-sections -mcpu=arm926ej-s -DARM_ARCH=5
43
CFLAGS  += -Os -fno-pie -fno-stack-protector -fomit-frame-pointer -I. -I$(EMCOREDIR)/export $(LIBINCLUDES) -ffunction-sections -fdata-sections -mcpu=arm926ej-s -DARM_ARCH=5 -marm
44
LDFLAGS += "$(shell $(CC) -print-libgcc-file-name)" --emit-relocs --gc-sections
44
LDFLAGS += "$(shell $(CC) -print-libgcc-file-name)" --emit-relocs --gc-sections
45
 
45
 
46
preprocess = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c $(1) | grep -v "^\#")
46
preprocess = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c $(1) | grep -v "^\#")
47
preprocesspaths = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c $(1) | grep -v "^\#" | sed -e "s:^..*:$(dir $(1))&:" | sed -e "s:^\\./::")
47
preprocesspaths = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c $(1) | grep -v "^\#" | sed -e "s:^..*:$(dir $(1))&:" | sed -e "s:^\\./::")
48
 
48
 
49
REVISION := $(shell svnversion .)
49
REVISION := $(shell svnversion .)
50
REVISIONINT := $(shell echo $(REVISION) | sed -e "s/[^0-9].*$$//")
50
REVISIONINT := $(shell echo $(REVISION) | sed -e "s/[^0-9].*$$//")
51
 
51
 
52
HELPERS := build/__emcore_armhelpers.o
52
HELPERS := build/__emcore_armhelpers.o
53
 
53
 
54
SRC := $(call preprocesspaths,SOURCES,-I. -I..)
54
SRC := $(call preprocesspaths,SOURCES,-I. -I..)
55
OBJ := $(SRC:%.c=build/%.o)
55
OBJ := $(SRC:%.c=build/%.o)
56
OBJ := $(OBJ:%.S=build/%.o) $(HELPERS)
56
OBJ := $(OBJ:%.S=build/%.o) $(HELPERS)
57
 
57
 
58
all: $(NAME)
58
all: $(NAME)
59
 
59
 
60
-include $(OBJ:%=%.dep)
60
-include $(OBJ:%=%.dep)
61
 
61
 
62
$(NAME): build/bootstrap-ipodclassic.dfu build/$(NAME).ubi
62
$(NAME): build/bootstrap-ipodclassic.dfu build/$(NAME).ubi
63
 
63
 
64
build/bootstrap-ipodclassic.dfu: build/bootstrap.bin
64
build/bootstrap-ipodclassic.dfu: build/bootstrap.bin
65
	@echo [GENPWN] $<
65
	@echo [GENPWN] $<
66
	@$(GENPWN) $< $@
66
	@$(GENPWN) $< $@
67
 
67
 
68
build/bootstrap.bin: build/bootstub.bin $(UMSBOOTDIR)/build/ipodclassic/umsboot.bin
68
build/bootstrap.bin: build/bootstub.bin $(UMSBOOTDIR)/build/ipodclassic/umsboot.bin
69
	@echo [STUBEM] $@
69
	@echo [STUBEM] $@
70
	@$(STUBEMBED) $^ $@
70
	@$(STUBEMBED) $^ $@
71
 
71
 
72
build/$(NAME).ubi: $(EMCOREDIR)/build/ipodclassic/emcore.bin build/$(NAME).emcoreapp
72
build/$(NAME).ubi: $(EMCOREDIR)/build/ipodclassic/emcore.bin build/$(NAME).emcoreapp
73
	@echo [EMBAPP] $@
73
	@echo [EMBAPP] $@
74
	@$(EMCOREEMBEDAPP) $^ $@
74
	@$(EMCOREEMBEDAPP) $^ $@
75
 
75
 
76
build/bootstub.bin: build/bootstub.elf
76
build/bootstub.bin: build/bootstub.elf
77
	@echo [OC]     $<
77
	@echo [OC]     $<
78
	@$(OBJCOPY) -O binary $^ $@
78
	@$(OBJCOPY) -O binary $^ $@
79
 
79
 
80
build/bootstub.elf: bootstub/ls.x build/bootstub/bootstub.o
80
build/bootstub.elf: bootstub/ls.x build/bootstub/bootstub.o
81
	@echo [LD]     $@
81
	@echo [LD]     $@
82
	@$(LD) $(LDFLAGS) -o $@ -T bootstub/ls.x build/bootstub/bootstub.o
82
	@$(LD) $(LDFLAGS) -o $@ -T bootstub/ls.x build/bootstub/bootstub.o
83
 
83
 
84
build/$(NAME).emcoreapp: build/$(NAME).elf
84
build/$(NAME).emcoreapp: build/$(NAME).elf
85
	@echo [EMCAPP] $<
85
	@echo [EMCAPP] $<
86
ifeq ($(COMPRESS),true)
86
ifeq ($(COMPRESS),true)
87
	@$(ELF2ECA) -z -s $(STACKSIZE) -o $@ $^
87
	@$(ELF2ECA) -z -s $(STACKSIZE) -o $@ $^
88
else
88
else
89
	@$(ELF2ECA) -s $(STACKSIZE) -o $@ $^
89
	@$(ELF2ECA) -s $(STACKSIZE) -o $@ $^
90
endif
90
endif
91
 
91
 
92
ifeq ($(AUTOBUILD_FLASHFILES),true)
92
ifeq ($(AUTOBUILD_FLASHFILES),true)
93
build/resources.o: $(FLASHFILES)
93
build/resources.o: $(FLASHFILES)
94
else
94
else
95
build/resources.o: flashfiles.built
95
build/resources.o: flashfiles.built
96
endif
96
endif
97
 
97
 
98
ifeq ($(AUTOBUILD_FSFILES),true)
98
ifeq ($(AUTOBUILD_FSFILES),true)
99
build/resources.o: $(FSFILES)
99
build/resources.o: $(FSFILES)
100
else
100
else
101
build/resources.o: fsfiles.built
101
build/resources.o: fsfiles.built
102
endif
102
endif
103
 
103
 
104
build/$(NAME).elf: ls.x $(OBJ)
104
build/$(NAME).elf: ls.x $(OBJ)
105
	@echo [LD]     $@
105
	@echo [LD]     $@
106
	@$(LD) $(LDFLAGS) -o $@ -T ls.x $(OBJ)
106
	@$(LD) $(LDFLAGS) -o $@ -T ls.x $(OBJ)
107
 
107
 
108
build/%.o: %.c build/version.h
108
build/%.o: %.c build/version.h
109
	@echo [CC]     $<
109
	@echo [CC]     $<
110
ifeq ($(shell uname),WindowsNT)
110
ifeq ($(shell uname),WindowsNT)
111
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
111
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
112
else
112
else
113
	@-mkdir -p $(dir $@)
113
	@-mkdir -p $(dir $@)
114
endif
114
endif
115
	@$(CC) -c $(CFLAGS) -o $@ $<
115
	@$(CC) -c $(CFLAGS) -o $@ $<
116
	@$(CC) -MM $(CFLAGS) $< > $@.dep.tmp
116
	@$(CC) -MM $(CFLAGS) $< > $@.dep.tmp
117
	@sed -e "s|.*:|$@:|" < $@.dep.tmp > $@.dep
117
	@sed -e "s|.*:|$@:|" < $@.dep.tmp > $@.dep
118
ifeq ($(shell uname),WindowsNT)
118
ifeq ($(shell uname),WindowsNT)
119
	@sed -e "s/.*://" -e "s/\\$$//" < $@.dep.tmp | fmt -1 | sed -e "s/^ *//" -e "s/$$/:/" >> $@.dep
119
	@sed -e "s/.*://" -e "s/\\$$//" < $@.dep.tmp | fmt -1 | sed -e "s/^ *//" -e "s/$$/:/" >> $@.dep
120
else
120
else
121
	@sed -e 's/.*://' -e 's/\\$$//' < $@.dep.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@.dep
121
	@sed -e 's/.*://' -e 's/\\$$//' < $@.dep.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@.dep
122
endif
122
endif
123
	@rm -f $@.dep.tmp
123
	@rm -f $@.dep.tmp
124
 
124
 
125
build/%.o: %.S build/version.h
125
build/%.o: %.S build/version.h
126
	@echo [CC]     $<
126
	@echo [CC]     $<
127
ifeq ($(shell uname),WindowsNT)
127
ifeq ($(shell uname),WindowsNT)
128
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
128
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
129
else
129
else
130
	@-mkdir -p $(dir $@)
130
	@-mkdir -p $(dir $@)
131
endif
131
endif
132
	@$(CC) -c $(CFLAGS) -o $@ $<
132
	@$(CC) -c $(CFLAGS) -o $@ $<
133
	@$(CC) -MM $(CFLAGS) $< > $@.dep.tmp
133
	@$(CC) -MM $(CFLAGS) $< > $@.dep.tmp
134
	@sed -e "s|.*:|$@:|" < $@.dep.tmp > $@.dep
134
	@sed -e "s|.*:|$@:|" < $@.dep.tmp > $@.dep
135
ifeq ($(shell uname),WindowsNT)
135
ifeq ($(shell uname),WindowsNT)
136
	@sed -e "s/.*://" -e "s/\\$$//" < $@.dep.tmp | fmt -1 | sed -e "s/^ *//" -e "s/$$/:/" >> $@.dep
136
	@sed -e "s/.*://" -e "s/\\$$//" < $@.dep.tmp | fmt -1 | sed -e "s/^ *//" -e "s/$$/:/" >> $@.dep
137
else
137
else
138
	@sed -e 's/.*://' -e 's/\\$$//' < $@.dep.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@.dep
138
	@sed -e 's/.*://' -e 's/\\$$//' < $@.dep.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@.dep
139
endif
139
endif
140
	@rm -f $@.dep.tmp
140
	@rm -f $@.dep.tmp
141
 
141
 
142
build/__emcore_%.o: $(EMCOREDIR)/export/%.c
142
build/__emcore_%.o: $(EMCOREDIR)/export/%.c
143
	@echo [CC]     $<
143
	@echo [CC]     $<
144
ifeq ($(shell uname),WindowsNT)
144
ifeq ($(shell uname),WindowsNT)
145
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
145
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
146
else
146
else
147
	@-mkdir -p $(dir $@)
147
	@-mkdir -p $(dir $@)
148
endif
148
endif
149
	@$(CC) -c $(CFLAGS) -o $@ $<
149
	@$(CC) -c $(CFLAGS) -o $@ $<
150
 
150
 
151
build/__emcore_%.o: $(EMCOREDIR)/export/%.S
151
build/__emcore_%.o: $(EMCOREDIR)/export/%.S
152
	@echo [CC]     $<
152
	@echo [CC]     $<
153
ifeq ($(shell uname),WindowsNT)
153
ifeq ($(shell uname),WindowsNT)
154
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
154
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
155
else
155
else
156
	@-mkdir -p $(dir $@)
156
	@-mkdir -p $(dir $@)
157
endif
157
endif
158
	@$(CC) -c $(CFLAGS) -o $@ $<
158
	@$(CC) -c $(CFLAGS) -o $@ $<
159
 
159
 
160
build/version.h: version.h .svn/entries
160
build/version.h: version.h ../../.svn/entries
161
	@echo [PP]     $<
161
	@echo [PP]     $<
162
ifeq ($(shell uname),WindowsNT)
162
ifeq ($(shell uname),WindowsNT)
163
	@-if not exist build md build
163
	@-if not exist build md build
164
	@sed -e "s/\$$REVISION\$$/$(REVISION)/" -e "s/\$$REVISIONINT\$$/$(REVISIONINT)/" < $< > $@
164
	@sed -e "s/\$$REVISION\$$/$(REVISION)/" -e "s/\$$REVISIONINT\$$/$(REVISIONINT)/" < $< > $@
165
else
165
else
166
	@-mkdir -p build
166
	@-mkdir -p build
167
	@sed -e 's/\$$REVISION\$$/$(REVISION)/' -e 's/\$$REVISIONINT\$$/$(REVISIONINT)/' < $< > $@
167
	@sed -e 's/\$$REVISION\$$/$(REVISION)/' -e 's/\$$REVISIONINT\$$/$(REVISIONINT)/' < $< > $@
168
endif
168
endif
169
 
169
 
170
flashfiles: $(FLASHFILES)
170
flashfiles: $(FLASHFILES)
171
	@touch flashfiles.built
171
	@touch flashfiles.built
172
 
172
 
173
$(LIBBOOTDIR)/build/boot.emcorelib: libboot
173
$(LIBBOOTDIR)/build/boot.emcorelib: libboot
174
	@$(MAKE) -C $(LIBBOOTDIR)
174
	@$(MAKE) -C $(LIBBOOTDIR)
175
 
175
 
176
flashfiles/boot.emcorelib: $(LIBBOOTDIR)/build/boot.emcorelib
176
flashfiles/boot.emcorelib: $(LIBBOOTDIR)/build/boot.emcorelib
177
	@echo [CP]     $@
177
	@echo [CP]     $@
178
	@cp $< $@
178
	@cp $< $@
179
 
179
 
180
$(LIBPNGDIR)/build/png.emcorelib: libpng
180
$(LIBPNGDIR)/build/png.emcorelib: libpng
181
	@$(MAKE) -C $(LIBPNGDIR)
181
	@$(MAKE) -C $(LIBPNGDIR)
182
 
182
 
183
flashfiles/png.emcorelib: $(LIBPNGDIR)/build/png.emcorelib
183
flashfiles/png.emcorelib: $(LIBPNGDIR)/build/png.emcorelib
184
	@echo [CP]     $@
184
	@echo [CP]     $@
185
	@cp $< $@
185
	@cp $< $@
186
 
186
 
187
$(LIBUIDIR)/build/ui.emcorelib: libui
187
$(LIBUIDIR)/build/ui.emcorelib: libui
188
	@$(MAKE) -C $(LIBUIDIR)
188
	@$(MAKE) -C $(LIBUIDIR)
189
 
189
 
190
flashfiles/ui.emcorelib: $(LIBUIDIR)/build/ui.emcorelib
190
flashfiles/ui.emcorelib: $(LIBUIDIR)/build/ui.emcorelib
191
	@echo [CP]     $@
191
	@echo [CP]     $@
192
	@cp $< $@
192
	@cp $< $@
193
 
193
 
194
$(LIBMKFAT32DIR)/build/mkfat32.emcorelib: libmkfat32
194
$(LIBMKFAT32DIR)/build/mkfat32.emcorelib: libmkfat32
195
	@$(MAKE) -C $(LIBMKFAT32DIR)
195
	@$(MAKE) -C $(LIBMKFAT32DIR)
196
 
196
 
197
flashfiles/mkfat32.emcorelib: $(LIBMKFAT32DIR)/build/mkfat32.emcorelib
197
flashfiles/mkfat32.emcorelib: $(LIBMKFAT32DIR)/build/mkfat32.emcorelib
198
	@echo [CP]     $@
198
	@echo [CP]     $@
199
	@cp $< $@
199
	@cp $< $@
200
 
200
 
201
$(UMSBOOTDIR)/build/ipodclassic/umsboot-ipodclassic.ucl $(UMSBOOTDIR)/build/ipodclassic/umsboot.bin: umsboot
201
$(UMSBOOTDIR)/build/ipodclassic/umsboot-ipodclassic.ucl $(UMSBOOTDIR)/build/ipodclassic/umsboot.bin: umsboot
202
	@$(MAKE) -C $(UMSBOOTDIR) ipodclassic
202
	@$(MAKE) -C $(UMSBOOTDIR) ipodclassic
203
 
203
 
204
flashfiles/umsboot-ipodclassic.ucl: $(UMSBOOTDIR)/build/ipodclassic/umsboot-ipodclassic.ucl
204
flashfiles/umsboot-ipodclassic.ucl: $(UMSBOOTDIR)/build/ipodclassic/umsboot-ipodclassic.ucl
205
	@echo [CP]     $@
205
	@echo [CP]     $@
206
	@cp $< $@
206
	@cp $< $@
207
 
207
 
208
$(BOOTMENUDIR)/build/bootmenu-ipodclassic.emcoreapp: bootmenu-ipodclassic
208
$(BOOTMENUDIR)/build/bootmenu-ipodclassic.emcoreapp: bootmenu-ipodclassic
209
	@$(MAKE) -C $(BOOTMENUDIR)
209
	@$(MAKE) -C $(BOOTMENUDIR)
210
 
210
 
211
flashfiles/bootmenu-ipodclassic.emcoreapp: $(BOOTMENUDIR)/build/bootmenu-ipodclassic.emcoreapp
211
flashfiles/bootmenu-ipodclassic.emcoreapp: $(BOOTMENUDIR)/build/bootmenu-ipodclassic.emcoreapp
212
	@echo [CP]     $@
212
	@echo [CP]     $@
213
	@cp $< $@
213
	@cp $< $@
214
 
214
 
215
$(BOOTMENUTHEMEDIR)/build/bootmenu-ipodclassic.emcoreapp: bootmenu-ipodclassic-theme
215
$(BOOTMENUTHEMEDIR)/build/bootmenu-ipodclassic.emcoreapp: bootmenu-ipodclassic-theme
216
	@$(MAKE) -C $(BOOTMENUTHEMEDIR)
216
	@$(MAKE) -C $(BOOTMENUTHEMEDIR)
217
 
217
 
218
fsfiles/.apps/bootmenu/theme.emcoreapp: $(BOOTMENUTHEMEDIR)/build/bootmenu-ipodclassic.emcoreapp
218
fsfiles/.apps/bootmenu/theme.emcoreapp: $(BOOTMENUTHEMEDIR)/build/bootmenu-ipodclassic.emcoreapp
219
	@echo [CP]     $@
219
	@echo [CP]     $@
220
ifeq ($(shell uname),WindowsNT)
220
ifeq ($(shell uname),WindowsNT)
221
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
221
	@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))
222
else
222
else
223
	@-mkdir -p $(dir $@)
223
	@-mkdir -p $(dir $@)
224
endif
224
endif
225
	@cp $< $@
225
	@cp $< $@
226
 
226
 
227
$(EMCOREDIR)/loader/ipodclassic/build/emcoreldr-ipodclassic.bin: emcoreldr-ipodclassic
227
$(EMCOREDIR)/loader/ipodclassic/build/emcoreldr-ipodclassic.bin: emcoreldr-ipodclassic
228
	@$(MAKE) -C $(EMCOREDIR)/loader/ipodclassic
228
	@$(MAKE) -C $(EMCOREDIR)/loader/ipodclassic
229
 
229
 
230
flashfiles/emcoreldr-ipodclassic.bin: $(EMCOREDIR)/loader/ipodclassic/build/emcoreldr-ipodclassic.bin
230
flashfiles/emcoreldr-ipodclassic.bin: $(EMCOREDIR)/loader/ipodclassic/build/emcoreldr-ipodclassic.bin
231
	@echo [CP]     $@
231
	@echo [CP]     $@
232
	@cp $< $@
232
	@cp $< $@
233
 
233
 
234
flashfiles/emcore-ipodclassic.ucl: flashfiles/emcore-ipodclassic.bin
234
flashfiles/emcore-ipodclassic.ucl: flashfiles/emcore-ipodclassic.bin
235
	@echo [UCL]    $<
235
	@echo [UCL]    $<
236
	@$(UCLPACK) $< $@
236
	@$(UCLPACK) $< $@
237
 
237
 
238
$(EMCOREDIR)/build/ipodclassic/emcore.bin: emcore
238
$(EMCOREDIR)/build/ipodclassic/emcore.bin: emcore
239
	@$(MAKE) -C $(EMCOREDIR) ipodclassic
239
	@$(MAKE) -C $(EMCOREDIR) ipodclassic
240
 
240
 
241
flashfiles/emcore-ipodclassic.bin: $(EMCOREDIR)/build/ipodclassic/emcore.bin
241
flashfiles/emcore-ipodclassic.bin: $(EMCOREDIR)/build/ipodclassic/emcore.bin
242
	@echo [EMBCFG] $@
242
	@echo [EMBCFG] $@
243
	@$(EMCOREBOOTCFG) $< $@ "(3, '/.boot/init.emcoreapp', None, (2, 'bootmenu', None, None))"
243
	@$(EMCOREBOOTCFG) $< $@ "(3, '/.boot/init.emcoreapp', None, (2, 'bootmenu', None, None))"
244
 
244
 
245
clean:
245
clean:
246
	@rm -rf build
246
	@rm -rf build
247
 
247
 
248
.PHONY: all clean emcore emcoreldr-ipodclassic bootmenu-ipodclassic bootmenu-ipodclassic-theme libboot libpng libui libmkfat32 umsboot libucl flashfiles $(NAME)
248
.PHONY: all clean emcore emcoreldr-ipodclassic bootmenu-ipodclassic bootmenu-ipodclassic-theme libboot libpng libui libmkfat32 umsboot libucl flashfiles $(NAME)