]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Sample/Tools/Source/GenFvImage/Makefile
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Tools / Source / GenFvImage / Makefile
CommitLineData
3eb9473e 1#/*++\r
2# \r
3# Copyright (c) 2004 - 2007, Intel Corporation \r
4# All rights reserved. This program and the accompanying materials \r
5# are licensed and made available under the terms and conditions of the BSD License \r
6# which accompanies this distribution. The full text of the license may be found at \r
7# http://opensource.org/licenses/bsd-license.php \r
8# \r
9# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11# \r
12# Module Name: makefile\r
13# \r
14# Abstract:\r
15# \r
16# This file is used to build the EFI utility.\r
17# \r
18#--*/\r
19\r
20#\r
21# Do this if you want to compile from this directory\r
22#\r
23!IFNDEF TOOLCHAIN\r
24TOOLCHAIN = TOOLCHAIN_MSVC\r
25!ENDIF\r
26\r
27!INCLUDE $(BUILD_DIR)\PlatformTools.env\r
28\r
29#\r
30# Common information\r
31#\r
32\r
33INC=$(INC) \\r
34 -I "$(EDK_TOOLS_COMMON)"\r
35\r
36\r
37\r
38#\r
39# Target specific information\r
40#\r
41\r
42TARGET_NAME=GenFvImage\r
43\r
44TARGET_SOURCE_DIR = $(EDK_TOOLS_SOURCE)\$(TARGET_NAME)\r
45TARGET_LIB = $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).lib\r
46TARGET_EXE = $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).exe\r
47TARGET_EXE_SOURCE = "$(TARGET_SOURCE_DIR)\GenFvImageExe.c"\r
48\r
49TARGET_EXE_INCLUDE = "$(TARGET_SOURCE_DIR)\GenFvImageExe.h" \\r
50 "$(TARGET_SOURCE_DIR)\GenFvImageLib.h" \\r
51 "$(EDK_TOOLS_COMMON)\ParseInf.h" \\r
52 "$(EDK_SOURCE)\Foundation\Include\TianoCommon.h"\r
53\r
54TARGET_EXE_LIBS = "$(EDK_TOOLS_OUTPUT)\Common.lib" \r
55TARGET_LIB_SOURCE = "$(TARGET_SOURCE_DIR)\GenFvImageLib.c"\r
56\r
57TARGET_LIB_INCLUDE = "$(TARGET_SOURCE_DIR)\GenFvImageLib.h" \\r
58 "$(TARGET_SOURCE_DIR)\GenFvImageLibInternal.h" \\r
59 "$(EDK_TOOLS_COMMON)\ParseInf.h" \\r
60 "$(EDK_SOURCE)\Foundation\Include\TianoCommon.h" \\r
61 "$(EDK_SOURCE)\Foundation\Framework\Include\EfiFirmwareVolumeHeader.h" \\r
62 "$(EDK_SOURCE)\Foundation\Framework\Include\EfiFirmwareFileSystem.h" \\r
63 "$(EDK_SOURCE)\Foundation\Framework\Guid\FirmwareFileSystem\FirmwareFileSystem.h"\r
64\r
65TARGET_LIB_LIBS = "$(EDK_TOOLS_OUTPUT)\Common.lib"\r
66#\r
67# Build targets\r
68#\r
69\r
70all: $(TARGET_EXE)\r
71\r
72#\r
73# Build EXE\r
74#\r
75\r
76$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj: $(TARGET_EXE_SOURCE) $(TARGET_EXE_INCLUDE)\r
77 $(CC) $(C_FLAGS) $(INC) $(TARGET_EXE_SOURCE) /Fo$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj\r
78\r
79#\r
80# Add Binary Build description for this tool.\r
81#\r
82\r
83!IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe))\r
84$(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe\r
85 copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y\r
86 if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \\r
87 copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y\r
88!ELSE\r
89$(TARGET_EXE): $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(TARGET_EXE_LIBS) $(TARGET_LIB)\r
90 $(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) $(LIBS) /out:$(TARGET_EXE) $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(TARGET_LIB) $(TARGET_EXE_LIBS)\r
91 if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools\r
92 if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y\r
93 if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \\r
94 copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y\r
95!ENDIF\r
96\r
97#\r
98# Build LIB\r
99#\r
100\r
101$(TARGET_LIB): $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj $(TARGET_LIB_LIBS)\r
102 $(LIB_EXE) $(LIB_FLAGS) $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj $(MSVS_LINK_LIBPATHS) $(TARGET_LIB_LIBS) RPCRT4.lib /OUT:$(TARGET_LIB)\r
103\r
104$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj: $(TARGET_LIB_SOURCE) $(TARGET_LIB_INCLUDE)\r
105 $(CC) $(C_FLAGS) $(INC) $(TARGET_LIB_SOURCE) /Fo$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj\r
106\r
107clean:\r
108 @if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.* del $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.* > NUL\r
109 @if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* del $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL\r