mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-22 20:11:44 +00:00
bullet plugin should now be compilable for windows.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5569 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
bdc2b01f11
commit
371909fb30
2 changed files with 30 additions and 10 deletions
|
@ -2003,7 +2003,7 @@ endif
|
||||||
plugins-dbg:
|
plugins-dbg:
|
||||||
@-mkdir -p $(DEBUG_DIR)
|
@-mkdir -p $(DEBUG_DIR)
|
||||||
@if test -e ../plugins/Makefile; \
|
@if test -e ../plugins/Makefile; \
|
||||||
then $(MAKE) native -C ../plugins OUT_DIR="$(DEBUG_DIR)" CC="$(CC) $(W32_CFLAGS) $(DEBUG_CFLAGS)" CCX="$(CC) $(W32_CFLAGS) $(subst -Wno-pointer-sign,,$(DEBUG_CFLAGS))" ARCH="$(ARCH)" BASE_CFLAGS="$(BASE_CFLAGS) $(BRANDFLAGS)" BASE_CXXFLAGS="$(subst -Wno-pointer-sign,,$(BASE_CFLAGS)) $(BRANDFLAGS)" FTE_TARGET="$(FTE_TARGET)"; \
|
then $(MAKE) native -C ../plugins OUT_DIR="$(DEBUG_DIR)" CC="$(CC) $(W32_CFLAGS) $(DEBUG_CFLAGS)" CXX="$(CXX) $(W32_CFLAGS) $(subst -Wno-pointer-sign,,$(DEBUG_CFLAGS))" ARCH="$(ARCH)" BASE_CFLAGS="$(BASE_CFLAGS) $(BRANDFLAGS)" BASE_CXXFLAGS="$(subst -Wno-pointer-sign,,$(BASE_CFLAGS)) $(BRANDFLAGS)" FTE_TARGET="$(FTE_TARGET)"; \
|
||||||
else echo no plugins directory installed; \
|
else echo no plugins directory installed; \
|
||||||
fi
|
fi
|
||||||
plugins:
|
plugins:
|
||||||
|
@ -2011,7 +2011,7 @@ plugins:
|
||||||
plugins-rel:
|
plugins-rel:
|
||||||
@-mkdir -p $(RELEASE_DIR)
|
@-mkdir -p $(RELEASE_DIR)
|
||||||
@if test -e ../plugins/Makefile; \
|
@if test -e ../plugins/Makefile; \
|
||||||
then $(MAKE) native -C ../plugins OUT_DIR="$(RELEASE_DIR)" CC="$(CC) $(W32_CFLAGS) $(RELEASE_CFLAGS)" CCX="$(CXX) $(W32_CFLAGS) $(subst -Wno-pointer-sign,,$(RELEASE_CFLAGS))" ARCH="$(ARCH)" BASE_CFLAGS="$(BASE_CFLAGS) $(BRANDFLAGS)" BASE_CXXFLAGS="$(subst -Wno-pointer-sign,,$(BASE_CFLAGS)) $(BRANDFLAGS)" FTE_TARGET="$(FTE_TARGET)"; \
|
then $(MAKE) native -C ../plugins OUT_DIR="$(RELEASE_DIR)" CC="$(CC) $(W32_CFLAGS) $(RELEASE_CFLAGS)" CXX="$(CXX) $(W32_CFLAGS) $(subst -Wno-pointer-sign,,$(RELEASE_CFLAGS))" ARCH="$(ARCH)" BASE_CFLAGS="$(BASE_CFLAGS) $(BRANDFLAGS)" BASE_CXXFLAGS="$(subst -Wno-pointer-sign,,$(BASE_CFLAGS)) $(BRANDFLAGS)" FTE_TARGET="$(FTE_TARGET)"; \
|
||||||
else echo no plugins directory installed; \
|
else echo no plugins directory installed; \
|
||||||
fi
|
fi
|
||||||
plugins-rel:
|
plugins-rel:
|
||||||
|
|
|
@ -6,6 +6,7 @@ PLUG_LDFLAGS= -static-libgcc
|
||||||
PLUG_LDFLAGS_ZLIB=-L../engine/libs/mingw-libs -lzlib
|
PLUG_LDFLAGS_ZLIB=-L../engine/libs/mingw-libs -lzlib
|
||||||
BITS=32
|
BITS=32
|
||||||
PLUG_LDFLAGS_DL=
|
PLUG_LDFLAGS_DL=
|
||||||
|
CMAKERULES=$(OUT_DIR)/toolchain_$(FTE_TARGET).cmake
|
||||||
endif
|
endif
|
||||||
ifeq ($(FTE_TARGET),win64)
|
ifeq ($(FTE_TARGET),win64)
|
||||||
PLUG_NATIVE_EXT=_x64.dll
|
PLUG_NATIVE_EXT=_x64.dll
|
||||||
|
@ -13,6 +14,7 @@ PLUG_LDFLAGS=-Wl,--support-old-code -static-libgcc
|
||||||
PLUG_LDFLAGS_ZLIB=-L../engine/libs/mingw64-libs -lz
|
PLUG_LDFLAGS_ZLIB=-L../engine/libs/mingw64-libs -lz
|
||||||
BITS=64
|
BITS=64
|
||||||
PLUG_LDFLAGS_DL=
|
PLUG_LDFLAGS_DL=
|
||||||
|
CMAKERULES=$(OUT_DIR)/toolchain_$(FTE_TARGET).cmake
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PLUG_PREFIX=$(OUT_DIR)/fteplug_
|
PLUG_PREFIX=$(OUT_DIR)/fteplug_
|
||||||
|
@ -211,24 +213,42 @@ $(PLUG_PREFIX)ode$(PLUG_NATIVE_EXT): $(ODE_FILES)
|
||||||
$(CC) -flto -s $(BASE_CFLAGS) $(CFLAGS) -Os -DFTEPLUGIN -DODE_STATIC -o $@ -shared $(PLUG_CFLAGS) -I$(ODE_BASE)ode-$(ODE_VER)/include $(ODE_FILES) $(PLUG_DEFFILE) $(PLUG_LDFLAGS) -static-libgcc `$(CC) -print-file-name=libstdc++.a` -lpthread
|
$(CC) -flto -s $(BASE_CFLAGS) $(CFLAGS) -Os -DFTEPLUGIN -DODE_STATIC -o $@ -shared $(PLUG_CFLAGS) -I$(ODE_BASE)ode-$(ODE_VER)/include $(ODE_FILES) $(PLUG_DEFFILE) $(PLUG_LDFLAGS) -static-libgcc `$(CC) -print-file-name=libstdc++.a` -lpthread
|
||||||
#NATIVE_PLUGINS+=ode
|
#NATIVE_PLUGINS+=ode
|
||||||
|
|
||||||
|
ifneq ($(CMAKERULES),)
|
||||||
|
BULLET_CFLAGS+=-static-libstdc++
|
||||||
|
PLUG_CMAKE+= -DCMAKE_TOOLCHAIN_FILE="$(CMAKERULES)"
|
||||||
|
$(CMAKERULES):
|
||||||
|
echo "set(CMAKE_SYSTEM_NAME Windows)" > $@
|
||||||
|
echo "set(TOOLCHAIN_PREFIX `$(CC) -dumpmachine`)" >> $@
|
||||||
|
# cross compilers to use for C, C++ and Fortran
|
||||||
|
echo "set(CMAKE_C_COMPILER $(CC))" >> $@
|
||||||
|
echo "set(CMAKE_CXX_COMPILER $(CXX))" >> $@
|
||||||
|
echo "set(CMAKE_RC_COMPILER $${TOOLCHAIN_PREFIX}-windres)" >> $@
|
||||||
|
# target environment on the build host system
|
||||||
|
echo "set(CMAKE_FIND_ROOT_PATH /usr/$${TOOLCHAIN_PREFIX})" >> $@
|
||||||
|
# modify default behavior of FIND_XXX() commands
|
||||||
|
echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $@
|
||||||
|
echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $@
|
||||||
|
echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $@
|
||||||
|
endif
|
||||||
|
|
||||||
BULLET_VER=2.87
|
BULLET_VER=2.87
|
||||||
BULLET_URL=https://github.com/bulletphysics/bullet3/archive/$(BULLET_VER).tar.gz
|
BULLET_URL=https://github.com/bulletphysics/bullet3/archive/$(BULLET_VER).tar.gz
|
||||||
BULLET_BASE=$(OUT_DIR)/../bullet3-$(BULLET_VER)_$(FTE_TARGET)/
|
BULLET_BASE=$(OUT_DIR)/../bullet3-$(BULLET_VER)_$(FTE_TARGET)/
|
||||||
BULLET_LIBS= \
|
BULLET_LIBS= \
|
||||||
$(BULLET_BASE)bullet3-$(BULLET_VER)/src/BulletDynamics/libBulletDynamics.a \
|
$(BULLET_BASE)bullet3-$(BULLET_VER)/lib/libBulletDynamics.a \
|
||||||
$(BULLET_BASE)bullet3-$(BULLET_VER)/src/BulletCollision/libBulletCollision.a \
|
$(BULLET_BASE)bullet3-$(BULLET_VER)/lib/libBulletCollision.a \
|
||||||
$(BULLET_BASE)bullet3-$(BULLET_VER)/src/LinearMath/libLinearMath.a
|
$(BULLET_BASE)bullet3-$(BULLET_VER)/lib/libLinearMath.a
|
||||||
BULLET_CFLAGS=-I$(BULLET_BASE)bullet3-$(BULLET_VER)/src
|
BULLET_CFLAGS+=-I$(BULLET_BASE)bullet3-$(BULLET_VER)/src
|
||||||
$(OUT_DIR)/../bullet3-$(BULLET_VER).tar.gz:
|
$(OUT_DIR)/../bullet3-$(BULLET_VER).tar.gz:
|
||||||
mkdir -p $(BULLET_BASE)
|
mkdir -p $(BULLET_BASE)
|
||||||
wget -N $(BULLET_URL) -O $@
|
wget -N $(BULLET_URL) -O $@
|
||||||
|
|
||||||
BULLET_LIB=$(BULLET_BASE)bullet3-$(BULLET_VER)/src/LinearMath/libLinearMath.a
|
BULLET_LIB=$(BULLET_BASE)bullet3-$(BULLET_VER)/lib/libLinearMath.a
|
||||||
$(BULLET_BASE)bullet3-$(BULLET_VER)/src/BulletDynamics/libBulletDynamics.a $(BULLET_BASE)bullet3-$(BULLET_VER)/src/BulletCollision/libBulletCollision.a: $(BULLET_LIB)
|
$(BULLET_BASE)bullet3-$(BULLET_VER)/lib/libBulletDynamics.a $(BULLET_BASE)bullet3-$(BULLET_VER)/lib/libBulletCollision.a: $(BULLET_LIB)
|
||||||
$(BULLET_LIB): $(OUT_DIR)/../bullet3-$(BULLET_VER).tar.gz
|
$(BULLET_LIB): $(OUT_DIR)/../bullet3-$(BULLET_VER).tar.gz $(CMAKERULES)
|
||||||
mkdir -p $(BULLET_BASE) && cd $(BULLET_BASE) && tar xvfz $<
|
mkdir -p $(BULLET_BASE) && cd $(BULLET_BASE) && tar xvfz $<
|
||||||
cd $(BULLET_BASE)bullet3-$(BULLET_VER)/ && cmake $(PLUG_CMAKE) . && $(MAKE) LinearMath BulletDynamics BulletCollision
|
rm $(BULLET_BASE)bullet3-$(BULLET_VER)/build3/cmake/FindPythonLibs.cmake #cmake is a pile of shite and fails at cross compiling. oh well, we didn't want any python stuff anyway.
|
||||||
|
cd $(BULLET_BASE)bullet3-$(BULLET_VER)/ && cmake $(PLUG_CMAKE) -DBUILD_DEMOS:BOOL=OFF -DBUILD_EXTRAS:BOOL=OFF -DLIBRARY_OUTPUT_PATH=$(BULLET_BASE)bullet3-$(BULLET_VER)/lib . && $(MAKE) LinearMath BulletDynamics BulletCollision
|
||||||
#./configure --enable-double-precision --disable-demos --without-x CXX="$(CC)" CFLAGS="$(PLUG_CFLAGS)" CXXFLAGS="$(PLUG_CXXFLAGS)" --host=`$(CC) -dumpmachine` && make
|
#./configure --enable-double-precision --disable-demos --without-x CXX="$(CC)" CFLAGS="$(PLUG_CFLAGS)" CXXFLAGS="$(PLUG_CXXFLAGS)" --host=`$(CC) -dumpmachine` && make
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue