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

View file

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

View file

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