toolsandutils/buildsystem/extension/base/lab_restricted_miniboot.flm
changeset 0 83f4b4db085c
child 2 99082257a271
equal deleted inserted replaced
-1:000000000000 0:83f4b4db085c
       
     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 the License "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