Home | History | Annotate | Download | only in GenFfsFile
      1 #/*++

      2 #   

      3 #  Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR>

      4 #  This program and the accompanying materials                          

      5 #  are licensed and made available under the terms and conditions of the BSD License         

      6 #  which accompanies this distribution.  The full text of the license may be found at        

      7 #  http://opensource.org/licenses/bsd-license.php                                            

      8 #                                                                                            

      9 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     

     10 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             

     11 #  

     12 #  Module Name:  

     13 #

     14 #     makefile

     15 #   

     16 #  Abstract:

     17 #   

     18 #    This file is used to build the EFI GenFfsFile utility.

     19 #   

     20 #--*/

     21 
     22 #

     23 # Do this if you want to compile from this directory

     24 #

     25 !IFNDEF TOOLCHAIN
     26 TOOLCHAIN = TOOLCHAIN_MSVC
     27 !ENDIF
     28 
     29 !INCLUDE $(BUILD_DIR)\PlatformTools.env
     30 
     31 #

     32 # Common information

     33 #

     34 
     35 INC=$(INC)
     36 
     37 LIBS =  $(LIBS)  $(EDK_TOOLS_OUTPUT)\CustomizedCompress.lib
     38 
     39 #

     40 # Target specific information

     41 #

     42 
     43 TARGET_NAME         = GenFfsFile
     44 TARGET_SOURCE_DIR   = $(EDK_TOOLS_SOURCE)\$(TARGET_NAME)
     45 TARGET_EXE          = $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).exe
     46 TARGET_EXE_SOURCE   = "$(TARGET_SOURCE_DIR)\GenFfsFile.c"
     47 TARGET_EXE_INCLUDE  = "$(EDK_SOURCE)\Foundation\Include\TianoCommon.h" \
     48                       "$(EDK_SOURCE)\Foundation\Framework\Include\EfiFirmwareFileSystem.h" \
     49                       "$(EDK_SOURCE)\Foundation\Framework\Include\EfiFirmwareVolumeHeader.h" \
     50                       "$(EDK_TOOLS_COMMON)\ParseInf.h" \
     51                       "$(EDK_TOOLS_COMMON)\MyAlloc.h"
     52 
     53 TARGET_EXE_LIBS     = "$(EDK_TOOLS_OUTPUT)\Common.lib"
     54 C_FLAGS             = $(C_FLAGS) -W4
     55 #

     56 # Build targets

     57 #

     58 
     59 all: $(TARGET_EXE)
     60 
     61 #

     62 # Build EXE

     63 #

     64 
     65 $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj: $(TARGET_EXE_SOURCE) $(TARGET_EXE_INCLUDE)
     66   $(CC) $(C_FLAGS) $(INC) $(TARGET_EXE_SOURCE) /Fo$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj
     67 
     68 #

     69 # Add Binary Build description for this tool.

     70 #

     71 
     72 !IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe))
     73 $(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe
     74   copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y
     75   if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \
     76   copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y
     77 !ELSE
     78 $(TARGET_EXE): $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(LIBS) $(TARGET_EXE_LIBS)
     79   $(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) $(LIBS) /out:$(TARGET_EXE) $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj  \
     80         $(TARGET_LIB)  $(TARGET_EXE_LIBS) 
     81 !IF ("$(EFI_BINARY_BUILD)" == "YES")
     82   if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools
     83   if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y
     84   if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \
     85   copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y
     86 !ENDIF
     87 !ENDIF
     88 
     89 clean:
     90   @if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* del $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL
     91