mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-12 11:10:39 +00:00
Deal with a few common themes in downstream patches applied by OpenBSD, FreeBSD, Gentoo Linux, and possibly others.
-Respect CC and CXX if already set in the environment. -Respect CFLAGS, CXXFLAGS, and LDFLAGS if set or specified. -Give packagers the setting "PACKAGE_REPOSITORY=1" to prevent us from adding our own optimization parameters. git-svn-id: https://svn.eduke32.com/eduke32@4547 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
a5fb5f6795
commit
68b56adbe2
2 changed files with 66 additions and 41 deletions
|
@ -420,7 +420,7 @@ makesdlkeytrans$(EXESUFFIX): $(ENGINE_OBJ)/makesdlkeytrans.$o
|
||||||
$(RECIPE_IF) $(LINKER) -o $@ $^ $(COMMONFLAGS) $(LINKERFLAGS) $(LIBDIRS) $(LIBS) $(UTIL_LIBS) $(SDL_INCLUDES) $(RECIPE_RESULT_ONESTEP)
|
$(RECIPE_IF) $(LINKER) -o $@ $^ $(COMMONFLAGS) $(LINKERFLAGS) $(LIBDIRS) $(LIBS) $(UTIL_LIBS) $(SDL_INCLUDES) $(RECIPE_RESULT_ONESTEP)
|
||||||
arttool$(EXESUFFIX): $(ENGINE_OBJ)/arttool.$o
|
arttool$(EXESUFFIX): $(ENGINE_OBJ)/arttool.$o
|
||||||
$(ONESTEP_STATUS)
|
$(ONESTEP_STATUS)
|
||||||
$(RECIPE_IF) $(L_CXX) -o $@ $^ $(COMMONFLAGS) $(LINKERFLAGS) $(LIBDIRS) $(LIBS) $(STATICSTDCPP) $(STDCPPLIB) $(UTIL_LIBS) $(RECIPE_RESULT_ONESTEP)
|
$(RECIPE_IF) $(L_CXX) $(CPPONLYFLAGS) -o $@ $^ $(COMMONFLAGS) $(LINKERFLAGS) $(LIBDIRS) $(LIBS) $(STATICSTDCPP) $(STDCPPLIB) $(UTIL_LIBS) $(RECIPE_RESULT_ONESTEP)
|
||||||
|
|
||||||
$(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/%.c
|
$(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/%.c
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
|
@ -490,7 +490,7 @@ $(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/%.m
|
||||||
|
|
||||||
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/%.cpp
|
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/%.cpp
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
$(RECIPE_IF) $(CXX) $(CXXFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) $(ENGINE_CFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
$(RECIPE_IF) $(CXX) $(CPPONLYFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) $(ENGINE_CFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
||||||
|
|
||||||
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/misc/%.c
|
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/misc/%.c
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
|
@ -506,11 +506,11 @@ $(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/util/%.c
|
||||||
|
|
||||||
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/util/%.cpp
|
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/util/%.cpp
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
$(RECIPE_IF) $(CXX) $(CXXFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) $(ENGINE_CFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
$(RECIPE_IF) $(CXX) $(CPPONLYFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) $(ENGINE_CFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
||||||
|
|
||||||
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/util/%.cc
|
$(ENGINE_OBJ)/%.$o: $(ENGINE_SRC)/util/%.cc
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
$(RECIPE_IF) $(CXX) $(CXXFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) $(ENGINE_CFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
$(RECIPE_IF) $(CXX) $(CPPONLYFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) $(ENGINE_CFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
||||||
|
|
||||||
$(ENGINE_OBJ)/%.$o: $(DUKE3D_RSRC)/%.c
|
$(ENGINE_OBJ)/%.$o: $(DUKE3D_RSRC)/%.c
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
|
@ -536,7 +536,7 @@ $(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/%.m
|
||||||
|
|
||||||
$(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/%.cpp
|
$(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/%.cpp
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
$(RECIPE_IF) $(CXX) $(CXXFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
$(RECIPE_IF) $(CXX) $(CPPONLYFLAGS) $(COMMONFLAGS) $(COMPILERFLAGS) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
||||||
|
|
||||||
$(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/jmact/%.c
|
$(DUKE3D_OBJ)/%.$o: $(DUKE3D_SRC)/jmact/%.c
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
|
|
|
@ -1,26 +1,51 @@
|
||||||
|
|
||||||
# Use colored output
|
# OS package maintainers: Please try invoking make with PACKAGE_REPOSITORY=1 to see if that meets your needs before patching out our optimizations entirely.
|
||||||
|
PACKAGE_REPOSITORY ?= 0
|
||||||
|
|
||||||
|
# Use colored output. Disable for build system debugging.
|
||||||
PRETTY_OUTPUT ?= 1
|
PRETTY_OUTPUT ?= 1
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
CROSS=
|
CROSS=
|
||||||
CC=$(CROSS)gcc
|
ifneq ($(CROSS),)
|
||||||
CXX=$(CROSS)g++
|
undefine CC
|
||||||
AS=nasm
|
undefine CXX
|
||||||
AR=$(CROSS)ar
|
undefine AR
|
||||||
RC=$(CROSS)windres
|
undefine RC
|
||||||
RANLIB=$(CROSS)ranlib
|
undefine RANLIB
|
||||||
STRIP=$(CROSS)strip
|
undefine STRIP
|
||||||
|
endif
|
||||||
|
|
||||||
|
CC?=$(CROSS)gcc
|
||||||
|
CXX?=$(CROSS)g++
|
||||||
|
AR?=$(CROSS)ar
|
||||||
|
RC?=$(CROSS)windres
|
||||||
|
RANLIB?=$(CROSS)ranlib
|
||||||
|
STRIP?=$(CROSS)strip
|
||||||
|
AS?=nasm
|
||||||
|
PKG_CONFIG?=pkg-config
|
||||||
|
|
||||||
|
# Override defaults that absolutely will not work.
|
||||||
|
ifeq ($(CC),cc)
|
||||||
|
override CC=gcc
|
||||||
|
endif
|
||||||
|
ifeq ($(AS),as)
|
||||||
|
override AS=nasm
|
||||||
|
endif
|
||||||
|
|
||||||
L_CC=$(CC)
|
L_CC=$(CC)
|
||||||
L_CXX=$(CXX)
|
L_CXX=$(CXX)
|
||||||
|
|
||||||
CLANG?=0
|
CLANG?=0
|
||||||
|
|
||||||
|
ifeq ($(findstring clang,$(CC)),clang)
|
||||||
|
override CLANG=1
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq (0,$(CLANG))
|
ifneq (0,$(CLANG))
|
||||||
CC=clang -x c -std=gnu89
|
CC=clang -x c
|
||||||
CXX=clang -x c++
|
CXX=clang -x c++
|
||||||
L_CC=clang -std=gnu89
|
L_CC=clang
|
||||||
L_CXX=clang
|
L_CXX=clang
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -224,32 +249,28 @@ ifndef LTO
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
COMMONFLAGS=$(ARCH)
|
||||||
|
|
||||||
COMMONFLAGS=-O$(OPTLEVEL)
|
|
||||||
COMPILERFLAGS=
|
COMPILERFLAGS=
|
||||||
|
|
||||||
ifneq (,$(ARCH))
|
ifeq ($(PACKAGE_REPOSITORY),0)
|
||||||
COMMONFLAGS+= $(ARCH)
|
COMMONFLAGS += $(OPTIMIZATIONS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
COMMONFLAGS+= $(OPTOPT)
|
OPTIMIZATIONS=-O$(OPTLEVEL) $(OPTOPT)
|
||||||
|
|
||||||
|
DEBUGFLAG=-g
|
||||||
|
ifneq (0,$(CLANG))
|
||||||
|
ifneq ($(PLATFORM),WII)
|
||||||
|
DEBUGFLAG=-ggdb
|
||||||
|
endif
|
||||||
|
endif
|
||||||
ifneq ($(RELEASE)$(DEBUGANYWAY),10)
|
ifneq ($(RELEASE)$(DEBUGANYWAY),10)
|
||||||
# debug build or DEBUGANYWAY=1 --> -g flag
|
# debug build or DEBUGANYWAY=1 --> -g flag
|
||||||
ifneq (0,$(CLANG))
|
OPTIMIZATIONS += $(DEBUGFLAG)
|
||||||
COMMONFLAGS += -g
|
|
||||||
else
|
|
||||||
ifeq ($(PLATFORM), WII)
|
|
||||||
COMMONFLAGS += -g
|
|
||||||
else
|
|
||||||
COMMONFLAGS += -ggdb
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CONLYFLAGS=-Wimplicit -Wdeclaration-after-statement
|
CONLYFLAGS=-std=gnu89 -Wimplicit -Wdeclaration-after-statement
|
||||||
CXXFLAGS= -fno-exceptions -fno-rtti -Wno-write-strings
|
CPPONLYFLAGS= -fno-exceptions -fno-rtti -Wno-write-strings
|
||||||
ASFORMAT=elf$(SYSBITS)
|
ASFORMAT=elf$(SYSBITS)
|
||||||
ASFLAGS=-s -f $(ASFORMAT) #-g
|
ASFLAGS=-s -f $(ASFORMAT) #-g
|
||||||
LINKERFLAGS=
|
LINKERFLAGS=
|
||||||
|
@ -355,7 +376,7 @@ endif
|
||||||
# XXX: I (Helixhorned) only know that there's no -Wnarrowing on my OS X 10.6 using GCC 4.2.
|
# XXX: I (Helixhorned) only know that there's no -Wnarrowing on my OS X 10.6 using GCC 4.2.
|
||||||
ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
|
ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
|
||||||
ifeq (1,$(strip $(shell expr $(GCC_MINOR) \>= 3)))
|
ifeq (1,$(strip $(shell expr $(GCC_MINOR) \>= 3)))
|
||||||
CXXFLAGS+= -Wno-narrowing
|
CPPONLYFLAGS+= -Wno-narrowing
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -546,8 +567,6 @@ ifneq (0,$(FORCEWARNINGS))
|
||||||
COMPILERFLAGS+= -DFORCE_WARNINGS
|
COMPILERFLAGS+= -DFORCE_WARNINGS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINKERFLAGS+= $(OPTOPT)
|
|
||||||
|
|
||||||
# This should come from the environment:
|
# This should come from the environment:
|
||||||
ifdef EDUKE32_MY_DEVELOPER_ID
|
ifdef EDUKE32_MY_DEVELOPER_ID
|
||||||
COMPILERFLAGS+= -DMY_DEVELOPER_ID=$(EDUKE32_MY_DEVELOPER_ID)
|
COMPILERFLAGS+= -DMY_DEVELOPER_ID=$(EDUKE32_MY_DEVELOPER_ID)
|
||||||
|
@ -839,19 +858,19 @@ ifeq ($(RENDERTYPE),SDL)
|
||||||
ifeq (1,$(WITHOUT_GTK))
|
ifeq (1,$(WITHOUT_GTK))
|
||||||
HAVE_GTK2=0
|
HAVE_GTK2=0
|
||||||
else
|
else
|
||||||
ifneq (No,$(shell pkg-config --exists gtk+-2.0 || echo No))
|
ifneq (No,$(shell $(PKG_CONFIG) --exists gtk+-2.0 || echo No))
|
||||||
HAVE_GTK2=1
|
HAVE_GTK2=1
|
||||||
# On my 64bit Gentoo box I have Cairo enabled which means the libs list includes
|
# 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
|
# -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
|
# include cairo, so we need to filter out those -l switches in order to link
|
||||||
ifneq ($(LINKED_GTK),0)
|
ifneq ($(LINKED_GTK),0)
|
||||||
ifeq ($(GTKCOMPAT32),1)
|
ifeq ($(GTKCOMPAT32),1)
|
||||||
LIBS+= $(shell pkg-config --libs gtk+-2.0 | sed 's/\s-l\(pango\)\{0,1\}cairo\S*\s/ /g')
|
LIBS+= $(shell $(PKG_CONFIG) --libs gtk+-2.0 | sed 's/\s-l\(pango\)\{0,1\}cairo\S*\s/ /g')
|
||||||
else
|
else
|
||||||
LIBS+= $(shell pkg-config --libs gtk+-2.0)
|
LIBS+= $(shell $(PKG_CONFIG) --libs gtk+-2.0)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
COMPILERFLAGS += -DHAVE_GTK2 $(shell pkg-config --cflags gtk+-2.0)
|
COMPILERFLAGS += -DHAVE_GTK2 $(shell $(PKG_CONFIG) --cflags gtk+-2.0)
|
||||||
else
|
else
|
||||||
HAVE_GTK2=0
|
HAVE_GTK2=0
|
||||||
endif
|
endif
|
||||||
|
@ -959,7 +978,7 @@ endif
|
||||||
COMPILER=$(CC) $(CONLYFLAGS)
|
COMPILER=$(CC) $(CONLYFLAGS)
|
||||||
LINKER=$(L_CC)
|
LINKER=$(L_CC)
|
||||||
ifneq ($(CPLUSPLUS),0)
|
ifneq ($(CPLUSPLUS),0)
|
||||||
COMPILER=$(CXX) $(CXXFLAGS)
|
COMPILER=$(CXX) $(CPPONLYFLAGS)
|
||||||
LINKER=$(L_CXX)
|
LINKER=$(L_CXX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -969,6 +988,12 @@ endif
|
||||||
ifneq (,$(CFLAGS))
|
ifneq (,$(CFLAGS))
|
||||||
COMMONFLAGS+= $(CFLAGS)
|
COMMONFLAGS+= $(CFLAGS)
|
||||||
endif
|
endif
|
||||||
|
ifneq (,$(CXXFLAGS))
|
||||||
|
CPPONLYFLAGS+= $(CXXFLAGS)
|
||||||
|
endif
|
||||||
|
ifneq (,$(LDFLAGS))
|
||||||
|
LINKERFLAGS+= $(LDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(PRETTY_OUTPUT),1)
|
ifeq ($(PRETTY_OUTPUT),1)
|
||||||
RECIPE_IF = if
|
RECIPE_IF = if
|
||||||
|
|
Loading…
Reference in a new issue