| 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 |