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

      2 #

      3 #  Copyright (c) 2004 - 2010, 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 HiiPack utility

     19 #

     20 #--*/

     21 
     22 #

     23 # Make sure environmental variable EDK_SOURCE is set

     24 #

     25 !IFNDEF EDK_SOURCE
     26 !ERROR EDK_SOURCE environmental variable not set
     27 !ENDIF
     28 
     29 #

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

     31 #

     32 !IFNDEF TOOLCHAIN
     33 TOOLCHAIN = TOOLCHAIN_MSVC
     34 !ENDIF
     35 
     36 !INCLUDE $(BUILD_DIR)\PlatformTools.env
     37 
     38 #

     39 # Target specific information

     40 #

     41 
     42 TARGET_NAME         = HiiPack
     43 TARGET_SRC_DIR      = $(EDK_TOOLS_SOURCE)\$(TARGET_NAME)
     44 TARGET_EXE          = $(EDK_TOOLS_OUTPUT)\HiiPack.exe
     45 
     46 #

     47 # Build targets

     48 #

     49 
     50 all: $(TARGET_EXE)
     51 
     52 INC       = $(INC) -I "$(EDK_SOURCE)\Foundation\Framework\Protocol\Hii"
     53 
     54 INC_DEPS  = "$(TARGET_SRC_DIR)\HiiPack.h" "$(TARGET_SRC_DIR)\IfrParse.h" "$(TARGET_SRC_DIR)\StringParse.h"
     55 
     56 LIBS      = "$(EDK_TOOLS_OUTPUT)\Common.lib"
     57 
     58 OBJECTS   = $(EDK_TOOLS_OUTPUT)\FindFiles.obj   \
     59             $(EDK_TOOLS_OUTPUT)\HiiPack.obj     \
     60             $(EDK_TOOLS_OUTPUT)\IfrParse.obj    \
     61             $(EDK_TOOLS_OUTPUT)\StringParse.obj
     62 
     63 #

     64 # Build EXE

     65 #

     66 
     67 $(EDK_TOOLS_OUTPUT)\FindFiles.obj : $(TARGET_SRC_DIR)\FindFiles.c $(INC_DEPS)
     68   $(CC) $(C_FLAGS) $(INC) $(TARGET_SRC_DIR)\FindFiles.c  /Fo$@
     69 
     70 $(EDK_TOOLS_OUTPUT)\HiiPack.obj : $(TARGET_SRC_DIR)\HiiPack.c $(INC_DEPS)
     71   $(CC) $(C_FLAGS) $(INC) $(TARGET_SRC_DIR)\HiiPack.c  /Fo$@
     72 
     73 $(EDK_TOOLS_OUTPUT)\IfrParse.obj : $(TARGET_SRC_DIR)\IfrParse.c $(INC_DEPS)
     74   $(CC) $(C_FLAGS) $(INC) $(TARGET_SRC_DIR)\IfrParse.c  /Fo$@
     75 
     76 $(EDK_TOOLS_OUTPUT)\StringParse.obj : $(TARGET_SRC_DIR)\StringParse.c $(INC_DEPS)
     77   $(CC) $(C_FLAGS) $(INC) $(TARGET_SRC_DIR)\StringParse.c  /Fo$@
     78 
     79 #

     80 # Add Binary Build description for this tool.

     81 #

     82 
     83 !IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe))
     84 $(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe
     85   copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y
     86   if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \
     87   copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y
     88 !ELSE
     89 $(TARGET_EXE) : $(OBJECTS) $(LIBS)
     90   $(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) $(LIBS) /out:$(TARGET_EXE) $(OBJECTS)
     91 !IF ("$(EFI_BINARY_BUILD)" == "YES")
     92   if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools
     93   if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y
     94   if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \
     95   copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y
     96 !ENDIF
     97 !ENDIF
     98 
     99 clean:
    100   @if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* del $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL
    101   @if exist $(EDK_TOOLS_OUTPUT)\FindFiles.* del $(EDK_TOOLS_OUTPUT)\FindFiles.* > NUL
    102   @if exist $(EDK_TOOLS_OUTPUT)\IfrParse* del $(EDK_TOOLS_OUTPUT)\IfrParse.* > NUL
    103   @if exist $(EDK_TOOLS_OUTPUT)\StringParse.* del $(EDK_TOOLS_OUTPUT)\StringParse.* > NUL
    104