# Copyright 2008 Castle Technology Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Makefile fragment for Binary Build Environment exporting.

INCLUDED_BBEEXPORT = YES

#
# This Makefile is included directly by srcbuild as the core implementation
# of the binary build environment phase.
#
STDMAKEFILE=$Id$

.SILENT:

# Set the default option - component Makefile changes BBETYPE to override this
# Makefile's generic rules, but can of course depend on them by constructing
# the correct target.

BBETYPE=generic

# Get the components Makefile in case it wants to override the rules

include Makefile


# The default rule invoked by srcbuild simply invokes the correct sub-rule
bbe: bbe-${BBETYPE}
  @echo ${COMPONENT}: BBE phase complete


# Now all the default rules for the different module types

bbe-generic: bbe-${COMPONENTTYPE}-generic
  @|

bbe-C-generic: internal-bbe-generic
  @|

bbe-ASM-generic: internal-bbe-generic
  @|

bbe-BAS-generic: internal-bbe-generic
  @|

bbe-KERNEL-generic: internal-bbe-generic
  @|

bbe-DATA-generic: internal-bbe-generic
  @|

bbe-RES-generic: internal-bbe-generic
  @|

bbe-EXP-generic: internal-bbe-generic
  @|

bbe-HAL-generic: internal-bbe-generic
  @|

internal-bbe-generic: bbe-generic-resources
  @|

#
# Now the generic ROM and resources rules
#
include Makefiles:StdTools

bbe-generic-resources-get-alias:
  @| Component Makefiles may rely on: BBE_Export_Dir, BBE_Export_File, BBE_Export_File_In_Dir
  SetMacro Alias$BBEExportResourcesRule IfThere %0 Then ${CP} %0 ${BBEDIR}.%0 ${CPFLAGS}
  SetMacro Alias$BBEExportDirectoryRule IfThere %0 Then ${MKDIR} ${BBEDIR}.%0
  SetMacro Alias$BBE_Export_Dir BBEExportDirectoryRule %0|MBBEExportResourcesRule %0
  SetMacro Alias$BBE_Export_File BBEExportResourcesRule %0
  SetMacro Alias$BBE_Export_File_In_Dir BBEExportDirectoryRule %0|MBBEExportResourcesRule %0.%1

bbe-generic-resources: bbe-generic-resources-get-alias
  @| Generic rules copy the appropriate parts of the Resources directory.
  BBE_Export_Dir Resources.${LOCALE}
  BBE_Export_Dir Resources.Common.${LOCALE}
  BBE_Export_Dir Resources.${SYSTEM}.${LOCALE}
  BBE_Export_Dir Resources.${USERIF}.${LOCALE}
  BBE_Export_Dir Resources.${SYSTEM}.Common
  BBE_Export_Dir Translate.${LOCALE}
  BBE_Export_Dir Translate.Common.${LOCALE}
  BBE_Export_Dir Translate.${SYSTEM}.${LOCALE}
  BBE_Export_Dir Translate.${USERIF}.${LOCALE}
  BBE_Export_Dir Translate.${SYSTEM}.Common
  BBE_Export_File VersionNum
  BBE_Export_File Version
  
# EOF