mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-11 07:11:39 +00:00
6ae2e2d140
git-svn-id: https://svn.eduke32.com/eduke32@1101 1a8010ca-5511-0410-912e-c29ae57300e0
188 lines
4.6 KiB
Text
188 lines
4.6 KiB
Text
# Shared make information between Build engine and games
|
||
|
||
ENGINELIB=libengine.a
|
||
EDITORLIB=libbuild.a
|
||
|
||
SDLCONFIG=sdl-config
|
||
SDL_FRAMEWORK = 0
|
||
|
||
# Overridden for OSes that don't have the cutdown stdc++ that is supc++
|
||
STDCPPLIB=-lsupc++
|
||
|
||
BUILDCFLAGS=
|
||
|
||
# Detect the platform if it wasn't explicitly given to us from
|
||
# the outside world. This allows cross-compilation by overriding
|
||
# CC and giving us PLATFORM specifically.
|
||
#
|
||
ifndef PLATFORM
|
||
uname=$(strip $(shell uname -s))
|
||
PLATFORM=UNKNOWN
|
||
ifeq ($(findstring Linux,$(uname)),Linux)
|
||
PLATFORM=LINUX
|
||
endif
|
||
ifeq ($(findstring BSD,$(uname)),BSD)
|
||
PLATFORM=BSD
|
||
endif
|
||
ifeq ($(findstring MINGW,$(uname)),MINGW)
|
||
PLATFORM=WINDOWS
|
||
endif
|
||
ifeq ($(findstring Darwin,$(uname)),Darwin)
|
||
PLATFORM=DARWIN
|
||
endif
|
||
ifeq ($(findstring BeOS,$(uname)),BeOS)
|
||
PLATFORM=BEOS
|
||
endif
|
||
ifeq ($(findstring skyos,$(uname)),skyos)
|
||
PLATFORM=SKYOS
|
||
endif
|
||
ifeq ($(findstring QNX,$(uname)),QNX)
|
||
PLATFORM=QNX
|
||
endif
|
||
ifeq ($(findstring SunOS,$(uname)),SunOS)
|
||
PLATFORM=SUNOS
|
||
endif
|
||
ifeq ($(findstring syllable,$(uname)),syllable)
|
||
PLATFORM=SYLLABLE
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(PLATFORM),LINUX)
|
||
RENDERTYPE=SDL
|
||
BUILDCFLAGS+= -DHAVE_INTTYPES
|
||
GTKCOMPAT32=0
|
||
|
||
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
|
||
ifeq (1,$(BUILD32_ON_64))
|
||
# On my 64bit Gentoo these are the 32bit emulation libs
|
||
LIBS+= -m32 -L/emul/linux/x86/usr/lib
|
||
BUILDCFLAGS+= -m32
|
||
# Override WITHOUT_GTK=0
|
||
GTKCOMPAT32=1
|
||
else
|
||
override NOASM=1
|
||
endif
|
||
endif
|
||
endif
|
||
ifeq ($(PLATFORM),DARWIN)
|
||
RENDERTYPE = SDL
|
||
BUILDCFLAGS += -DHAVE_INTTYPES
|
||
GTKCOMPAT32 = 0
|
||
SDL_FRAMEWORK = 1
|
||
# ASM won't work on PowerPC and currently throws errors on i386 too :-/
|
||
override NOASM = 1
|
||
endif
|
||
ifeq ($(PLATFORM),WINDOWS)
|
||
RENDERTYPE ?= WIN
|
||
BUILDCFLAGS+= -DHAVE_INTTYPES
|
||
EXESUFFIX=.exe
|
||
LIBS+= -lmingwex -lwinmm -L$(DXROOT)/lib -lwsock32 -lcomctl32 #-lshfolder
|
||
endif
|
||
ifeq ($(PLATFORM),BSD)
|
||
RENDERTYPE=SDL
|
||
BUILDCFLAGS+= -DHAVE_INTTYPES
|
||
endif
|
||
ifeq ($(PLATFORM),BEOS)
|
||
RENDERTYPE=SDL
|
||
STDCPPLIB=-lstdc++
|
||
endif
|
||
ifeq ($(PLATFORM),SKYOS)
|
||
RENDERTYPE=SDL
|
||
EXESUFFIX=.app
|
||
override NOASM=1
|
||
BUILDCFLAGS+= -DUNDERSCORES
|
||
SDLCONFIG=
|
||
SDLCONFIG_CFLAGS=-I/boot/programs/sdk/include/sdl
|
||
LIBS+= -lSDL -lnet
|
||
endif
|
||
ifeq ($(PLATFORM),QNX)
|
||
RENDERTYPE=SDL
|
||
override USE_OPENGL=0
|
||
override NOASM=1
|
||
STDCPPLIB=-lstdc++
|
||
LIBS+= -lsocket
|
||
endif
|
||
ifeq ($(PLATFORM),SUNOS)
|
||
RENDERTYPE=SDL
|
||
override USE_OPENGL=0
|
||
override NOASM=1
|
||
STDCPPLIB=-lstdc++
|
||
LIBS+= -lsocket -lnsl
|
||
endif
|
||
ifeq ($(PLATFORM),SYLLABLE)
|
||
RENDERTYPE=SDL
|
||
override USE_OPENGL=0
|
||
override NOASM=1
|
||
endif
|
||
|
||
ifeq ($(RENDERTYPE),SDL)
|
||
ifeq ($(SDL_FRAMEWORK),1)
|
||
LIBS += -Wl,-framework,SDL
|
||
SDLCONFIG_CFLAGS+= -I/Library/Frameworks/SDL.framework/Headers
|
||
else
|
||
ifneq ($(SDLCONFIG),)
|
||
LIBS+= $(shell $(SDLCONFIG) --libs)
|
||
SDLCONFIG_CFLAGS+=$(shell $(SDLCONFIG) --cflags)
|
||
endif
|
||
endif
|
||
|
||
ifeq (1,$(WITHOUT_GTK))
|
||
HAVE_GTK2=0
|
||
else
|
||
ifneq (No,$(shell pkg-config --exists gtk+-2.0 || echo No))
|
||
HAVE_GTK2=1
|
||
# On my 64bit Gentoo box I have Cairo enabled which means the libs list includes
|
||
# -lpangocairo-1.0 and -lcairo, however the 32bit compatibility libraries don't
|
||
# include cairo, so we need to filter out those -l switches in order to link
|
||
ifneq ($(LINKED_GTK),0)
|
||
ifeq ($(GTKCOMPAT32),1)
|
||
LIBS+= $(shell pkg-config --libs gtk+-2.0 | sed 's/\s-l\(pango\)\{0,1\}cairo\S*\s/ /g')
|
||
else
|
||
LIBS+= $(shell pkg-config --libs gtk+-2.0)
|
||
endif
|
||
endif
|
||
else
|
||
HAVE_GTK2=0
|
||
endif
|
||
endif
|
||
else
|
||
ifeq ($(RENDERTYPE),WIN)
|
||
LIBS+= -mwindows -ldxguid
|
||
endif
|
||
endif
|
||
|
||
BUILDCFLAGS+= -DRENDERTYPE$(RENDERTYPE)=1
|
||
|
||
ifneq (0,$(SUPERBUILD))
|
||
BUILDCFLAGS+= -DSUPERBUILD
|
||
endif
|
||
ifneq (0,$(POLYMOST))
|
||
BUILDCFLAGS+= -DPOLYMOST
|
||
endif
|
||
ifneq (0,$(USE_OPENGL))
|
||
BUILDCFLAGS+= -DUSE_OPENGL
|
||
endif
|
||
ifneq (0,$(NOASM))
|
||
BUILDCFLAGS+= -DNOASM
|
||
endif
|
||
ifneq (0,$(LINKED_GTK))
|
||
BUILDCFLAGS+= -DLINKED_GTK
|
||
endif
|
||
|
||
ifneq (0,$(POLYMER))
|
||
ifneq (0,$(POLYMOST))
|
||
ifneq (0,$(USE_OPENGL))
|
||
BUILDCFLAGS+= -DPOLYMER
|
||
endif
|
||
endif
|
||
endif
|
||
|
||
BUILD_STARTED = printf "\033[K\033[1;36mBuild started with $($OURCFLAGS)\033[0m\n"
|
||
BUILD_FINISHED = printf "\033[K\033[1;36mBuild successful.\033[0m\n"
|
||
COMPILE_STATUS = printf "\033[K\033[0;33mCompiling \033[1;33m$<\033[0;33m...\033[0m\r"
|
||
COMPILE_OK = printf "\033[K\033[0;32mSuccessfully compiled \033[1;32m$<\033[0;32m.\033[0m\n"
|
||
COMPILE_FAILED = printf "\033[K\033[0;31mFailed to compile \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1
|
||
LINK_STATUS = printf "\033[K\033[0;33mLinking \033[1;33m$@\033[0;33m...\033[0m\r"
|
||
LINK_OK = printf "\033[K\033[0;32mSuccessfully linked \033[1;32m$@\033[0;32m.\033[0m\n"
|
||
LINK_FAILED = printf "\033[K\033[0;31mFailed to link \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1
|
||
|