#/*++ | |
# | |
# Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR> | |
# This program and the accompanying materials | |
# are licensed and made available under the terms and conditions of the BSD License | |
# which accompanies this distribution. The full text of the license may be found at | |
# http://opensource.org/licenses/bsd-license.php | |
# | |
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
# | |
# Module Name: | |
# | |
# makefile | |
# | |
# Abstract: | |
# | |
# This file is used to build the EFI GenFfsFile utility. | |
# | |
#--*/ | |
# | |
# Do this if you want to compile from this directory | |
# | |
!IFNDEF TOOLCHAIN | |
TOOLCHAIN = TOOLCHAIN_MSVC | |
!ENDIF | |
!INCLUDE $(BUILD_DIR)\PlatformTools.env | |
# | |
# Common information | |
# | |
INC=$(INC) | |
LIBS = $(LIBS) $(EDK_TOOLS_OUTPUT)\CustomizedCompress.lib | |
# | |
# Target specific information | |
# | |
TARGET_NAME = GenFfsFile | |
TARGET_SOURCE_DIR = $(EDK_TOOLS_SOURCE)\$(TARGET_NAME) | |
TARGET_EXE = $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).exe | |
TARGET_EXE_SOURCE = "$(TARGET_SOURCE_DIR)\GenFfsFile.c" | |
TARGET_EXE_INCLUDE = "$(EDK_SOURCE)\Foundation\Include\TianoCommon.h" \ | |
"$(EDK_SOURCE)\Foundation\Framework\Include\EfiFirmwareFileSystem.h" \ | |
"$(EDK_SOURCE)\Foundation\Framework\Include\EfiFirmwareVolumeHeader.h" \ | |
"$(EDK_TOOLS_COMMON)\ParseInf.h" \ | |
"$(EDK_TOOLS_COMMON)\MyAlloc.h" | |
TARGET_EXE_LIBS = "$(EDK_TOOLS_OUTPUT)\Common.lib" | |
C_FLAGS = $(C_FLAGS) -W4 | |
# | |
# Build targets | |
# | |
all: $(TARGET_EXE) | |
# | |
# Build EXE | |
# | |
$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj: $(TARGET_EXE_SOURCE) $(TARGET_EXE_INCLUDE) | |
$(CC) $(C_FLAGS) $(INC) $(TARGET_EXE_SOURCE) /Fo$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj | |
# | |
# Add Binary Build description for this tool. | |
# | |
!IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe)) | |
$(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe | |
copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y | |
if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \ | |
copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y | |
!ELSE | |
$(TARGET_EXE): $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(LIBS) $(TARGET_EXE_LIBS) | |
$(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) $(LIBS) /out:$(TARGET_EXE) $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj \ | |
$(TARGET_LIB) $(TARGET_EXE_LIBS) | |
!IF ("$(EFI_BINARY_BUILD)" == "YES") | |
if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools | |
if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y | |
if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \ | |
copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y | |
!ENDIF | |
!ENDIF | |
clean: | |
@if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* del $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL |