| @@ -1,4 +1,8 @@ | |||||
| MACHINE := $(shell $(CC) -dumpmachine) | |||||
| ifdef CROSS_COMPILE | |||||
| MACHINE := $(CROSS_COMPILE) | |||||
| else | |||||
| MACHINE ?= $(shell $(CC) -dumpmachine) | |||||
| endif | |||||
| ifneq (,$(findstring x86_64-,$(MACHINE))) | ifneq (,$(findstring x86_64-,$(MACHINE))) | ||||
| ARCH_X64 := 1 | ARCH_X64 := 1 | ||||
| @@ -20,6 +20,12 @@ FLAGS += -Wall -Wextra -Wno-unused-parameter | |||||
| # C++ standard | # C++ standard | ||||
| CXXFLAGS += -std=c++11 | CXXFLAGS += -std=c++11 | ||||
| # Define compiler/linker target if cross-compiling | |||||
| ifdef CROSS_COMPILE | |||||
| FLAGS += --target=$(MACHINE) | |||||
| LDFLAGS += --target=$(MACHINE) | |||||
| endif | |||||
| # Architecture-independent flags | # Architecture-independent flags | ||||
| ifdef ARCH_X64 | ifdef ARCH_X64 | ||||
| FLAGS += -DARCH_X64 | FLAGS += -DARCH_X64 | ||||
| @@ -10,6 +10,12 @@ DEP_FLAGS += -g -O3 | |||||
| # Static libs don't usually compiled with -fPIC, but since we're including them in a shared library, it's needed. | # Static libs don't usually compiled with -fPIC, but since we're including them in a shared library, it's needed. | ||||
| DEP_FLAGS += -fPIC | DEP_FLAGS += -fPIC | ||||
| # Define compiler/linker target if cross-compiling | |||||
| ifdef CROSS_COMPILE | |||||
| DEP_FLAGS += --target=$(MACHINE) | |||||
| DEP_LDFLAGS += --target=$(MACHINE) | |||||
| endif | |||||
| ifdef ARCH_X64 | ifdef ARCH_X64 | ||||
| DEP_FLAGS += -march=nehalem | DEP_FLAGS += -march=nehalem | ||||
| endif | endif | ||||