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

@ -14,11 +14,11 @@ SRC_DIR = ../source
OBJECTS = $(SRC_DIR)/basecode.cpp \
$(SRC_DIR)/manager.cpp \
$(SRC_DIR)/chatlib.cpp \
$(SRC_DIR)/combat.cpp \
$(SRC_DIR)/combat.cpp \
$(SRC_DIR)/globals.cpp \
$(SRC_DIR)/interface.cpp \
$(SRC_DIR)/navigate.cpp \
$(SRC_DIR)/netmsg.cpp \
$(SRC_DIR)/netmsg.cpp \
$(SRC_DIR)/support.cpp \
$(SRC_DIR)/waypoint.cpp \
@ -32,7 +32,12 @@ CPP_OSX = clang
LINK =
INCLUDE = -I../include -I../include/engine
OS := $(shell uname -s)
ifeq "$(OSX)" "true"
OS = Darwin
CPP_OSX = o32-clang
else
OS := $(shell uname -s)
endif
ifeq "$(OS)" "Darwin"
CPP = $(CPP_OSX)
@ -58,7 +63,10 @@ ifeq "$(DEBUG)" "true"
else
BIN_DIR = release
CFLAGS += $(C_OPT_FLAGS)
LINK += -s
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">