summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
fc1e5a0)
binaries on one computer.
drivers) must be typed in the shell you use for this step.
9) Edit Conf/target.txt and change the following:
drivers) must be typed in the shell you use for this step.
9) Edit Conf/target.txt and change the following:
- - ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc
+ - ACTIVE_PLATFORM = MdePkg/MdePkg.dsc
- TARGET = RELEASE (DEBUG might work, but I've not tested it).
- TARGET = RELEASE (DEBUG might work, but I've not tested it).
- - TARGET_ARCH = X64 (on x86-64; leave this as IA32 on x86)
+ - TARGET_ARCH = X64 (on x86-64; leave this as IA32 on x86). If you plan
+ to build both architectures, you can set this to "IA32 X64".
- TOOL_CHAIN_TAG = GCC46 (or other value depending on your GCC version;
type "gcc -v" to learn your GCC version number). Note that GCC 4.7
doesn't have its own entry, so use GCC46 for GCC 4.7.
- TOOL_CHAIN_TAG = GCC46 (or other value depending on your GCC version;
type "gcc -v" to learn your GCC version number). Note that GCC 4.7
doesn't have its own entry, so use GCC46 for GCC 4.7.
4) Type "make gnuefi" to build with GNU-EFI, or either "make" alone or
"make tiano" to build with TianoCore EDK2. With any luck, rEFInd will
compile without error, leaving the "refind_ia32.efi" or "refind_x64.efi"
4) Type "make gnuefi" to build with GNU-EFI, or either "make" alone or
"make tiano" to build with TianoCore EDK2. With any luck, rEFInd will
compile without error, leaving the "refind_ia32.efi" or "refind_x64.efi"
- file, depending on your platform, in the "refind" subdirectory.
+ file, depending on your platform, in the "refind" subdirectory. If you
+ want to build IA32 binaries on an x86-64 (X64) system, type "ARCH=ia32
+ make". This works only if you're using the TianoCore build kit, and only
+ if you set TARGET_ARCH to either "IA32" or "IA32 X64" in target.txt when
+ you set up the TianoCore.
5) The default build process does NOT build the filesystem drivers. If you
want to build them, you must type "make fs" in the main rEFInd source
5) The default build process does NOT build the filesystem drivers. If you
want to build them, you must type "make fs" in the main rEFInd source
#
HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
#
HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
# Note: IA64 options are untested; taken from Debian's rEFIt package.
ifeq ($(ARCH),ia64)
# Note: IA64 options are untested; taken from Debian's rEFIt package.
ifeq ($(ARCH),ia64)
ifeq ($(ARCH),ia32)
ARCH_C_FLAGS = -m32 -DEFI32 -malign-double
ARCHDIR = Ia32
ifeq ($(ARCH),ia32)
ARCH_C_FLAGS = -m32 -DEFI32 -malign-double
ARCHDIR = Ia32
endif
ifeq ($(ARCH),x86_64)
ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -DEFIX64 -mcmodel=large -m64
ARCHDIR = X64
endif
ifeq ($(ARCH),x86_64)
ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -DEFIX64 -mcmodel=large -m64
ARCHDIR = X64
endif
EDK2BASE = /usr/local/UDK2010/MyWorkSpace
endif
EDK2BASE = /usr/local/UDK2010/MyWorkSpace
LDSCRIPT = $(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script
LDFLAGS = -nostdlib -n -q --gc-sections --script=$(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script \
LDSCRIPT = $(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script
LDFLAGS = -nostdlib -n -q --gc-sections --script=$(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script \
- --entry efi_main -u efi_main
+ --entry efi_main -u efi_main -m $(LD_CODE)
%.obj: %.c
$(CC) $(ARCH_C_FLAGS) $(CFLAGS) $(INCLUDE_DIRS) -DNO_BUILTIN_VA_FUNCS -D__MAKEWITH_TIANO -c $< -o $@
%.obj: %.c
$(CC) $(ARCH_C_FLAGS) $(CFLAGS) $(INCLUDE_DIRS) -DNO_BUILTIN_VA_FUNCS -D__MAKEWITH_TIANO -c $< -o $@
#
HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
#
HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
# Note: IA64 options are untested; taken from Debian's rEFIt package.
ifeq ($(ARCH),ia64)
# Note: IA64 options are untested; taken from Debian's rEFIt package.
ifeq ($(ARCH),ia64)
ifeq ($(ARCH),ia32)
ARCH_C_FLAGS = -m32 -malign-double
ARCHDIR = Ia32
ifeq ($(ARCH),ia32)
ARCH_C_FLAGS = -m32 -malign-double
ARCHDIR = Ia32
endif
ifeq ($(ARCH),x86_64)
ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -mcmodel=large -m64
ARCHDIR = X64
endif
ifeq ($(ARCH),x86_64)
ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -mcmodel=large -m64
ARCHDIR = X64
endif
EDK2BASE = /usr/local/UDK2010/MyWorkSpace
endif
EDK2BASE = /usr/local/UDK2010/MyWorkSpace
# Below file defines TARGET (RELEASE or DEBUG), TARGET_ARCH (X64 or IA32), and TOOL_CHAIN_TAG (GCC44, GCC45, or GCC46)
include $(EDK2BASE)/Conf/target.txt
# Below file defines TARGET (RELEASE or DEBUG), TARGET_ARCH (X64 or IA32), and TOOL_CHAIN_TAG (GCC44, GCC45, or GCC46)
include $(EDK2BASE)/Conf/target.txt
-EFILIB = $(EDK2BASE)/Build/MdeModule/$(TARGET)_$(TOOL_CHAIN_TAG)/$(TARGET_ARCH)/MdePkg/Library
+EFILIB = $(EDK2BASE)/Build/Mde/$(TARGET)_$(TOOL_CHAIN_TAG)/$(UC_ARCH)/MdePkg/Library
ALL_EFILIBS = $(EFILIB)/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib/OUTPUT/BaseDebugPrintErrorLevelLib.lib \
$(EFILIB)/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib \
$(EFILIB)/BasePcdLibNull/BasePcdLibNull/OUTPUT/BasePcdLibNull.lib \
ALL_EFILIBS = $(EFILIB)/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib/OUTPUT/BaseDebugPrintErrorLevelLib.lib \
$(EFILIB)/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib \
$(EFILIB)/BasePcdLibNull/BasePcdLibNull/OUTPUT/BasePcdLibNull.lib \
LDSCRIPT = $(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script
LDFLAGS = -nostdlib -n -q --gc-sections --script=$(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script \
LDSCRIPT = $(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script
LDFLAGS = -nostdlib -n -q --gc-sections --script=$(EDK2BASE)/BaseTools/Scripts/gcc4.4-ld-script \
- --entry _ModuleEntryPoint -u _ModuleEntryPoint
+ --entry _ModuleEntryPoint -u _ModuleEntryPoint -m $(LD_CODE)
%.o: %.c
$(CC) $(ARCH_C_FLAGS) $(CFLAGS) $(INCLUDE_DIRS) -DFSTYPE=$(DRIVERNAME) -DNO_BUILTIN_VA_FUNCS -c $< -o $@
%.o: %.c
$(CC) $(ARCH_C_FLAGS) $(CFLAGS) $(INCLUDE_DIRS) -DFSTYPE=$(DRIVERNAME) -DNO_BUILTIN_VA_FUNCS -c $< -o $@
\r
[Packages]\r
MdePkg/MdePkg.dec\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
- MdeModulePkg/MdeModulePkg.dec\r
+# MdeModulePkg/MdeModulePkg.dec\r
IntelFrameworkPkg/IntelFrameworkPkg.dec\r
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
\r
IntelFrameworkPkg/IntelFrameworkPkg.dec\r
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
\r
-EFILIB = $(EDK2BASE)/Build/MdeModule/$(TARGET)_$(TOOL_CHAIN_TAG)/$(TARGET_ARCH)/MdePkg/Library
+EFILIB = $(EDK2BASE)/Build/Mde/$(TARGET)_$(TOOL_CHAIN_TAG)/$(UC_ARCH)/MdePkg/Library
ALL_EFILIBS = $(EFILIB)/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib/OUTPUT/BaseDebugPrintErrorLevelLib.lib \
$(EFILIB)/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib \
$(EFILIB)/BasePcdLibNull/BasePcdLibNull/OUTPUT/BasePcdLibNull.lib \
ALL_EFILIBS = $(EFILIB)/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib/OUTPUT/BaseDebugPrintErrorLevelLib.lib \
$(EFILIB)/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib \
$(EFILIB)/BasePcdLibNull/BasePcdLibNull/OUTPUT/BasePcdLibNull.lib \