added support for cross-compiling linux->osx to makefile

This commit is contained in:
Dmitry 2015-06-06 20:38:22 +03:00
commit 67399f97ab
3 changed files with 30 additions and 10 deletions

View file

@ -73,6 +73,8 @@ typedef unsigned int uint;
#include <float.h>
// Maximum and minimum representable values
// fixing compiling againt maxosx10.10
#if 0
#define INT8_MAX SCHAR_MAX
#define INT16_MAX SHRT_MAX
#define INT32_MAX LONG_MAX
@ -102,6 +104,7 @@ typedef unsigned int uint;
#define FLOAT32_MIN FLT_MIN
#define FLOAT64_MIN DBL_MIN
#endif
// portability / compiler settings
#if defined(_WIN32) && !defined(WINDED)

View file

@ -32,7 +32,12 @@ CPP_OSX = clang
LINK =
INCLUDE = -I../include -I../include/engine
ifeq "$(OSX)" "true"
OS = Darwin
CPP_OSX = o32-clang
else
OS := $(shell uname -s)
endif
ifeq "$(OS)" "Darwin"
CPP = $(CPP_OSX)
@ -58,8 +63,11 @@ ifeq "$(DEBUG)" "true"
else
BIN_DIR = release
CFLAGS += $(C_OPT_FLAGS)
ifeq "$(OS)" "Linux"
LINK += -s
endif
endif
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
@ -104,7 +112,7 @@ $(BIN_DIR)/%.o: %.cpp
$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $(subst $(SRC_DIR)/,,$@) -c $<
main:
make $(PROJECT)
$(MAKE) $(PROJECT)
$(PROJECT): $(OBJ_BIN)
$(CPP) $(INCLUDE) $(subst $(SRC_DIR)/,,$(OBJ_BIN)) $(LINK) -o $(BIN_DIR)/$(BINARY)
@ -117,11 +125,20 @@ release:
mkdir -p release
$(MAKE) main DEBUG=false
all: release debug
release_osx:
mkdir -p release
$(MAKE) main OSX=true DEBUG=false
debug_osx:
mkdir -p debug
$(MAKE) main OSX=true DEBUG=true
all_linux: release debug
all_osx: release_osx debug_osx
all: all_linux all_osx
default: all
clean:
rm -rf release
rm -rf debug

View file

@ -30,9 +30,6 @@
<ClInclude Include="..\include\resource.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\engine\archtypes.h">
<Filter>include\engine</Filter>
</ClInclude>
<ClInclude Include="..\include\engine\const.h">
<Filter>include\engine</Filter>
</ClInclude>
@ -66,6 +63,9 @@
<ClInclude Include="..\include\engine\util.h">
<Filter>include\engine</Filter>
</ClInclude>
<ClInclude Include="..\include\engine\archtypes.h">
<Filter>include\engine</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\source\chatlib.cpp">