audk/Tools/Source/TianoTools/GenFdImage/Makefile

101 lines
3.3 KiB
Makefile

#/*++
#
# Copyright (c) 2001 Intel Corporation. All rights reserved.
#
# This software and associated documentation (if any) is furnished under
# a license and may only be used or copied in accordance with the terms
# of the license. Except as permitted by such license, no part of this
# software or documentation may be reproduced, stored in a retrieval
# system, or transmitted in any form or by any means without the express
# written consent of Intel Corporation.
#
# Module Name: makefile
#
# Abstract:
#
# This file is used to build the EFI utility.
#
#--*/
#
# Do this if you want to compile from this directory
#
!IFNDEF TOOLCHAIN
TOOLCHAIN = TOOLCHAIN_MSVC
!ENDIF
!INCLUDE PlatformTools.env
#
# Define some macros we use here. Should get rid of them someday and
# get rid of the extra level of indirection.
#
COMMON_SOURCE = $(EDK_TOOLS_COMMON)
#
# Common information
#
INC=$(INC) \
-I "$(TIANO_TOOLS_SOURCE)\GenFvImage"
#
# Target specific information
#
TARGET_NAME=GenFdImage
TARGET_SOURCE_DIR = $(TIANO_TOOLS_SOURCE)\$(TARGET_NAME)
TARGET_LIB = $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).lib
TARGET_EXE = $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).exe
TARGET_EXE_SOURCE = "$(TARGET_SOURCE_DIR)\GenFdImageExe.c"
TARGET_EXE_INCLUDE = "$(TARGET_SOURCE_DIR)\GenFdImageExe.h" \
"$(TARGET_SOURCE_DIR)\GenFdImage.h" \
"$(COMMON_SOURCE)\ParseInf.h" \
"$(EDK_SOURCE)\Foundation\Include\TianoCommon.h"
TARGET_EXE_LIBS = "$(TIANO_TOOLS_OUTPUT)\Common.lib" \
"$(TIANO_TOOLS_OUTPUT)\GenFvImage.lib" \
"$(TIANO_TOOLS_OUTPUT)\PeimFixup.lib"
TARGET_LIB_SOURCE = "$(TARGET_SOURCE_DIR)\GenFdImageLib.c"
TARGET_LIB_INCLUDE = "$(TARGET_SOURCE_DIR)\GenFdImage.h" \
"$(TIANO_TOOLS_SOURCE)\GenFvImage\GenFvImage.h" \
"$(COMMON_SOURCE)\ParseInf.h" \
"$(EDK_SOURCE)\Foundation\Include\TianoCommon.h"
TARGET_LIB_LIBS = "$(TIANO_TOOLS_OUTPUT)\Common.lib" \
"$(TIANO_TOOLS_OUTPUT)\GenFvImage.lib" \
"$(TIANO_TOOLS_OUTPUT)\PeimFixup.lib"
#
# Build targets
#
all: $(TARGET_LIB) $(TARGET_EXE)
#
# Build EXE
#
$(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj: $(TARGET_EXE_SOURCE) $(TARGET_EXE_INCLUDE)
$(CC) $(C_FLAGS) $(INC) $(TARGET_EXE_SOURCE) /Fo$(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj
$(TARGET_EXE): $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(TARGET_EXE_LIBS) $(TARGET_LIB)
$(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) $(LIBS) /out:$(TARGET_EXE) $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(TARGET_LIB) $(TARGET_EXE_LIBS)
#
# Build LIB
#
$(TARGET_LIB): $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj $(TARGET_LIB_LIBS)
$(LIB) $(LIB_FLAGS) $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj /OUT:$(TARGET_LIB)
$(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj: $(TARGET_LIB_SOURCE) $(TARGET_LIB_INCLUDE)
$(CC) $(C_FLAGS) $(INC) $(TARGET_LIB_SOURCE) /Fo$(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.obj
clean:
@if exist $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.* del /q $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME)Lib.* > NUL
@if exist $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).* del /q $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL