]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Sample/Platform/CommonIa32.dsc
1) Sync EdkCompatibilityPkg with EDK 1.04. The changes includes:
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Platform / CommonIa32.dsc
CommitLineData
3eb9473e 1#/*++\r
2#\r
3# Copyright (c) 2004 - 2007, Intel Corporation \r
4# All rights reserved. This program and the accompanying materials \r
5# are licensed and made available under the terms and conditions of the BSD License \r
6# which accompanies this distribution. The full text of the license may be found at \r
7# http://opensource.org/licenses/bsd-license.php \r
8# \r
9# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11# \r
12# Module Name:\r
13# \r
14# CommonIa32.dsc\r
15#\r
16# Abstract:\r
17#\r
18# This is the build description file containing the processor architecture\r
19# dependent build instructions.\r
20#\r
21# Notes:\r
22# \r
23# The info in this file is broken down into sections. The start of a section\r
24# is designated by a "[" in the first column. So the [=====] separater ends\r
25# a section.\r
26# \r
27#--*/\r
28\r
29\r
30[=============================================================================]\r
31#\r
32# These are the package descriptions. They are tagged as\r
33# [Package.$(COMPONENT_TYPE).$(PACKAGE)], where COMPONENT_TYPE is typically\r
34# defined in the component INF file, and PACKAGE is typically specified\r
35# in the components section in the main DSC file. Main DSC file can also define\r
36# platform specific package descriptions. \r
37#\r
38\r
39[=============================================================================]\r
40[Package.APPLICATION.Default]\r
41PACKAGE.INF\r
42\[.]\r
43BASE_NAME = $(BASE_NAME)\r
44FFS_FILEGUID = $(FILE_GUID)\r
45FFS_FILETYPE = EFI_FV_FILETYPE_APPLICATION\r
46FFS_ATTRIB_CHECKSUM = TRUE\r
47\r
48IMAGE_SCRIPT =\r
49{\r
50 Compress ($(COMPRESS_METHOD)) {\r
51 Tool (\r
52 $(OEMTOOLPATH)\GenCRC32Section\r
53 ARGS= -i $(DEST_DIR)\$(BASE_NAME).pe32\r
54 $(DEST_DIR)\$(BASE_NAME).ui\r
55 $(DEST_DIR)\$(BASE_NAME).ver\r
56 -o $(DEST_DIR)\$(BASE_NAME).crc32\r
57 OUTPUT = $(DEST_DIR)\$(BASE_NAME).crc32\r
58 )\r
59 }\r
60}\r
61\r
62[=============================================================================]\r
63[Package.Apriori.Default|DefaultStripped,Package.FILE.Default|DefaultStripped]\r
64PACKAGE.INF\r
65\[.]\r
66BASE_NAME = $(BASE_NAME)\r
67FFS_FILEGUID = $(FILE_GUID)\r
68FFS_FILETYPE = EFI_FV_FILETYPE_FREEFORM\r
69FFS_ATTRIB_CHECKSUM = TRUE\r
70\r
71IMAGE_SCRIPT =\r
72{ \r
73 $(BASE_NAME).sec \r
74}\r
75\r
76[=============================================================================]\r
77[Package.RAWFILE.Default|DefaultStripped,Package.Config.Default|DefaultStripped|Config,Package.Microcode.Default|DefaultStripped]\r
78PACKAGE.INF\r
79\[.]\r
80BASE_NAME = $(BASE_NAME)\r
81FFS_FILEGUID = $(FILE_GUID)\r
82FFS_FILETYPE = EFI_FV_FILETYPE_RAW\r
83FFS_ATTRIB_CHECKSUM = TRUE\r
84\r
85IMAGE_SCRIPT =\r
86{\r
87 $(BASE_NAME).Bin\r
88}\r
89\r
90[=============================================================================]\r
91[Package.BINARY.Default,Package.Legacy16.Default,Package.Logo.Default|Logo]\r
92PACKAGE.INF\r
93\[.]\r
94BASE_NAME = $(BASE_NAME)\r
95FFS_FILEGUID = $(FILE_GUID)\r
96FFS_FILETYPE = EFI_FV_FILETYPE_FREEFORM\r
97FFS_ATTRIB_CHECKSUM = TRUE\r
98\r
99IMAGE_SCRIPT =\r
100{\r
101 Compress ($(COMPRESS_METHOD)) {\r
102 Tool ( $(OEMTOOLPATH)\GenCRC32Section\r
103 ARGS = -i $(DEST_DIR)\$(BASE_NAME).sec\r
104 -o $(DEST_DIR)\$(BASE_NAME).crc32\r
105 OUTPUT = $(DEST_DIR)\$(BASE_NAME).crc32\r
106 )\r
107 }\r
108}\r
109\r
110[=============================================================================]\r
111#\r
112# Package definition for TE files\r
113#\r
114[Package.PE32_PEIM.TE_PEIM]\r
115PACKAGE.INF\r
116\[.]\r
117BASE_NAME = $(BASE_NAME)\r
118FFS_FILEGUID = $(FILE_GUID)\r
119FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
120FFS_ATTRIB_CHECKSUM = TRUE\r
121\r
122IMAGE_SCRIPT =\r
123{ \r
124 $(BASE_NAME).dpx \r
125 $(BASE_NAME).tes\r
126 $(BASE_NAME).ui \r
127 $(BASE_NAME).ver \r
128}\r
129\r
130[=============================================================================]\r
131#\r
132# Package definition to put the IFR data in a separate section in the\r
133# FFS file.\r
134#\r
135[Package.BS_DRIVER.Ifr_Bin]\r
136PACKAGE.INF\r
137\[.]\r
138BASE_NAME = $(BASE_NAME)\r
139FFS_FILEGUID = $(FILE_GUID)\r
140FFS_FILETYPE = EFI_FV_FILETYPE_DRIVER\r
141FFS_ATTRIB_CHECKSUM = TRUE\r
142\r
143IMAGE_SCRIPT =\r
144{\r
145 Compress ($(COMPRESS_METHOD)) {\r
146 Tool (\r
147 $(OEMTOOLPATH)\GenCRC32Section\r
148 ARGS= -i $(DEST_DIR)\$(BASE_NAME).dpx\r
149 $(DEST_DIR)\$(BASE_NAME).pe32\r
150 $(DEST_DIR)\$(BASE_NAME).ui\r
151 $(DEST_DIR)\$(BASE_NAME).ver\r
152 $(DEST_DIR)\$(BASE_NAME)IfrBin.sec\r
153 -o $(DEST_DIR)\$(BASE_NAME).crc32\r
154 OUTPUT = $(DEST_DIR)\$(BASE_NAME).crc32\r
155 )\r
156 }\r
157}\r
158\r
159[=============================================================================]\r
160[Package.PEI_CORE.Default]\r
161PACKAGE.INF\r
162\[.]\r
163BASE_NAME = $(BASE_NAME)\r
164FFS_FILEGUID = $(FILE_GUID)\r
165FFS_FILETYPE = EFI_FV_FILETYPE_PEI_CORE\r
166FFS_ATTRIB_CHECKSUM = TRUE\r
167\r
168IMAGE_SCRIPT =\r
169{ \\r
170 $(BASE_NAME).pe32 \\r
171 $(BASE_NAME).ui \\r
172 $(BASE_NAME).ver \\r
173}\r
174\r
175[=============================================================================]\r
176[Package.PEI_CORE.TE_PEIM]\r
177PACKAGE.INF\r
178\[.]\r
179BASE_NAME = $(BASE_NAME)\r
180FFS_FILEGUID = $(FILE_GUID)\r
181FFS_FILETYPE = EFI_FV_FILETYPE_PEI_CORE\r
182FFS_ATTRIB_CHECKSUM = TRUE\r
183\r
184IMAGE_SCRIPT =\r
185{ \\r
186 $(BASE_NAME).tes \\r
187 $(BASE_NAME).ui \\r
188 $(BASE_NAME).ver \\r
189}\r
190\r
191[=============================================================================]\r
192[Package.PE32_PEIM.Default]\r
193PACKAGE.INF\r
194\[.]\r
195BASE_NAME = $(BASE_NAME)\r
196FFS_FILEGUID = $(FILE_GUID)\r
197FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
198FFS_ATTRIB_CHECKSUM = TRUE\r
199\r
200IMAGE_SCRIPT =\r
201{ \\r
202 $(BASE_NAME).dpx \\r
203 $(BASE_NAME).pe32 \\r
204 $(BASE_NAME).ui \\r
205 $(BASE_NAME).ver \\r
206}\r
207\r
208[=============================================================================]\r
209[Package.PE32_PEIM.Relocatable]\r
210PACKAGE.INF\r
211\[.]\r
212BASE_NAME = $(BASE_NAME)\r
213FFS_FILEGUID = $(FILE_GUID)\r
214FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
215FFS_ATTRIB_CHECKSUM = TRUE\r
216\r
217IMAGE_SCRIPT =\r
218{ \\r
219 $(BASE_NAME).dpx \\r
220 $(BASE_NAME).pe32 \\r
221}\r
222\r
223[=============================================================================]\r
224[Package.PE32_PEIM.CompressPEIM]\r
225PACKAGE.INF\r
226\[.]\r
227BASE_NAME = $(BASE_NAME)\r
228FFS_FILEGUID = $(FILE_GUID)\r
229FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
230FFS_ATTRIB_CHECKSUM = TRUE\r
231\r
232IMAGE_SCRIPT =\r
233{ \r
234 $(BASE_NAME).dpx \r
235 Compress ($(COMPRESS_METHOD)) {\r
236 $(BASE_NAME).pe32\r
237 $(BASE_NAME).ui \r
238 $(BASE_NAME).ver\r
239 }\r
240}\r
241\r
242[=============================================================================]\r
243[Package.COMBINED_PEIM_DRIVER.Default]\r
244PACKAGE.INF\r
245\[.]\r
246BASE_NAME = $(BASE_NAME)\r
247FFS_FILEGUID = $(FILE_GUID)\r
248FFS_FILETYPE = EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER\r
249FFS_ATTRIB_CHECKSUM = TRUE\r
250\r
251IMAGE_SCRIPT =\r
252{ \\r
253 $(BASE_NAME).dpx \\r
254 $(BASE_NAME).dpxd \\r
255 $(BASE_NAME).pe32 \\r
256 $(BASE_NAME).ui \\r
257 $(BASE_NAME).ver \\r
258}\r
259\r
260[=============================================================================]\r
261[Package.BS_DRIVER.DxeMain]\r
262PACKAGE.INF\r
263\[.]\r
264BASE_NAME = $(BASE_NAME)\r
265FFS_FILEGUID = $(FILE_GUID)\r
266FFS_FILETYPE = EFI_FV_FILETYPE_DXE_CORE\r
267FFS_ATTRIB_CHECKSUM = TRUE\r
268\r
269IMAGE_SCRIPT =\r
270{\r
271 Compress ($(COMPRESS_METHOD)) {\r
272 $(BASE_NAME).pe32\r
273 $(BASE_NAME).ui\r
274 $(BASE_NAME).ver\r
275 } \r
276}\r
277\r
3eb9473e 278[=============================================================================]\r
279[Package.BS_DRIVER.Default,Package.RT_DRIVER.Default]\r
280PACKAGE.INF\r
281\[.]\r
282BASE_NAME = $(BASE_NAME)\r
283FFS_FILEGUID = $(FILE_GUID)\r
284FFS_FILETYPE = EFI_FV_FILETYPE_DRIVER\r
285FFS_ATTRIB_CHECKSUM = TRUE\r
286\r
287IMAGE_SCRIPT =\r
288{\r
289 Compress ($(COMPRESS_METHOD)) {\r
290 Tool (\r
291 $(OEMTOOLPATH)\GenCRC32Section\r
292 ARGS= -i $(DEST_DIR)\$(BASE_NAME).dpx\r
293 $(DEST_DIR)\$(BASE_NAME).pe32\r
294 $(DEST_DIR)\$(BASE_NAME).ui\r
295 $(DEST_DIR)\$(BASE_NAME).ver\r
296 -o $(DEST_DIR)\$(BASE_NAME).crc32\r
297 OUTPUT = $(DEST_DIR)\$(BASE_NAME).crc32\r
298 )\r
299 }\r
300}\r
301\r
302[=============================================================================]\r
303[Package.FvImageFile.Default]\r
304PACKAGE.INF\r
305\[.]\r
306BASE_NAME = $(BASE_NAME)\r
307FFS_FILEGUID = $(FILE_GUID)\r
308FFS_FILETYPE = EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE\r
309FFS_ATTRIB_CHECKSUM = TRUE\r
310\r
311IMAGE_SCRIPT =\r
312{\r
313 Compress ($(COMPRESS_METHOD)) {\r
314 Tool (\r
315 $(OEMTOOLPATH)\GenCRC32Section\r
316 ARGS= -i $(DEST_DIR)\$(SOURCE_FV)Fv.sec\r
317 -o $(DEST_DIR)\$(BASE_NAME)fv.crc32\r
318 OUTPUT = $(DEST_DIR)\$(BASE_NAME)fv.crc32\r
319 )\r
320 }\r
321}\r
322\r
323[=============================================================================]\r
324#\r
325# Define a package that "signs" our capsule cargo FV\r
326#\r
327[Package.FvImageFile.SignedFVPackage]\r
328PACKAGE.INF\r
329\[.]\r
330BASE_NAME = $(BASE_NAME)\r
331FFS_FILEGUID = $(FILE_GUID)\r
332FFS_FILETYPE = EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE\r
333FFS_ATTRIB_CHECKSUM = TRUE\r
334\r
335IMAGE_SCRIPT =\r
336{\r
337 Tool (\r
338 $(OEMTOOLPATH)\GenCRC32Section\r
339 ARGS= -i $(DEST_DIR)\$(SOURCE_FV)Fv.sec\r
340 -o $(DEST_DIR)\$(BASE_NAME).crc32\r
341 OUTPUT = $(DEST_DIR)\$(BASE_NAME).crc32\r
342 )\r
343}\r
344\r
345[=============================================================================]\r
346[Package.FvImageFile.FvMainCompact]\r
347PACKAGE.INF\r
348\[.]\r
349BASE_NAME = $(BASE_NAME)\r
350FFS_FILEGUID = $(FILE_GUID)\r
351FFS_FILETYPE = EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE\r
352FFS_ATTRIB_CHECKSUM = TRUE\r
353\r
354IMAGE_SCRIPT =\r
355{\r
356 Compress ($(COMPRESS_METHOD)) {\r
357 Blank.pad\r
358 $(SOURCE_FV)Fv.sec\r
359 }\r
360}\r
95d675b5 361\r
3eb9473e 362[=============================================================================]\r
363#\r
364# Stripped package descriptions for size reduction.\r
365#\r
366[=============================================================================]\r
367[Package.APPLICATION.DefaultStripped]\r
368PACKAGE.INF\r
369\[.]\r
370BASE_NAME = $(BASE_NAME)\r
371FFS_FILEGUID = $(FILE_GUID)\r
372FFS_FILETYPE = EFI_FV_FILETYPE_APPLICATION\r
373FFS_ATTRIB_CHECKSUM = TRUE\r
374\r
375IMAGE_SCRIPT =\r
376{\r
377 Compress ($(COMPRESS_METHOD)) {\r
378 $(DEST_DIR)\$(BASE_NAME).pe32\r
379 }\r
380}\r
381\r
382[=============================================================================]\r
383[Package.BINARY.DefaultStripped,Package.Legacy16.DefaultStripped,Package.Logo.DefaultStripped|LogoStripped]\r
384PACKAGE.INF\r
385\[.]\r
386BASE_NAME = $(BASE_NAME)\r
387FFS_FILEGUID = $(FILE_GUID)\r
388FFS_FILETYPE = EFI_FV_FILETYPE_FREEFORM\r
389FFS_ATTRIB_CHECKSUM = TRUE\r
390\r
391IMAGE_SCRIPT =\r
392{\r
393 Compress ($(COMPRESS_METHOD)) {\r
394 $(DEST_DIR)\$(BASE_NAME).sec\r
395 }\r
396}\r
397\r
398[=============================================================================]\r
399[Package.PEI_CORE.DefaultStripped]\r
400PACKAGE.INF\r
401\[.]\r
402BASE_NAME = $(BASE_NAME)\r
403FFS_FILEGUID = $(FILE_GUID)\r
404FFS_FILETYPE = EFI_FV_FILETYPE_PEI_CORE\r
405FFS_ATTRIB_CHECKSUM = TRUE\r
406\r
407IMAGE_SCRIPT =\r
408{ \\r
409 $(BASE_NAME).pe32 \\r
410}\r
411\r
412[=============================================================================]\r
413[Package.PEI_CORE.TE_PEIMStripped]\r
414PACKAGE.INF\r
415\[.]\r
416BASE_NAME = $(BASE_NAME)\r
417FFS_FILEGUID = $(FILE_GUID)\r
418FFS_FILETYPE = EFI_FV_FILETYPE_PEI_CORE\r
419FFS_ATTRIB_CHECKSUM = TRUE\r
420\r
421IMAGE_SCRIPT =\r
422{\r
423 $(BASE_NAME).tes\r
424}\r
95d675b5 425\r
3eb9473e 426[=============================================================================]\r
427[Package.PE32_PEIM.DefaultStripped]\r
428PACKAGE.INF\r
429\[.]\r
430BASE_NAME = $(BASE_NAME)\r
431FFS_FILEGUID = $(FILE_GUID)\r
432FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
433FFS_ATTRIB_CHECKSUM = TRUE\r
434\r
435IMAGE_SCRIPT =\r
436{ \\r
437 $(BASE_NAME).dpx \\r
438 $(BASE_NAME).pe32 \\r
439}\r
440\r
441[=============================================================================]\r
442[Package.PE32_PEIM.CompressPEIMStripped]\r
443PACKAGE.INF\r
444\[.]\r
445BASE_NAME = $(BASE_NAME)\r
446FFS_FILEGUID = $(FILE_GUID)\r
447FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
448FFS_ATTRIB_CHECKSUM = TRUE\r
449\r
450IMAGE_SCRIPT =\r
451{\r
452 $(BASE_NAME).dpx\r
453 Compress ($(COMPRESS_METHOD)) {\r
454 $(BASE_NAME).pe32\r
455 }\r
456}\r
457\r
458[=============================================================================]\r
459#\r
460# Package definition for TE files\r
461#\r
462[Package.PE32_PEIM.TE_PEIMStripped]\r
463PACKAGE.INF\r
464\[.]\r
465BASE_NAME = $(BASE_NAME)\r
466FFS_FILEGUID = $(FILE_GUID)\r
467FFS_FILETYPE = EFI_FV_FILETYPE_PEIM\r
468FFS_ATTRIB_CHECKSUM = TRUE\r
469\r
470IMAGE_SCRIPT =\r
471{\r
472 $(BASE_NAME).dpx\r
473 $(BASE_NAME).tes\r
474}\r
475\r
476[=============================================================================]\r
477[Package.COMBINED_PEIM_DRIVER.DefaultStripped]\r
478PACKAGE.INF\r
479\[.]\r
480BASE_NAME = $(BASE_NAME)\r
481FFS_FILEGUID = $(FILE_GUID)\r
482FFS_FILETYPE = EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER\r
483FFS_ATTRIB_CHECKSUM = TRUE\r
484\r
485IMAGE_SCRIPT =\r
486{ \\r
487 $(BASE_NAME).dpx \\r
488 $(BASE_NAME).dpxd \\r
489 $(BASE_NAME).pe32 \\r
490}\r
491\r
492[=============================================================================]\r
493[Package.BS_DRIVER.DxeMainStripped]\r
494PACKAGE.INF\r
495\[.]\r
496BASE_NAME = $(BASE_NAME)\r
497FFS_FILEGUID = $(FILE_GUID)\r
498FFS_FILETYPE = EFI_FV_FILETYPE_DXE_CORE\r
499FFS_ATTRIB_CHECKSUM = TRUE\r
500\r
501IMAGE_SCRIPT =\r
502{\r
503 Compress ($(COMPRESS_METHOD)) {\r
504 $(BASE_NAME).pe32\r
505 }\r
506}\r
507\r
3eb9473e 508[=============================================================================]\r
509[Package.BS_DRIVER.DefaultStripped,Package.RT_DRIVER.DefaultStripped]\r
510PACKAGE.INF\r
511\[.]\r
512BASE_NAME = $(BASE_NAME)\r
513FFS_FILEGUID = $(FILE_GUID)\r
514FFS_FILETYPE = EFI_FV_FILETYPE_DRIVER\r
515FFS_ATTRIB_CHECKSUM = TRUE\r
516\r
517IMAGE_SCRIPT =\r
518{\r
519 Compress ($(COMPRESS_METHOD)) {\r
520 $(DEST_DIR)\$(BASE_NAME).dpx\r
521 $(DEST_DIR)\$(BASE_NAME).pe32\r
522 }\r
523}\r
524\r
3eb9473e 525[=============================================================================]\r
526[Package.FvImageFile.DefaultStripped]\r
527PACKAGE.INF\r
528\[.]\r
529BASE_NAME = $(BASE_NAME)\r
530FFS_FILEGUID = $(FILE_GUID)\r
531FFS_FILETYPE = EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE\r
532FFS_ATTRIB_CHECKSUM = TRUE\r
533\r
534IMAGE_SCRIPT =\r
535{\r
536 Compress ($(COMPRESS_METHOD)) {\r
537 $(DEST_DIR)\$(SOURCE_FV)Fv.sec\r
538 }\r
539}\r
540\r
541[=============================================================================]\r
542[Package.SECURITY_CORE.Default|DefaultStripped]\r
543PACKAGE.INF\r
544\[.]\r
545BASE_NAME = $(BASE_NAME)\r
546FFS_FILEGUID = $(FILE_GUID)\r
547FFS_FILETYPE = EFI_FV_FILETYPE_SECURITY_CORE\r
548FFS_ATTRIB_CHECKSUM = FALSE\r
549\r
550IMAGE_SCRIPT =\r
551{ \\r
552 Blank1.pad \\r
553 $(BASE_NAME).tes \\r
554 ResetVec.raw \\r
555}\r
556\r
557[=============================================================================]\r
95d675b5 558[Package.AcpiTable.Default]\r
559PACKAGE.INF\r
560\[.]\r
561BASE_NAME = $(BASE_NAME)\r
562FFS_FILEGUID = $(FILE_GUID)\r
563FFS_FILETYPE = EFI_FV_FILETYPE_FREEFORM\r
564FFS_ATTRIB_CHECKSUM = TRUE\r
565\r
566IMAGE_SCRIPT =\r
567{\r
568 Compress ($(COMPRESS_METHOD)) {\r
569 Tool (\r
570 $(OEMTOOLPATH)\GenCRC32Section\r
571 ARGS= -i $(SECTION_TARGETS)\r
572 $(DEST_DIR)\$(BASE_NAME).ui\r
573 -o $(DEST_DIR)\$(BASE_NAME).crc32\r
574 OUTPUT = $(DEST_DIR)\$(BASE_NAME).crc32\r
575 )\r
576 }\r
577}\r
578\r
579[=============================================================================]\r
580[Package.AcpiTable.DefaultStripped]\r
581PACKAGE.INF\r
582\[.]\r
583BASE_NAME = $(BASE_NAME)\r
584FFS_FILEGUID = $(FILE_GUID)\r
585FFS_FILETYPE = EFI_FV_FILETYPE_FREEFORM\r
586FFS_ATTRIB_CHECKSUM = TRUE\r
587\r
588IMAGE_SCRIPT =\r
589{\r
590 Compress ($(COMPRESS_METHOD)) {\r
591 $(SECTION_TARGETS)\r
592 }\r
593}\r
594\r
595[=============================================================================]\r