|
1 # lab_restricted_miniboot.flm |
|
2 # |
|
3 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
4 # All rights reserved. |
|
5 # This component and the accompanying materials are made available |
|
6 # under the terms of "Eclipse Public License v1.0" |
|
7 # which accompanies this distribution, and is available |
|
8 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
9 # |
|
10 # Initial Contributors: |
|
11 # Nokia Corporation - initial contribution. |
|
12 # |
|
13 # Contributors: |
|
14 # |
|
15 |
|
16 ifeq ($(lab_restricted_miniboot_flm),) |
|
17 lab_restricted_miniboot_flm := 1 |
|
18 |
|
19 # Set the directories |
|
20 SRCDIR := $(EXTENSION_ROOT)/../../lab_restricted/unistore2/nandboot/miniboot_largeblk |
|
21 |
|
22 # Build directory |
|
23 BUILDLOC := $(EPOCBLD)/lab_restricted_miniboot_flm/$(PLATFORM_PATH) |
|
24 |
|
25 # Set the target name |
|
26 TARGETDIR := $(EPOCROOT)/epoc32/release/$(PLATFORM_PATH) |
|
27 BINTARGET := $(TARGETDIR)/lab_miniboot.bin |
|
28 TMPTARGET := $(BUILDLOC)/lab_miniboot.elf |
|
29 TMPTARGET2 := $(BUILDLOC)/lab_miniboot.bin |
|
30 |
|
31 # Set the Load Address for the miniboot |
|
32 # This is currently set to the beginning of SRAM |
|
33 LINKBASE := 0x40200000 |
|
34 |
|
35 # Rules |
|
36 vpath %.s . $(SRCDIR) |
|
37 |
|
38 ASMSOURCE := miniboot_largeblk.s |
|
39 |
|
40 |
|
41 # Arm RVCT tools |
|
42 ASM_TRUE_MACROS := USE_CXSF |
|
43 |
|
44 OBJEXT := o |
|
45 |
|
46 ASM_TRUE_MACRO_CMD := $(foreach macro,$(ASM_TRUE_MACROS),--predefine "$(macro) SETL {TRUE}") |
|
47 ASM_FALSE_MACRO_CMD := $(foreach macro,$(ASM_FALSE_MACROS),--predefine "$(macro) SETL {FALSE}") |
|
48 |
|
49 AFLAGS := -g --keep $(ASM_TRUE_MACRO_CMD) $(ASM_FALSE_MACRO_CMD) -I$(BUILDLOC) |
|
50 LFLAGS := --ro-base $(LINKBASE) --entry BootEntry --FIRST BootEntry --map |
|
51 SYMOPT := --symdefs |
|
52 ASMTYP := ARMASM |
|
53 |
|
54 # Include base commonly used functions |
|
55 include $(EPOCROOT)/epoc32/tools/makefile_templates/base/base_rvct_common.mk |
|
56 |
|
57 |
|
58 ASMOBJECTS := $(foreach f,$(ASMSOURCE),$(basename $(f)).$(OBJEXT)) |
|
59 FULLASMOBJECTS := $(addprefix $(BUILDLOC)/,$(ASMOBJECTS)) |
|
60 |
|
61 FULLOBJECTS := $(FULLASMOBJECTS) |
|
62 |
|
63 # Link |
|
64 $(eval $(call base__link,$(TMPTARGET),$(FULLOBJECTS))) |
|
65 # Strip |
|
66 $(eval $(call base__strip,$(TMPTARGET2),$(TMPTARGET))) |
|
67 # Omapsig |
|
68 $(eval $(call base__omapsig,$(BINTARGET),$(TMPTARGET2))) |
|
69 |
|
70 # Asm objects |
|
71 $(eval $(call base__asm,$(FULLASMOBJECTS),$(BUILDLOC)/%.$(OBJEXT),$(SRCDIR)/$(ASMSOURCE) $(FULLINCLUDES) $(FULLBUILTINCLUDES) $(FULLBUILTINCLUDES2) $(FULLBLDINCLUDES) $(FULLGENINCLUDES) $(FULLPLATINCLUDES))) |
|
72 |
|
73 # |
|
74 TARGET :: $(BINTARGET) $(TARGETDIR) $(BUILDLOC) |
|
75 |
|
76 # --what to show releasables |
|
77 $(eval $(call whatmacro,$(BINTARGET),USERFLM)) |
|
78 # Create directory |
|
79 CREATABLEPATHS := $(TARGETDIR) $(BUILDLOC) |
|
80 $(call makepath,$(CREATABLEPATHS)) |
|
81 # Clean up |
|
82 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(BUILDLOC))) |
|
83 |
|
84 endif |