MorphOS crosscompile target & Mac OSX crosscompile targets (ppc32,

ppc64 and x86) added. Changed output names of morphos and macosx to be unique 
to their OS so they werent the same as linux's binary names exactly the 
same as the linux output, reason was it made batch cross-compiling 
difficult when "fteqw.sv" is the same filename for Linux, MorphOS & Mac 
OSX binaries.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2776 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Lance 2007-11-02 00:30:47 +00:00
parent 7e722828d6
commit 3d5541a976

View file

@ -27,6 +27,60 @@ ifeq ($(FTE_TARGET),win32)
endif endif
endif endif
endif endif
#crosscompile macosx from linux, default target ppc 32bit
ifeq ($(FTE_TARGET),macosx)
ifeq ($(shell $(CC) -v 2>&1 | grep apple),)
ifneq ($(shell which powerpc-apple-darwin8-gcc 2> /dev/null),)
CC=powerpc-apple-darwin8-gcc
STRIP=powerpc-apple-darwin8-strip
#seems, macosx has a more limited version of strip
STRIPFLAGS=
BITS=32
EXTENSION=_ppc
endif
endif
endif
ifeq ($(FTE_TARGET),macosx_ppc64)
ifeq ($(shell $(CC) -v 2>&1 | grep apple),)
ifneq ($(shell which powerpc-apple-darwin8-gcc 2> /dev/null),)
FTE_TARGET=macosx
CC=powerpc-apple-darwin8-gcc -arch ppc64
STRIP=powerpc-apple-darwin8-strip
#seems, macosx has a more limited version of strip
STRIPFLAGS=
BITS=64
EXTENSION=_ppc
endif
endif
endif
ifeq ($(FTE_TARGET),macosx_x86)
ifeq ($(shell $(CC) -v 2>&1 | grep apple),)
ifneq ($(shell which i686-apple-darwin8-gcc 2> /dev/null),)
FTE_TARGET=macosx
# i686-apple-darwin8-gcc's default target is i386, powerpc-apple-darwin8-gcc -arch i386 just invokes i686-apple-darwin8-gcc anyway
CC=i686-apple-darwin8-gcc
STRIP=i686-apple-darwin8-strip
#seems, macosx has a more limited version of strip
STRIPFLAGS=
EXTENSION=_x86
endif
endif
endif
#crosscompile morphos from linux
ifeq ($(FTE_TARGET),morphos)
ifeq ($(shell $(CC) -v 2>&1 | grep morphos),)
ifneq ($(shell which ppc-morphos-gcc 2> /dev/null),)
CC=ppc-morphos-gcc
#morphos strip has a 'feature', it strips permissions
STRIP=ppc-morphos-strip
endif
endif
endif
#if you have an x86, you can get gcc to build 32bit or 64bit specific builds, instead of builds for the native platform #if you have an x86, you can get gcc to build 32bit or 64bit specific builds, instead of builds for the native platform
ifeq ($(FTE_TARGET),linux32) ifeq ($(FTE_TARGET),linux32)
FTE_TARGET=linux FTE_TARGET=linux
@ -579,13 +633,13 @@ endif
MINGL_EXE_NAME=../fteqw.mingl$(BITS) MINGL_EXE_NAME=../fteqw.mingl$(BITS)
MINGL_DIR=mingl_linux$(BITS) MINGL_DIR=mingl_linux$(BITS)
endif endif
ifeq ($(FTE_TARGET),macosx) ifneq ($(shell echo $(FTE_TARGET)|grep macosx),)
SV_DIR=sv_macosx SV_DIR=sv_macosx$(EXTENSION)$(BITS)
GLB_DIR=gl_macosx GLB_DIR=gl_macosx$(EXTENSION)$(BITS)
GLCL_DIR=glcl_macosx GLCL_DIR=glcl_macosx$(EXTENSION)$(BITS)
MINGL_DIR=mingl_macosx MINGL_DIR=mingl_macosx$(EXTENSION)$(BITS)
SWB_DIR=sw_macosx SWB_DIR=sw_macosx$(EXTENSION)$(BITS)
SWCL_DIR=sw_macosx SWCL_DIR=sw_macosx$(EXTENSION)$(BITS)
GL_CFLAGS=$(GLCFLAGS) -D__MACOSX__ GL_CFLAGS=$(GLCFLAGS) -D__MACOSX__
GL_LDFLAGS=-framework AGL -framework OpenGL -framework Cocoa -framework AudioUnit GL_LDFLAGS=-framework AGL -framework OpenGL -framework Cocoa -framework AudioUnit
@ -595,15 +649,18 @@ ifeq ($(FTE_TARGET),macosx)
SW_LDFLAGS= SW_LDFLAGS=
SWCL_OBJS=$(SOFTWARE_OBJS) cd_null.o sys_linux.o vid_null.o SWCL_OBJS=$(SOFTWARE_OBJS) cd_null.o sys_linux.o vid_null.o
GL_EXE_NAME=../fteqw.gl GL_EXE_NAME=../macosx_fteqw.gl$(EXTENSION)$(BITS)
GLCL_EXE_NAME=../fteqwcl.gl GLCL_EXE_NAME=../macosx_fteqwcl.gl$(EXTENSION)$(BITS)
SW_EXE_NAME=../fteqw.sw SW_EXE_NAME=../macosx_fteqw.sw$(EXTENSION)$(BITS)
SWCL_EXE_NAME=../fteqwcl.sw SWCL_EXE_NAME=../macosx_fteqwcl.sw$(EXTENSION)$(BITS)
M_EXE_NAME=../fteqw M_EXE_NAME=../macosx_fteqw$(EXTENSION)$(BITS)
MCL_EXE_NAME=../fteqwcl MCL_EXE_NAME=../macosx_fteqwcl$(EXTENSION)$(BITS)
MINGL_EXE_NAME=../fteqw.mingl MINGL_EXE_NAME=../macosx_fteqw.mingl$(EXTENSION)$(BITS)
MINGL_DIR=mingl_maxosx MINGL_DIR=mingl_macosx$(EXTENSION)$(BITS)
SV_OBJS=$(COMMON_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) $(SERVERONLY_OBJS)
SV_EXE_NAME=../macosx_fteqw.sv$(EXTENSION)$(BITS)
SV_CFLAGS=$(SERVER_ONLY_CFLAGS)
#seems, macosx has a more limited version of strip #seems, macosx has a more limited version of strip
STRIPFLAGS= STRIPFLAGS=
@ -614,31 +671,36 @@ ifeq ($(FTE_TARGET),morphos)
SV_LDFLAGS=-lz SV_LDFLAGS=-lz
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidmorphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidmorphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o
GL_EXE_NAME=../fteqw.gl GL_EXE_NAME=../morphos_fteqw.gl
GLCL_EXE_NAME=../fteqwcl.gl GLCL_EXE_NAME=../morphos_fteqwcl.gl
GL_LDFLAGS=$(GLLDFLAGS) -ldl $(IMAGELDFLAGS) -lz GL_LDFLAGS=$(GLLDFLAGS) -ldl $(IMAGELDFLAGS) -lz
GL_CFLAGS=$(GLCFLAGS) -noixemul GL_CFLAGS=$(GLCFLAGS) -noixemul
GLB_DIR=gl_morphos GLB_DIR=gl_morphos
GLCL_DIR=glcl_morphos GLCL_DIR=glcl_morphos
SWCL_OBJS=$(SOFTWARE_OBJS) vid_morphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o SWCL_OBJS=$(SOFTWARE_OBJS) vid_morphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o
SW_EXE_NAME=../fteqw.sw SW_EXE_NAME=../morphos_fteqw.sw
SWCL_EXE_NAME=../fteqwcl.sw SWCL_EXE_NAME=../morphos_fteqwcl.sw
SW_LDFLAGS=$(SWLDFLAGS) -ldl $(IMAGELDFLAGS) -lz SW_LDFLAGS=$(SWLDFLAGS) -ldl $(IMAGELDFLAGS) -lz
SW_CFLAGS=$(SWCFLAGS) -noixemul SW_CFLAGS=$(SWCFLAGS) -noixemul
SWB_DIR=sw_morphos SWB_DIR=sw_morphos
SWCL_DIR=swcl_morphos SWCL_DIR=swcl_morphos
MCL_OBJS=$(GLQUAKE_OBJS) $(SOFTWARE_OBJS) gl_vidmorphos.o vid_morphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o MCL_OBJS=$(GLQUAKE_OBJS) $(SOFTWARE_OBJS) gl_vidmorphos.o vid_morphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o
M_EXE_NAME=../fteqw M_EXE_NAME=../morphos_fteqw
MCL_EXE_NAME=../fteqwcl MCL_EXE_NAME=../morphos_fteqwcl
M_LDFLAGS=$(GLLDFLAGS) M_LDFLAGS=$(GLLDFLAGS)
M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS)
MB_DIR=m_morphos MB_DIR=m_morphos
MCL_DIR=mcl_morphos MCL_DIR=mcl_morphos
MINGL_EXE_NAME=../fteqw.mingl MINGL_EXE_NAME=../morphos_fteqw.mingl
MINGL_DIR=mingl_morphos MINGL_DIR=mingl_morphos
#morphos dedicated server doesnt compile: alloca.h: No such file or directory
#SV_OBJS=$(COMMON_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) $(SERVERONLY_OBJS)
#SV_EXE_NAME=../morphos_fteqw.sv$(BITS)
#SV_CFLAGS=$(SERVER_ONLY_CFLAGS)
endif endif
@ -898,6 +960,7 @@ help:
@-echo "gl" @-echo "gl"
@-echo "sw" @-echo "sw"
@-echo "m" @-echo "m"
@-echo "mingl"
@-echo "d3d (for windows builds)" @-echo "d3d (for windows builds)"
@-echo "mcl (currently broken)" @-echo "mcl (currently broken)"
@-echo "glcl (currently broken)" @-echo "glcl (currently broken)"