From d44c4546f425bcbbfab5e6d631aadc0e61755f2b Mon Sep 17 00:00:00 2001 From: Monster Iestyn <iestynjealous@ntlworld.com> Date: Sat, 5 Jan 2019 23:02:14 +0000 Subject: [PATCH] introduce a "SRB2_TARGET_PORT" variable (name can be changed later) to store a string representing the port this does not currently replace the existing X=1 flags for each SRB2 port, just so you know (also this is very experimental and incomplete) --- src/Makefile.cfg | 259 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 202 insertions(+), 57 deletions(-) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index 53e567a43..e8a165ff2 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -96,6 +96,12 @@ ifdef DC NOCASTALIGNWARN=1 endif +#-------------------- +#-------------------- +#Warning flags +#-------------------- +#-------------------- + OLDWFLAGS:=$(WFLAGS) # -W -Wno-unused WFLAGS=-Wall @@ -230,8 +236,11 @@ ifdef GCC80 WFLAGS+=-Wno-stringop-overflow endif - +#-------------------- +#-------------------- #indicate platform and what interface use with +#-------------------- +#-------------------- ifndef WINCE ifndef XBOX ifndef PSP @@ -260,7 +269,87 @@ endif endif endif +ifdef DJGPPDOS +SRB2_TARGET_PORT=DOS +endif + +ifdef DUMMY +SRB2_TARGET_PORT=DUMMY +endif + +ifdef MINGW +SRB2_TARGET_PORT=WIN32 +endif + +ifdef LINUX +SRB2_TARGET_PORT=LINUX +endif + +ifdef MACOSX +SRB2_TARGET_PORT=MACOSX +endif + +ifdef FREEBSD +SRB2_TARGET_PORT=FREEBSD +endif + +ifdef SOLARIS +SRB2_TARGET_PORT=SOLARIS +endif + +ifdef CYGWIN32 +SRB2_TARGET_PORT=CYGWIN +endif + +ifdef HAIKU +SRB2_TARGET_PORT=HAIKU +endif + +# NOTE: ports below this line will be removed in 2.2 + +#Windows CE +ifdef WINCE +SRB2_TARGET_PORT=WINCE +endif + +#console ports + +ifdef XBOX +SRB2_TARGET_PORT=XBOX +endif + +ifdef PSP +SRB2_TARGET_PORT=PSP +endif + +ifdef DC +SRB2_TARGET_PORT=DREAMCAST +endif + +ifdef WII +SRB2_TARGET_PORT=WII +endif + +ifdef PS3N +SRB2_TARGET_PORT=PS3 +endif + +ifdef NDS +SRB2_TARGET_PORT=NDS +endif + +ifdef GP2X +SRB2_TARGET_PORT=GP2X +endif + + +SRB2_TARGET_PORT?=UNKNOWN + +#-------------------- +#-------------------- #determine the interface directory (where you put all i_*.c) +#-------------------- +#-------------------- i_cdmus_o=$(OBJDIR)/i_cdmus.o i_net_o=$(OBJDIR)/i_net.o i_system_o=$(OBJDIR)/i_system.o @@ -289,8 +378,16 @@ ifndef ECHO UPX_OPTS+=-q endif +#-------------------- +#-------------------- #Interface Setup -ifdef DJGPPDOS +#-------------------- +#-------------------- + +#-------------------- +#DJGPPDOS +#-------------------- +ifeq ($(SRB2_TARGET_PORT), DOS) INTERFACE=djgppdos NASMFORMAT=coff OBJDIR:=$(OBJDIR)/djgppdos @@ -299,13 +396,41 @@ ifdef WATTCP endif WFLAGS+=-Wno-format BIN:=$(BIN)/Dos -else -ifdef DUMMY +endif + +#-------------------- +#DUMMY +#-------------------- +ifeq ($(SRB2_TARGET_PORT), DUMMY) INTERFACE=dummy OBJDIR:=$(OBJDIR)/dummy BIN:=$(BIN)/dummy -else -ifdef LINUX +endif + +#-------------------- +#MINGW/MINGW64 +#-------------------- +ifeq ($(SRB2_TARGET_PORT), WIN32) + INTERFACE=win32 +#Use SDL by default, unless we want DirectX for srb2dd.exe +ifndef DIRECTX + SDL=1 +endif +ifdef MINGW64 + #NASMFORMAT=win64 + OBJDIR:=$(OBJDIR)/Mingw64 + BIN:=$(BIN)/Mingw64 +else #32-bit + NASMFORMAT=win32 + OBJDIR:=$(OBJDIR)/Mingw + BIN:=$(BIN)/Mingw +endif +endif + +#-------------------- +#LINUX +#-------------------- +ifeq ($(SRB2_TARGET_PORT), LINUX) NASMFORMAT=elf -DLINUX SDL=1 ifdef LINUX64 @@ -315,32 +440,48 @@ else OBJDIR:=$(OBJDIR)/Linux BIN:=$(BIN)/Linux endif -else -ifdef FREEBSD +endif + +#-------------------- +#FREEBSD +#-------------------- +ifeq ($(SRB2_TARGET_PORT), FREEBSD) INTERFACE=sdl NASMFORMAT=elf -DLINUX SDL=1 OBJDIR:=$(OBJDIR)/FreeBSD BIN:=$(BIN)/FreeBSD -else -ifdef SOLARIS +endif + +#-------------------- +#SOLARIS +#-------------------- +ifeq ($(SRB2_TARGET_PORT), SOLARIS) INTERFACE=sdl NASMFORMAT=elf -DLINUX SDL=1 OBJDIR:=$(OBJDIR)/Solaris BIN:=$(BIN)/Solaris -else -ifdef CYGWIN32 +endif + +#-------------------- +#CYGWIN32 +#-------------------- +ifeq ($(SRB2_TARGET_PORT), CYGWIN) INTERFACE=sdl NASMFORMAT=win32 SDL=1 OBJDIR:=$(OBJDIR)/cygwin BIN:=$(BIN)/Cygwin -else -ifdef WII +endif + +#-------------------- +#WII +#-------------------- +ifeq ($(SRB2_TARGET_PORT), WII) INTERFACE=sdl12 NONX86=1 STATIC=1 @@ -351,8 +492,12 @@ ifdef WII OBJDIR:=$(OBJDIR)/Wii BIN:=$(BIN)/Wii NOUPX=1 -else -ifdef PS3N +endif + +#-------------------- +#PS3N +#-------------------- +ifeq ($(SRB2_TARGET_PORT), PS3) INTERFACE=sdl12 NONX86=1 STATIC=1 @@ -365,24 +510,12 @@ ifdef PS3N NOMIXER=1 OBJDIR:=$(OBJDIR)/PS3 BIN:=$(BIN)/PS3 -else -ifdef MINGW - INTERFACE=win32 -#Use SDL by default, unless we want DirectX for srb2dd.exe -ifndef DIRECTX - SDL=1 endif -ifdef MINGW64 - #NASMFORMAT=win64 - OBJDIR:=$(OBJDIR)/Mingw64 - BIN:=$(BIN)/Mingw64 -else #32-bit - NASMFORMAT=win32 - OBJDIR:=$(OBJDIR)/Mingw - BIN:=$(BIN)/Mingw -endif -else -ifdef XBOX + +#-------------------- +#XBOX +#-------------------- +ifeq ($(SRB2_TARGET_PORT), XBOX) INTERFACE=sdl12 NASMFORMAT=win32 PREFIX?=/usr/local/openxdk/bin/i386-pc-xbox @@ -390,8 +523,12 @@ ifdef XBOX SDL12=1 OBJDIR:=$(OBJDIR)/XBOX BIN:=$(BIN)/XBOX -else -ifdef PSP +endif + +#-------------------- +#PSP +#-------------------- +ifeq ($(SRB2_TARGET_PORT), PSP) INTERFACE=sdl12 NONX86=1 SDL=1 @@ -399,8 +536,12 @@ ifdef PSP OBJDIR:=$(OBJDIR)/PSP BIN:=$(BIN)/PSP NOUPX=1 -else -ifdef DC +endif + +#-------------------- +#DC +#-------------------- +ifeq ($(SRB2_TARGET_PORT), DREAMCAST) INTERFACE=sdl12 NONX86=1 SDL=1 @@ -408,8 +549,12 @@ ifdef DC OBJDIR:=$(OBJDIR)/DC BIN:=$(BIN)/DC NOUPX=1 -else -ifdef WINCE +endif + +#-------------------- +#WINCE +#-------------------- +ifeq ($(SRB2_TARGET_PORT), WINCE) INTERFACE=sdl12 NONX86=1 PREFIX?=arm-wince-pe @@ -417,33 +562,33 @@ ifdef WINCE SDL12=1 OBJDIR:=$(OBJDIR)/WinCE BIN:=$(BIN)/WinCE -else -ifdef NDS +endif + +#-------------------- +#NDS +#-------------------- +ifeq ($(SRB2_TARGET_PORT), NDS) INTERFACE=nds OBJDIR:=$(OBJDIR)/nds BIN:=$(BIN)/nds NOUPX=1 endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -ifdef GP2X +#-------------------- +#GP2X +#-------------------- + +ifeq ($(SRB2_TARGET_PORT), GP2X) ifdef SDL SDL12=1 endif endif +#-------------------- +#-------------------- +#-------------------- +#-------------------- + ifdef ARCHNAME OBJDIR:=$(OBJDIR)/$(ARCHNAME) BIN:=$(BIN)/$(ARCHNAME) @@ -466,7 +611,7 @@ endif # because Apple screws with us on this # need to get bintools from homebrew -ifdef MACOSX +ifeq ($(SRB2_TARGET_PORT), MACOSX) CC=clang CXX=clang OBJCOPY=gobjcopy @@ -487,7 +632,7 @@ endif OBJDIR:=$(OBJDIR)/SDL endif -ifndef DUMMY +ifneq ($(SRB2_TARGET_PORT), DUMMY) ifdef DEBUGMODE OBJDIR:=$(OBJDIR)/Debug BIN:=$(BIN)/Debug -- GitLab