5f69e7b04e7d9bb52d1dc5ac1f9deff7f12e1210
[efi/edk2/.git] / edk2 / BaseTools / Source / C / Makefiles / header.makefile
1 # The makefile can be invoked with
2 # ARCH = x86_64 or x64 for EM64T build
3 # ARCH = ia32 or IA32 for IA32 build
4 # ARCH = ia64 or IA64 for IA64 build
5 #
6 ARCH ?= IA32
7
8 CYGWIN:=$(findstring CYGWIN, $(shell uname -s))
9 LINUX:=$(findstring Linux, $(shell uname -s))
10 DARWIN:=$(findstring Darwin, $(shell uname -s))
11
12 CC = gcc
13 CXX = g++
14 AS = gcc
15 AR = ar
16 LD = ld
17 LINKER ?= $(CC)
18 ifeq ($(ARCH), IA32)
19 ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
20 endif
21
22 ifeq ($(ARCH), X64)
23 ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/
24 endif
25
26 INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) 
27 CPPFLAGS = $(INCLUDE)
28 CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g
29 LFLAGS =
30
31 #
32 # Snow Leopard  is a 32-bit and 64-bit environment. uname -m returns -i386, but gcc defaults 
33 #  to x86_64. So make sure tools match uname -m
34 #
35 uname_s = $(shell uname -s)
36 ifeq ($(uname_s),Darwin)
37   CFLAGS   += -arch i386
38   CPPFLAGS += -arch i386
39   LFLAGS   += -arch i386
40 endif
41   
42 .PHONY: all
43 .PHONY: install
44 .PHONY: clean
45
46 all:
47
48 $(MAKEROOT)/libs:
49         mkdir $(MAKEROOT)/libs 
50
51 $(MAKEROOT)/bin:
52         mkdir $(MAKEROOT)/bin