If you install 64-bit kernel build will fail. This requires manually setting properties, but it is legal...

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10796 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish 2010-08-13 19:49:30 +00:00
parent 28a94112d1
commit 95ac6ef640
2 changed files with 58 additions and 54 deletions

View File

@ -0,0 +1 @@
PosixLike

View File

@ -1,10 +1,10 @@
## @file ## @file
# #
# The makefile can be invoked with # The makefile can be invoked with
# ARCH = x86_64 or x64 for EM64T build # ARCH = x86_64 or x64 for EM64T build
# ARCH = ia32 or IA32 for IA32 build # ARCH = ia32 or IA32 for IA32 build
# ARCH = ia64 or IA64 for IA64 build # ARCH = ia64 or IA64 for IA64 build
# #
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -12,52 +12,55 @@
# http://opensource.org/licenses/bsd-license.php # http://opensource.org/licenses/bsd-license.php
# #
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
ARCH ?= IA32 ARCH ?= IA32
CYGWIN:=$(findstring CYGWIN, $(shell uname -s)) CYGWIN:=$(findstring CYGWIN, $(shell uname -s))
LINUX:=$(findstring Linux, $(shell uname -s)) LINUX:=$(findstring Linux, $(shell uname -s))
DARWIN:=$(findstring Darwin, $(shell uname -s)) DARWIN:=$(findstring Darwin, $(shell uname -s))
CC = gcc CC = gcc
CXX = g++ CXX = g++
AS = gcc AS = gcc
AR = ar AR = ar
LD = ld LD = ld
LINKER ?= $(CC) LINKER ?= $(CC)
ifeq ($(ARCH), IA32) ifeq ($(ARCH), IA32)
ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/ ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
endif endif
ifeq ($(ARCH), X64) ifeq ($(ARCH), X64)
ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/ ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/
endif endif
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
CPPFLAGS = $(INCLUDE) CPPFLAGS = $(INCLUDE)
CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g
LFLAGS = LFLAGS =
# #
# Snow Leopard is a 32-bit and 64-bit environment. uname -m returns -i386, but gcc defaults # Snow Leopard is a 32-bit and 64-bit environment. uname -m returns -i386, but gcc defaults
# to x86_64. So make sure tools match uname -m # to x86_64. So make sure tools match uname -m
# #
uname_s = $(shell uname -s) uname_s = $(shell uname -s)
ifeq ($(uname_s),Darwin) uname_m = $(shell uname -m)
CFLAGS += -arch i386 ifeq ($(uname_s),Darwin)
CPPFLAGS += -arch i386 ifeq ($(uname_m),i386)
LFLAGS += -arch i386 CFLAGS += -arch i386
endif CPPFLAGS += -arch i386
LFLAGS += -arch i386
.PHONY: all endif
.PHONY: install endif
.PHONY: clean
.PHONY: all
all: .PHONY: install
.PHONY: clean
$(MAKEROOT)/libs:
mkdir $(MAKEROOT)/libs all:
$(MAKEROOT)/bin: $(MAKEROOT)/libs:
mkdir $(MAKEROOT)/bin mkdir $(MAKEROOT)/libs
$(MAKEROOT)/bin:
mkdir $(MAKEROOT)/bin