## @file\r
# GNU/Linux makefile for C tools build.\r
#\r
-# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
-ifndef ARCH\r
+ifndef HOST_ARCH\r
#\r
- # If ARCH is not defined, then we use 'uname -m' to attempt\r
- # try to figure out the appropriate ARCH.\r
+ # If HOST_ARCH is not defined, then we use 'uname -m' to attempt\r
+ # try to figure out the appropriate HOST_ARCH.\r
#\r
uname_m = $(shell uname -m)\r
- $(info Attempting to detect ARCH from 'uname -m': $(uname_m))\r
+ $(info Attempting to detect HOST_ARCH from 'uname -m': $(uname_m))\r
ifneq (,$(strip $(filter $(uname_m), x86_64 amd64)))\r
- ARCH=X64\r
+ HOST_ARCH=X64\r
endif\r
ifeq ($(patsubst i%86,IA32,$(uname_m)),IA32)\r
- ARCH=IA32\r
+ HOST_ARCH=IA32\r
endif\r
- ifndef ARCH\r
- $(info Could not detected ARCH from uname results)\r
- $(error ARCH is not defined!)\r
+ ifneq (,$(findstring aarch64,$(uname_m)))\r
+ HOST_ARCH=AARCH64\r
endif\r
- $(info Detected ARCH of $(ARCH) using uname.)\r
+ ifneq (,$(findstring arm,$(uname_m)))\r
+ HOST_ARCH=ARM\r
+ endif\r
+ ifndef HOST_ARCH\r
+ $(info Could not detected HOST_ARCH from uname results)\r
+ $(error HOST_ARCH is not defined!)\r
+ endif\r
+ $(info Detected HOST_ARCH of $(HOST_ARCH) using uname.)\r
endif\r
\r
-export ARCH\r
+export HOST_ARCH\r
\r
MAKEROOT = .\r
\r
include Makefiles/header.makefile\r
\r
-all: makerootdir subdirs $(MAKEROOT)/libs\r
- @echo Finished building BaseTools C Tools with ARCH=$(ARCH)\r
+all: makerootdir subdirs\r
+ @echo Finished building BaseTools C Tools with HOST_ARCH=$(HOST_ARCH)\r
\r
LIBRARIES = Common\r
+VFRAUTOGEN = VfrCompile/VfrLexer.h\r
# NON_BUILDABLE_APPLICATIONS = GenBootSector BootSectImage\r
APPLICATIONS = \\r
+ BrotliCompress \\r
+ VfrCompile \\r
GnuGenBootSector \\r
BootSectImage \\r
EfiLdrImage \\r
Split \\r
TianoCompress \\r
VolInfo \\r
- VfrCompile\r
+ DevicePath\r
\r
SUBDIRS := $(LIBRARIES) $(APPLICATIONS)\r
\r
+$(LIBRARIES): $(MAKEROOT)/libs\r
+$(APPLICATIONS): $(LIBRARIES) $(MAKEROOT)/bin $(VFRAUTOGEN)\r
+\r
.PHONY: outputdirs\r
makerootdir:\r
-mkdir -p $(MAKEROOT)\r
$(patsubst %,%-clean,$(sort $(SUBDIRS))):\r
-$(MAKE) -C $(@:-clean=) clean\r
\r
+$(VFRAUTOGEN): VfrCompile/VfrSyntax.g \r
+ $(MAKE) -C VfrCompile VfrLexer.h\r
+\r
clean: $(patsubst %,%-clean,$(sort $(SUBDIRS)))\r
\r
clean: localClean\r