diff --git a/Makefile b/Makefile index 108cf14..b08e8d5 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,19 @@ RPGXDIRYOUNG="/d/games/eliteforce/build-engine/RPG-X2" ARCH=$(shell uname -m | sed -e s/i.86/i386/) PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') +# cross compiling +ifeq ($(TARGET), win32) +ARCH=x86 +PLATFORM=mingw32 +endif +ifeq ($(TARGET), win64) +ARCH=x86 +PLATFORM=mingw32 +endif + # set extension ifeq ($(PLATFORM), mingw32) EXT=dll -ARCH=x86 else EXT=so endif @@ -43,4 +52,11 @@ install: installyoung: mv game/qagame$(ARCH).$(EXT) $(RPGXDIRYOUNG) mv cgame/cgame$(ARCH).$(EXT) $(RPGXDIRYOUNG) - mv ui/ui$(ARCH).$(EXT) $(RPGXDIRYOUNG) \ No newline at end of file + mv ui/ui$(ARCH).$(EXT) $(RPGXDIRYOUNG) + +pack: + cp game/qagame$(ARCH).$(EXT) . + cp cgame/cgame$(ARCH).$(EXT) . + cp ui/ui$(ARCH).$(EXT) . + tar -czvpf release_$(PLATFORM)_$(ARCH).tar.gz qagame$(ARCH).$(EXT) cgame$(ARCH).$(EXT) ui$(ARCH).$(EXT) + diff --git a/cgame/Makefile b/cgame/Makefile index 46521f6..28b4b88 100644 --- a/cgame/Makefile +++ b/cgame/Makefile @@ -1,13 +1,27 @@ default: so so: build_so -# compiler to use for building shared objects -CC = gcc - # determine arch and platform ARCH=$(shell uname -m | sed -e s/i.86/i386/) PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') +# compiler to use for building shared objects +CC = gcc + +# cross compiling +ifeq ($(TARGET), win32) + PLATFORM=mingw32 + ARCH=x86 + CC=i686-w64-mingw32-gcc + CFLAGS+=-m32 +endif +ifeq ($(TARGET), win64) + PLATFORM=mingw32 + ARCH=x86_64 + CC=x86_64-w64-mingw32-gcc + CFLAGS+=-m64 +endif + # cflags for the compiler ifeq ($(PLATFORM), mingw32) SOCFLAGS = $(CFLAGS) diff --git a/game/Makefile b/game/Makefile index 49fcc8e..02f3fc3 100644 --- a/game/Makefile +++ b/game/Makefile @@ -8,6 +8,20 @@ PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') # compiler to use for building shared objects CC = gcc +# cross compiling +ifeq ($(TARGET), win32) + PLATFORM=mingw32 + ARCH=x86 + CC=i686-w64-mingw32-gcc + CFLAGS+=-m32 +endif +ifeq ($(TARGET), win64) + PLATFORM=mingw32 + ARCH=x86_64 + CC=x86_64-w64-mingw32-gcc + CFLAGS+=-m64 +endif + # cflags for the compiler ifeq ($(PLATFORM), mingw32) SOCFLAGS = $(CFLAGS) @@ -18,7 +32,6 @@ endif # set extension ifeq ($(PLATFORM), mingw32) EXT=dll -ARCH=x86 else EXT=so endif diff --git a/stefgame.suo b/stefgame.suo index 211f283..5c7f3a2 100644 Binary files a/stefgame.suo and b/stefgame.suo differ diff --git a/ui/Makefile b/ui/Makefile index 123e91c..1406ccf 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -1,13 +1,26 @@ -default: so -so: build_so - -# compiler to use for building shared objects -CC = gcc +default: build_so # determine arch and platform ARCH=$(shell uname -m | sed -e s/i.86/i386/) PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') +# compiler to use for building shared objects +CC = gcc + +# cross compiling +ifeq ($(TARGET), win32) + PLATFORM=mingw32 + ARCH=x86 + CC=i686-w64-mingw32-gcc + CFLAGS+=-m32 +endif +ifeq ($(TARGET), win64) + PLATFORM=mingw32 + ARCH=x86_64 + CC=x86_64-w64-mingw32-gcc + CFLAGS+=-m64 +endif + # cflags for the compiler ifeq ($(PLATFORM), mingw32) SOCFLAGS = $(CFLAGS)