]> code.delx.au - refind/blob - gptsync/Make.tiano
Significant reworking of Makefile structure. Added Apple Core Storage
[refind] / gptsync / Make.tiano
1 #
2 # gptsync/Make.tiano
3 # Build control file for gptsync utility, built with TianoCore EDK2
4 #
5
6 include ../Make.common
7
8 # Below file defines TARGET (RELEASE or DEBUG) and TOOL_CHAIN_TAG (GCC44, GCC45, or GCC46)
9 #include $(EDK2BASE)/Conf/target.txt
10
11 EFILIB = $(EDK2BASE)/Build/Mde/$(TARGET)_$(TOOL_CHAIN_TAG)/$(UC_ARCH)/MdePkg/Library
12 ALL_EFILIBS = $(EFILIB)/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib/OUTPUT/BaseDebugPrintErrorLevelLib.lib \
13 $(EFILIB)/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib \
14 $(EFILIB)/BasePcdLibNull/BasePcdLibNull/OUTPUT/BasePcdLibNull.lib \
15 $(EFILIB)/UefiDebugLibConOut/UefiDebugLibConOut/OUTPUT/UefiDebugLibConOut.lib \
16 $(EFILIB)/BaseLib/BaseLib/OUTPUT/BaseLib.lib \
17 $(EFILIB)/BaseMemoryLib/BaseMemoryLib/OUTPUT/BaseMemoryLib.lib \
18 $(EFILIB)/UefiBootServicesTableLib/UefiBootServicesTableLib/OUTPUT/UefiBootServicesTableLib.lib \
19 $(EFILIB)/UefiMemoryAllocationLib/UefiMemoryAllocationLib/OUTPUT/UefiMemoryAllocationLib.lib \
20 $(EFILIB)/UefiDevicePathLib/UefiDevicePathLib/OUTPUT/UefiDevicePathLib.lib \
21 $(EFILIB)/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib/OUTPUT/UefiRuntimeServicesTableLib.lib \
22 $(EFILIB)/UefiLib/UefiLib/OUTPUT/UefiLib.lib \
23 $(EFILIB)/UefiApplicationEntryPoint/UefiApplicationEntryPoint/OUTPUT/UefiApplicationEntryPoint.lib
24
25 ifeq ($(ARCH),aarch64)
26 ALL_EFILIBS += $(EFILIB)/BaseStackCheckLib/BaseStackCheckLib/OUTPUT/BaseStackCheckLib.lib
27 endif
28
29 TIANO_INCLUDE_DIRS = -I $(EDK2BASE)/MdePkg \
30 -I $(EDK2BASE)/MdePkg/Include \
31 -I $(EDK2BASE)/MdePkg/Include/$(ARCHDIR) \
32 -I $(EDK2BASE)/EdkCompatibilityPkg/Foundation/Framework/Include \
33 -I $(EDK2BASE)/EdkCompatibilityPkg/Foundation/Library/Dxe/Include \
34 -I $(EDK2BASE)/MdeModulePkg/ \
35 -I $(EDK2BASE)/MdeModulePkg/Include \
36 -I $(EDK2BASE)/IntelFrameworkPkg/Include \
37 -I $(EDK2BASE)/MdePkg/Include/$(ARCHDIR) \
38 -I ../libeg \
39 -I ../include \
40 -I ..
41
42 GPTSYNC_NAMES = gptsync lib os_efi AutoGen ../EfiLib/BmLib
43 OBJS = $(GPTSYNC_NAMES:=.obj)
44 BUILDME = gptsync_$(FILENAME_CODE).efi
45
46 ifneq (,$(filter %.efi,$(BUILDME)))
47
48 DLL_TARGET = $(subst .efi,.dll,$(BUILDME))
49
50 all: $(BUILDME)
51
52 $(DLL_TARGET): $(OBJS)
53 $(LD) -o gptsync_$(FILENAME_CODE).dll $(TIANO_LDFLAGS) --start-group $(ALL_EFILIBS) $(OBJS) --end-group
54
55 $(BUILDME): $(DLL_TARGET)
56 $(OBJCOPY) --strip-unneeded -R .eh_frame $(DLL_TARGET)
57 $(GENFW) -e UEFI_APPLICATION -o $(BUILDME) $(DLL_TARGET)
58
59 endif
60