596
|
1 |
#
|
|
2 |
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
|
3 |
# All rights reserved.
|
|
4 |
# This component and the accompanying materials are made available
|
|
5 |
# under the terms of the License "Eclipse Public License v1.0"
|
|
6 |
# which accompanies this distribution, and is available
|
|
7 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
|
8 |
#
|
|
9 |
# Initial Contributors:
|
|
10 |
# Nokia Corporation - initial contribution.
|
|
11 |
#
|
|
12 |
# Contributors:
|
|
13 |
#
|
|
14 |
# Description: iMaker FAT (File Allocation Table) image configuration
|
|
15 |
#
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
###############################################################################
|
|
20 |
# ___ _ _____
|
|
21 |
# | __|/_\|_ _|
|
|
22 |
# | _|/ _ \ | |
|
|
23 |
# |_|/_/ \_\|_|
|
|
24 |
#
|
|
25 |
|
|
26 |
USE_FILEDISK = 0
|
|
27 |
USE_FSIMAGE = 0
|
|
28 |
USE_SOSUDA = 1
|
|
29 |
|
|
30 |
FATEMPTY_CMD =
|
|
31 |
|
|
32 |
|
|
33 |
###############################################################################
|
|
34 |
#
|
|
35 |
|
|
36 |
define FAT_EVAL
|
|
37 |
$1_TITLE = $1
|
|
38 |
$1_ROOT = $$(OUTDIR)/$2
|
|
39 |
$1_DIR = $$($1_ROOT)
|
|
40 |
$1_NAME = $$(NAME)
|
|
41 |
$1_PREFIX = $$($1_DIR)/$$($1_NAME)
|
|
42 |
$1_IDIR =
|
|
43 |
$1_HBY =
|
|
44 |
$1_OBY =
|
|
45 |
$1_OPT = $$(BLDROM_OPT) -D_EABI=$$(ARM_VERSION)
|
|
46 |
$1_MSTOBY = $$($1_PREFIX)_$2_master.oby
|
|
47 |
$1_HEADER =
|
|
48 |
$1_INLINE =
|
|
49 |
$1_FOOTER =
|
|
50 |
$1_TIME = $$(DAY)/$$(MONTH)/$$(YEAR)
|
|
51 |
|
|
52 |
$1_DEFHRH = $$($1_PREFIX)_$2_define.hrh
|
|
53 |
$1_FEAXML =
|
|
54 |
$1_FEAIBY =
|
|
55 |
|
|
56 |
$1_ROMVER = $$(CORE_ROMVER)
|
|
57 |
$1_ID = $$(if $$(filter $2_%,$$(TARGETNAME)),$$(TARGETID1),00)
|
|
58 |
$1_REVISION = 01
|
|
59 |
$1_VERSION = $$(CORE_VERSION).$$($1_ID).$$($1_REVISION)
|
|
60 |
$1_SWVERFILE = $$($1_DATADIR)/Resource/Versions/User Content Package_$1.txt
|
|
61 |
$1_SWVERINFO = $$($1_VERSION)
|
|
62 |
|
|
63 |
$1_IMG = $$($1_PREFIX).$2.img
|
|
64 |
$1_LOG = $$($1_PREFIX).$2.log
|
|
65 |
$1_OUTOBY = $$($1_PREFIX).$2.oby
|
|
66 |
|
|
67 |
$1_PLUGINLOG = $$($1_PREFIX)_$2_bldromplugin.log
|
|
68 |
$1_UDEBFILE = $$(TRACE_UDEBFILE)
|
|
69 |
|
|
70 |
$1_OBYGEN =
|
|
71 |
$1_ORIDEIBY = $$($1_PREFIX)_$2_override.iby
|
|
72 |
$1_ORIDEFILES = $$(IMAGE_ORIDEFILES)
|
|
73 |
$1_ORIDECONF = $$(IMAGE_ORIDECONF)
|
|
74 |
|
|
75 |
$1_CONECONF = $$(PRODUCT_NAME)_$2_$$($1_ID)$$(addprefix _,$$($1_VARNAME))_root.confml
|
|
76 |
$1_CONEOPT = --all-layers --impl-tag=target:$2
|
|
77 |
|
|
78 |
$1_DRIVE = C
|
|
79 |
$1_FATTYPE = 16# FAT16
|
|
80 |
$1_SIZE = 20480# kB
|
|
81 |
$1_SIZEB = $$(call peval,$$($1_SIZE) * 1024)# B
|
|
82 |
$1_DISKSIZE = $$($1_SIZE)# kB
|
|
83 |
$1_SECTORSIZE = 512# B
|
|
84 |
$1_CLUSTERSIZE = 4# kB
|
|
85 |
$1_FATTABLE = 1
|
|
86 |
$1_VOLUME =
|
|
87 |
|
|
88 |
$1_TOUCH = 0#$$(YEAR)$$(MONTH)$$(DAY)000000
|
|
89 |
$1_CPDIR =
|
|
90 |
$1_ZIP =
|
|
91 |
$1_DATADIR = $$($1_DIR)/datadrive
|
|
92 |
|
|
93 |
$1_VARNAME = $$(if $$(filter $2_%,$$(TARGETNAME)),$$(TARGETID2-))
|
|
94 |
$1_VARROOT = $$(or $$(wildcard $$(PRODUCT_DIR)/$2),$$(or $$(if $$(PRODUCT_MSTNAME),$$(wildcard $$(PRODUCT_MSTDIR)/$2)),$$(PRODUCT_DIR)/$2))
|
|
95 |
$1_VARDIR = $$(if $$(and $$(call true,$$(USE_CONE)),$$(call true,$$(IMAKER_MKRESTARTS))),$$(CONE_OUTDIR),$$($1_VARROOT)/$2_$$($1_ID)$$(addprefix _,$$($1_VARNAME))$$(call iif,$$(USE_CONE),/content))
|
|
96 |
|
|
97 |
$1_EXCLFILE = $$($1_DATADIR)/private/100059C9/excludelist.txt
|
|
98 |
|
|
99 |
define $1_EXCLADD
|
|
100 |
*
|
|
101 |
endef
|
|
102 |
|
|
103 |
define $1_EXCLRM
|
|
104 |
endef
|
|
105 |
|
|
106 |
$1EMPTY_TITLE = $$($1_TITLE) Empty
|
|
107 |
$1EMPTY_IMG = $$($1_PREFIX).$2empty.img
|
|
108 |
$1EMPTY_CMD = $$(FATEMPTY_CMD)
|
|
109 |
|
|
110 |
#==============================================================================
|
|
111 |
|
|
112 |
define $1_MSTOBYINFO
|
|
113 |
$$(call BLDROM_HDRINFO,$1)
|
|
114 |
|
|
115 |
ROM_IMAGE 0 non-xip size=0x00000000
|
|
116 |
|
|
117 |
DATA_IMAGE 0 $$(basename $$($1_IMG)) size=$$(call peval,$$($1_DISKSIZE) * 1024) fat$$(if $$(filter %32,$$($1_FATTYPE)),32,16)
|
|
118 |
|
|
119 |
$$(call BLDROM_PLUGINFO,$1)
|
|
120 |
|
|
121 |
/* $1 header
|
|
122 |
*/
|
|
123 |
$$($1_HDRINFO)
|
|
124 |
|
|
125 |
DATA_IMAGE[0] {
|
|
126 |
$$(if $$($1_VOLUME),volume=$$($1_VOLUME))
|
|
127 |
fattable=$$($1_FATTABLE)
|
|
128 |
#ifndef _IMAGE_INCLUDE_HEADER_ONLY
|
|
129 |
$$(BLR.$1.OBY)
|
|
130 |
$$($1_INLINE)
|
|
131 |
$$($1_FOOTERINFO)
|
|
132 |
}
|
|
133 |
#endif // _IMAGE_INCLUDE_HEADER_ONLY
|
|
134 |
endef
|
|
135 |
|
|
136 |
define $1_HDRINFO
|
|
137 |
$$(DEFINE) _IMAGE_WORKDIR $$($1_DIR)
|
|
138 |
$$(call mac2cppdef,$$(BLR.$1.OPT))
|
|
139 |
$$(BLR.$1.HBY)
|
|
140 |
$$($1_HEADER)
|
|
141 |
$$(if $$(filter $3,$$(USE_VARIANTBLD)),$$(VARIANT_HEADER))
|
|
142 |
endef
|
|
143 |
|
|
144 |
define $1_FOOTERINFO
|
|
145 |
$$(if $$($1_TIME),time=$$($1_TIME))
|
|
146 |
$$(if $$($1_ROMVER),version=$$($1_ROMVER))
|
|
147 |
$$($1_FOOTER)
|
|
148 |
endef
|
|
149 |
|
|
150 |
$1_ORIDEINFO =
|
|
151 |
|
|
152 |
#==============================================================================
|
|
153 |
# FAT pre-build
|
|
154 |
|
|
155 |
CLEAN_$1PRE =\
|
|
156 |
$$(if $$(filter $3,$$(USE_VARIANTBLD)),$$(CLEAN_VARIANT),deldir | "$$($1_DATADIR)") |\
|
|
157 |
$$(CLEAN_$1FILE) | $$(CLEAN_DEFHRH) | $$(CLEAN_FEATMAN)
|
|
158 |
|
|
159 |
BUILD_$1PRE =\
|
|
160 |
echo-q | Preparing $$($1_TITLE) FAT image creation |\
|
|
161 |
$$(if $$(filter $3,$$(USE_VARIANTBLD)),$$(BUILD_VARIANT) |,\
|
|
162 |
mkdir | "$$($1_DATADIR)" |\
|
|
163 |
$$(if $$($1_ZIP),\
|
|
164 |
$$(eval __i_zip := $$(foreach zip,$$($1_ZIP),$$(zip)$$(if $$(filter %.zip,$$(call lcase,$$(zip))),,/*.zip)))\
|
|
165 |
echo-q | Extracting `$$(__i_zip)' to `$$($1_DATADIR)' |\
|
|
166 |
unzip | "$$(__i_zip)" | $$($1_DATADIR) |)\
|
|
167 |
$$(if $$($1_CPDIR),\
|
|
168 |
copydir | "$$($1_CPDIR)" | $$($1_DATADIR) |))\
|
|
169 |
mkdir | "$$($1_DIR)" |\
|
|
170 |
$$(BUILD_$1FILE) |\
|
|
171 |
$$(call iif,$$(BLR.$1.OBY),$$(BUILD_DEFHRH) |)\
|
|
172 |
$$(BUILD_FEATMAN)
|
|
173 |
|
|
174 |
CLEAN_$1FILE =\
|
|
175 |
del | "$$($1_MSTOBY)" "$$($1_ORIDEIBY)" "$$($1_SWVERFILE)" |\
|
|
176 |
del | $$(call getgenfiles,$$($1_OBYGEN))
|
|
177 |
|
|
178 |
BUILD_$1FILE =\
|
|
179 |
echo-q | Generating file(s) for $$($1_TITLE) FAT image creation |\
|
|
180 |
$$(call iif,$$(BLR.$1.OBY),\
|
|
181 |
write-c | "$$($1_MSTOBY)" | $$(call def2str,$$($1_MSTOBYINFO))\n |)\
|
|
182 |
$$(if $$($1_SWVERINFO),\
|
|
183 |
writeu | "$$($1_SWVERFILE)" | $$(call quote,$$($1_SWVERINFO)) |)\
|
|
184 |
$$(if $$($1_ORIDEINFO),\
|
|
185 |
write-c | "$$($1_ORIDEIBY)" | $$(call def2str,$$($1_ORIDEINFO)) |)\
|
|
186 |
$$(if $$($1_ORIDECONF),\
|
|
187 |
genorideiby | >>$$($1_ORIDEIBY) | $$(call def2str,$$($1_ORIDEFILES) | $$($1_ORIDECONF)) |)\
|
|
188 |
$$($1_OBYGEN)
|
|
189 |
|
|
190 |
#==============================================================================
|
|
191 |
# FAT build
|
|
192 |
|
|
193 |
BLR.$1.IDIR = $$(call dir2inc,$$($1_IDIR) $$(call iif,$$(USE_FEATVAR),,$$(FEATVAR_IDIR)))
|
|
194 |
BLR.$1.HBY = $$(call includeiby,$$(IMAGE_HBY) $$($1_HBY))
|
|
195 |
BLR.$1.OBY = $$(call includeiby,$$($1_OBY))\
|
|
196 |
$$(and $$(call true,$$(SYMBIAN_FEATURE_MANAGER)),$$($1_FEAIBY),$$(call mac2cppdef,-U__FEATURE_IBY__)$$(call includeiby,$$($1_FEAIBY)))\
|
|
197 |
$$(call includeiby,$$(and $$(filter $3,$$(USE_VARIANTBLD)),$$(call true,$$(VARIANT_INCDIR)$$(USE_SOSUDA)),$$(VARIANT_OBY))\
|
|
198 |
$$(if $$(strip $$($1_ORIDEINFO)$$($1_ORIDECONF)),$$($1_ORIDEIBY)))
|
|
199 |
BLR.$1.OPT = $$($1_OPT) -noimage -o$$(call pathconv,$$($1_PREFIX)).dummy0.img $$(BLDROPT)
|
|
200 |
BLR.$1.POST = $$(call iif,$$(USE_SOSUDA),,copyiby | "$$($1_OUTOBY)" | $$($1_DATADIR))
|
|
201 |
|
|
202 |
CLEAN_$1 = $$(call CLEAN_BLDROM,$1) | $$(CLEAN_FILEDISK) | $$(CLEAN_WINIMAGE) | $$(CLEAN_FSIMAGE)
|
|
203 |
BUILD_$1 =\
|
|
204 |
$$(call iif,$$(BLR.$1.OBY),$$(call BUILD_BLDROM,$1) |)\
|
|
205 |
$$(if $$($1_EXCLFILE),\
|
|
206 |
genexclst | $$($1_EXCLFILE) | $$($1_DATADIR) | $$($1_DRIVE): |\
|
|
207 |
$$(call def2str,$$($1_EXCLADD) | $$($1_EXCLRM)) |)\
|
|
208 |
$$(call iif,$$($1_TOUCH),\
|
|
209 |
finddir-r | "$$($1_DATADIR)" | * ||\
|
|
210 |
find-ar | "$$($1_DATADIR)" | * ||\
|
|
211 |
touch | __find__ | $$($1_TOUCH) |)\
|
|
212 |
echo-q | Creating $$($1_TITLE) FAT image |\
|
|
213 |
$$(call iif,$$(USE_SOSUDA),$$(BUILD_ROFSBLDFAT),\
|
|
214 |
$$(call iif,$$(USE_FSIMAGE),$$(BUILD_FSIMAGE),\
|
|
215 |
$$(call iif,$$(USE_FILEDISK),$$(BUILD_FILEDISK),$$(BUILD_WINIMAGE))))
|
|
216 |
|
|
217 |
REPORT_$1 =\
|
|
218 |
$$($1_TITLE) dir | $$($1_DIR) | d |\
|
|
219 |
$$($1_TITLE) image | $$($1_IMG) | f
|
|
220 |
|
|
221 |
#==============================================================================
|
|
222 |
# FAT post-build
|
|
223 |
|
|
224 |
CLEAN_$1POST =
|
|
225 |
BUILD_$1POST =
|
|
226 |
REPORT_$1POST =
|
|
227 |
|
|
228 |
#==============================================================================
|
|
229 |
# Empty FAT
|
|
230 |
|
|
231 |
CLEAN_$1EMPTY = del | "$$($1EMPTY_IMG)"
|
|
232 |
BUILD_$1EMPTY = $$(if $$($1EMPTY_CMD),\
|
|
233 |
echo-q | Creating $$($1EMPTY_TITLE) FAT image |\
|
|
234 |
mkdir | "$$($1_DIR)" |\
|
|
235 |
cmd | $$($1EMPTY_CMD))
|
|
236 |
|
|
237 |
REPORT_$1EMPTY = $$($1EMPTY_TITLE) image | $$($1EMPTY_IMG) | f
|
|
238 |
|
|
239 |
#==============================================================================
|
|
240 |
# FAT steps
|
|
241 |
|
|
242 |
SOS.$1.STEPS =\
|
|
243 |
$$(call iif,$$(SKIPPRE),,$$(and $$(filter $3,$$(USE_VARIANTBLD)),$$(call true,$$(USE_CONE)),CONEGEN RESTART) $1PRE)\
|
|
244 |
$$(call iif,$$(SKIPBLD),,$1) $$(call iif,$$(SKIPPOST),,$1POST)
|
|
245 |
|
|
246 |
SOS.$1EMPTY.STEPS = $$(if $$(BUILD_$1EMPTY),$1EMPTY)
|
|
247 |
|
|
248 |
ALL.$1.STEPS = $$(SOS.$1.STEPS)
|
|
249 |
ALL.$1EMPTY.STEPS = $$(SOS.$1EMPTY.STEPS)
|
|
250 |
|
|
251 |
#==============================================================================
|
|
252 |
# Targets
|
|
253 |
|
|
254 |
.PHONY: $2 $2-cone $2-image $2-pre $2empty $2empty-image variant$2
|
|
255 |
|
|
256 |
$2 $2% : IMAGE_TYPE = $1
|
|
257 |
|
|
258 |
$2 : ;@$$(call IMAKER,$$$$(ALL.$1.STEPS))
|
|
259 |
$2-image: ;@$$(call IMAKER,$$$$(SOS.$1.STEPS))
|
|
260 |
$2-cone : ;@$$(call IMAKER,CONEGEN)
|
|
261 |
$2-pre : ;@$$(call IMAKER,$1PRE)
|
|
262 |
|
|
263 |
$2empty : ;@$$(call IMAKER,$$$$(ALL.$1EMPTY.STEPS))
|
|
264 |
$2empty-image: ;@$$(call IMAKER,$$$$(SOS.$1EMPTY.STEPS))
|
|
265 |
|
|
266 |
variant$2 variant$2% : USE_CONE = 0
|
|
267 |
variant$2 variant$2% $2_%: USE_VARIANTBLD = $3
|
|
268 |
variant$2 variant$2% $2_%: $2$$(TARGETEXT) ;
|
|
269 |
|
|
270 |
#==============================================================================
|
|
271 |
# Helps
|
|
272 |
|
|
273 |
$(call add_help,$2,t,Create $$($1_TITLE) image.)
|
|
274 |
$(call add_help,$2-dir,t,Create directory structure for $$($1_TITLE) creation.)
|
|
275 |
$(call add_help,$2-image,t,Create $$($1_TITLE) image (.img) file.)
|
|
276 |
$(call add_help,$2-pre,t,Run pre-step, create files etc. for $$($1_TITLE) creation.)
|
|
277 |
$(call add_help,variant$2,t,Create $$($1_TITLE) image from a variant directory. Be sure to define the VARIANT_DIR.)
|
|
278 |
|
|
279 |
BUILD_HELPDYNAMIC +=\
|
|
280 |
$$(call add_help,$$(call getlastdir,$$(wildcard $$($1_VARROOT)/$2_*/)),t,$$($1_TITLE) variant target.)\
|
|
281 |
$$(eval include $$(wildcard $$($1_VARROOT)/$2_*/$$(VARIANT_MKNAME)))
|
|
282 |
|
|
283 |
endef # FAT_EVAL
|
|
284 |
|
|
285 |
|
|
286 |
###############################################################################
|
|
287 |
#
|
|
288 |
|
|
289 |
$(eval $(call FAT_EVAL,EMMC,emmc,e))
|
|
290 |
$(eval $(call FAT_EVAL,MCARD,mcard,m))
|
|
291 |
$(eval $(call FAT_EVAL,UDA,uda,u))
|
|
292 |
|
|
293 |
$(call includechk,$(addprefix $(IMAKER_DIR)/imaker_,emmc.mk memcard.mk uda.mk))
|
|
294 |
|
|
295 |
|
|
296 |
# END OF IMAKER_FAT.MK
|