Subversion Repositories freemyipod

Rev

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

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