]> code.delx.au - refind/blob - refind/Make.tiano
Fixed bug that caused volume icons to be read only from default icons
[refind] / refind / Make.tiano
1 #
2 # refind/Make.tiano
3 # Build control file for rEFInd, using TianoCore EDK2
4 # Requires that EfiLib, mok, and libeg subdirectories be built before this
5 # file is used.
6 #
7 # This program is licensed under the terms of the GNU GPL, version 3,
8 # or (at your option) any later version.
9 # You should have received a copy of the GNU General Public License
10 # along with this program. If not, see <http://www.gnu.org/licenses/>.
11
12
13 include ../Make.common
14
15 EFILIB = $(EDK2BASE)/Build/Mde/$(TARGET)_$(TOOL_CHAIN_TAG)/$(UC_ARCH)/MdePkg/Library
16 ALL_EFILIBS = $(EFILIB)/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib/OUTPUT/BaseDebugPrintErrorLevelLib.lib \
17 $(EFILIB)/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib \
18 $(EFILIB)/BasePcdLibNull/BasePcdLibNull/OUTPUT/BasePcdLibNull.lib \
19 $(EFILIB)/UefiDebugLibStdErr/UefiDebugLibStdErr/OUTPUT/UefiDebugLibStdErr.lib \
20 $(EFILIB)/BaseLib/BaseLib/OUTPUT/BaseLib.lib \
21 $(EFILIB)/BaseMemoryLib/BaseMemoryLib/OUTPUT/BaseMemoryLib.lib \
22 $(EFILIB)/UefiBootServicesTableLib/UefiBootServicesTableLib/OUTPUT/UefiBootServicesTableLib.lib \
23 $(EFILIB)/UefiMemoryAllocationLib/UefiMemoryAllocationLib/OUTPUT/UefiMemoryAllocationLib.lib \
24 $(EFILIB)/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib/OUTPUT/UefiRuntimeServicesTableLib.lib \
25 $(EFILIB)/UefiDevicePathLib/UefiDevicePathLib/OUTPUT/UefiDevicePathLib.lib \
26 $(EFILIB)/UefiLib/UefiLib/OUTPUT/UefiLib.lib \
27 $(EFILIB)/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull/OUTPUT/PeCoffExtraActionLibNull.lib \
28 $(EFILIB)/UefiApplicationEntryPoint/UefiApplicationEntryPoint/OUTPUT/UefiApplicationEntryPoint.lib \
29 $(EFILIB)/DxeServicesLib/DxeServicesLib/OUTPUT/DxeServicesLib.lib \
30 $(EFILIB)/DxeServicesTableLib/DxeServicesTableLib/OUTPUT/DxeServicesTableLib.lib \
31 $(EFILIB)/DxeHobLib/DxeHobLib/OUTPUT/DxeHobLib.lib \
32 $(EFILIB)/BasePeCoffLib/BasePeCoffLib/OUTPUT/BasePeCoffLib.lib
33
34 ifeq ($(ARCH),aarch64)
35 ALL_EFILIBS += $(EFILIB)/BaseStackCheckLib/BaseStackCheckLib/OUTPUT/BaseStackCheckLib.lib
36 endif
37
38 SOURCE_NAMES = apple config mystrings line_edit driver_support icns \
39 lib main menu screen gpt crc32 legacy AutoGen
40 OBJS = $(SOURCE_NAMES:=.obj)
41
42 all: $(BUILDME)
43
44 $(AR_TARGET): $(OBJS)
45 $(AR) -cr $(AR_TARGET).lib $(OBJS)
46
47 $(DLL_TARGET)_$(FILENAME_CODE).dll: $(OBJS) ../libeg/libeg.lib ../EfiLib/EfiLib.lib ../mok/mok.lib
48 $(LD) -o $(DLL_TARGET)_$(FILENAME_CODE).dll $(TIANO_LDFLAGS) \
49 --start-group $(ALL_EFILIBS) $(OBJS) ../libeg/libeg.lib \
50 ../EfiLib/EfiLib.lib ../mok/mok.lib --end-group
51
52 $(BUILDME): $(DLL_TARGET)_$(FILENAME_CODE).dll
53 $(OBJCOPY) --strip-unneeded -R .eh_frame $(DLL_TARGET)_$(FILENAME_CODE).dll
54 $(GENFW) -e UEFI_APPLICATION -o $(BUILDME)_$(FILENAME_CODE).efi \
55 $(DLL_TARGET)_$(FILENAME_CODE).dll
56
57 clean:
58 make clean