ifeq ($(ARCH),) ARCH := x86 endif ############################################ ############# NACL ### TARGET ifeq ($(TARGET),nacl) ifndef NACL_SDK_ROOT $(error Set NACL_SDK_ROOT environment variable) endif # # Disable DOS PATH warning when using Cygwin based tools Windows # CYGWIN ?= nodosfilewarning export CYGWIN OSNAME:=$(shell python $(NACL_SDK_ROOT)/tools/getos.py) # Turns on warnings (-Wxxx), builds with zero optimization (-O0) and adds debug # information (-g) for correctness and ease of debugging. WARNINGS:=-Wno-long-long -Wall TC_PATH:=$(abspath $(NACL_SDK_ROOT)/toolchain/$(OSNAME)_x86_newlib) CFLAGS:=-pthread $(WARNINGS) CXXFLAGS:=-pthread -std=gnu++98 $(WARNINGS) CXX:=$(TC_PATH)/bin/i686-nacl-g++ CC:=$(TC_PATH)/bin/i686-nacl-gcc STATICLIB_EXT := a DYNAMICLIB_EXT := nexe LIBRARY_PREFIX := lib LDFLAGS := -lppapi GLOBAL_INCLUDES=-I../zlib/zlib_library -I$(TC_PATH)/i686-nacl/usr/include RT_NOT_SUPPORTED := ZLIB_BUILD := ifeq ($(ARCH),x86) CFLAGS += -m32 CXXFLAGS += -m32 LDFLAGS += -m32 else ifeq ($(ARCH),x64) CFLAGS += -m64 CXXFLAGS += -m64 LDFLAGS += -m64 else $(error Undefined ARCH $(ARCH)) endif else ############################################ ### EVERYTHING ELSE REQUIRES JAVA_HOME ##### ifndef JAVA_HOME $(error Set JAVA_HOME environment variable) endif ifeq ($(TARGET),) ifeq ($(shell uname),Darwin) TARGET := darwin endif ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN) TARGET := cygwin endif ifeq ($(findstring MINGW,$(shell uname)),MINGW) TARGET := win endif endif ############################################ ####### DEFAULT LINUX ########## TARGET CXX := g++ CC := gcc STRIP := strip STATICLIB_EXT := a DYNAMICLIB_EXT := so LIBRARY_PREFIX := lib LDFLAGS := -shared -Wl,-Bsymbolic ############################################ ####### Windows ########## TARGET ifeq ($(TARGET),win) CXX := i586-mingw32msvc-gcc CC := i586-mingw32msvc-gcc STRIP := i586-mingw32msvc-strip WINDRES :=i586-mingw32msvc-windres RANLIB := i586-mingw32msvc-ranlib WINDRES := i586-mingw32msvc-windres AR := i586-mingw32msvc-ar GLOBAL_INCLUDES := -I../pthread/pthreads_library -I../zlib/zlib_library RT_NOT_SUPPORTED := 1 COMMONFLAGS := -D_Windows -DXMD_H -DHAVE_BOOLEAN -DRT_NOT_SUPPORTED CPP_FLAGS := $(COMMONFLAGS) CFLAGS := -D_JNI_IMPLEMENTATION $(COMMONFLAGS) STATICLIB_EXT := a DYNAMICLIB_EXT := dll LIBRARY_PREFIX := lib LDFLAGS := -shared -Wl,-Bsymbolic else ifeq ($(TARGET),cygwin) ############################################ ####### Cygwin ########## TARGET CXX := i686-pc-cygwin-g++ CC := i686-pc-cygwin-gcc STRIP := i686-pc-cygwin-strip LDFLAGS := -shared -Wl,--kill-at CFLAGS := -D__int64="long long" -D_JNI_IMPLEMENTATION -D_REENTRANT -D_GNU_SOURCE CXXFLAGS := -D__int64="long long" -D_JNI_IMPLEMENTATION -D_REENTRANT -D_GNU_SOURCE STATICLIB_EXT := lib DYNAMICLIB_EXT := dll LIBRARY_PREFIX := # empty endif endif