diff --git a/Makefile b/Makefile index fbc42d7c81..ad00e8b508 100644 --- a/Makefile +++ b/Makefile @@ -16,26 +16,33 @@ include config.mk TARGET = retroarch +OBJ := +LIBS := +DEF_FLAGS := +DEFINES := -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 +DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"' + OBJDIR_BASE := obj-unix ifeq ($(DEBUG), 1) OBJDIR := $(OBJDIR_BASE)/debug + CFLAGS ?= -O0 -g + CXXFLAGS ?= -O0 -g + DEFINES += -DDEBUG -D_DEBUG else OBJDIR := $(OBJDIR_BASE)/release + CFLAGS ?= -O3 + CXXFLAGS ?= -O3 + DEF_FLAGS += -ffast-math endif -OBJ := -LIBS := -DEFINES := -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"' - ifneq ($(findstring BSD,$(OS)),) - CFLAGS += -DBSD + DEF_FLAGS += -DBSD LDFLAGS += -L/usr/local/lib endif ifneq ($(findstring DOS,$(OS)),) - CFLAGS += -march=i386 + DEF_FLAGS += -march=i386 LDFLAGS += -lemu endif @@ -75,15 +82,8 @@ ifneq ($(V),1) Q := @ endif -ifeq ($(DEBUG), 1) - OPTIMIZE_FLAG = -O0 -g - DEFINES += -DDEBUG -D_DEBUG -else - OPTIMIZE_FLAG = -O3 -ffast-math -endif - ifeq ($(HAVE_DRMINGW), 1) - CFLAGS += -DHAVE_DRMINGW + DEF_FLAGS += -DHAVE_DRMINGW LDFLAGS += $(DRMINGW_LIBS) endif @@ -91,10 +91,10 @@ ifneq ($(findstring Win32,$(OS)),) LDFLAGS += -mwindows endif -CFLAGS += -Wall $(OPTIMIZE_FLAG) $(INCLUDE_DIRS) -I. -Ideps -Ideps/stb +DEF_FLAGS += -Wall $(INCLUDE_DIRS) -I. -Ideps -Ideps/stb -APPEND_CFLAGS := $(CFLAGS) -CXXFLAGS += $(APPEND_CFLAGS) -std=c++11 -D__STDC_CONSTANT_MACROS +CFLAGS += $(DEF_FLAGS) +CXXFLAGS += $(DEF_FLAGS) -std=c++11 -D__STDC_CONSTANT_MACROS OBJCFLAGS := $(CFLAGS) -D__STDC_CONSTANT_MACROS ifeq ($(HAVE_CXX), 1) diff --git a/Makefile.common b/Makefile.common index da7cd321f6..4ec5d8990f 100644 --- a/Makefile.common +++ b/Makefile.common @@ -4,7 +4,7 @@ LIBRETRO_COMM_DIR := $(ROOT_DIR)/libretro-common WANT_WGL = 0 ifeq ($(HAVE_STACK_USAGE), 1) - CFLAGS += -fstack-usage + DEF_FLAGS += -fstack-usage endif ifeq ($(HAVE_GL_CONTEXT),) @@ -65,13 +65,11 @@ ifeq ($(HAVE_PRESERVE_DYLIB),1) endif ifeq ($(GL_DEBUG), 1) - CFLAGS += -DGL_DEBUG - CXXFLAGS += -DGL_DEBUG + DEF_FLAGS += -DGL_DEBUG endif ifeq ($(VULKAN_DEBUG), 1) - CFLAGS += -DVULKAN_DEBUG - CXXFLAGS += -DVULKAN_DEBUG + DEF_FLAGS += -DVULKAN_DEBUG endif ifeq ($(HAVE_HARD_FLOAT), 1) @@ -83,23 +81,23 @@ ifeq ($(TDM_GCC),) endif ifeq ($(HAVE_FILE_LOGGER), 1) - CFLAGS += -DHAVE_FILE_LOGGER + DEF_FLAGS += -DHAVE_FILE_LOGGER endif ifeq ($(HAVE_SHADERPIPELINE), 1) - CFLAGS += -DHAVE_SHADERPIPELINE + DEF_FLAGS += -DHAVE_SHADERPIPELINE endif -CFLAGS += -I$(LIBRETRO_COMM_DIR)/include -I$(DEPS_DIR) +DEF_FLAGS += -I$(LIBRETRO_COMM_DIR)/include -I$(DEPS_DIR) # Switches # ifeq ($(HAVE_NETPLAYDISCOVERY), 1) - CFLAGS += -DHAVE_NETPLAYDISCOVERY + DEF_FLAGS += -DHAVE_NETPLAYDISCOVERY endif ifeq ($(HAVE_NETLOGGER), 1) - CFLAGS += -DHAVE_LOGGER + DEF_FLAGS += -DHAVE_LOGGER DEFINES += -DHAVE_LOGGER OBJ += network/net_logger.o endif @@ -151,7 +149,7 @@ endif # General object files DEFINES += -DHAVE_DR_MP3 -CFLAGS += -DHAVE_DR_MP3 +DEF_FLAGS += -DHAVE_DR_MP3 OBJ += frontend/frontend.o \ frontend/frontend_driver.o \ @@ -839,7 +837,7 @@ ifeq ($(HAVE_VITA2D), 1) OBJ += gfx/drivers/vita2d_gfx.o \ gfx/drivers_font/vita2d_font.o - CFLAGS += -I$(DEPS_DIR)/libvita2d/include + DEF_FLAGS += -I$(DEPS_DIR)/libvita2d/include endif ifeq ($(TARGET), retroarch_3ds) @@ -940,7 +938,7 @@ endif ifeq ($(HAVE_DBUS), 1) LIBS += $(DBUS_LIBS) - CFLAGS += $(DBUS_CFLAGS) + DEF_FLAGS += $(DBUS_CFLAGS) OBJ += gfx/common/dbus_common.o endif @@ -1035,7 +1033,7 @@ endif ifeq ($(HAVE_SIXEL), 1) DEFINES += -DHAVE_SIXEL - CFLAGS += -I/usr/include/sixel + DEF_FLAGS += -I/usr/include/sixel OBJ += gfx/drivers/sixel_gfx.o gfx/drivers_font/sixel_font.o \ gfx/drivers_context/sixel_ctx.o LIBS += -lsixel @@ -1047,7 +1045,7 @@ endif ifeq ($(HAVE_PLAIN_DRM), 1) OBJ += gfx/drivers/drm_gfx.o - CFLAGS += -I/usr/include/libdrm + DEF_FLAGS += -I/usr/include/libdrm LIBS += -ldrm endif @@ -1330,7 +1328,7 @@ ifneq ($(findstring 1, $(HAVE_D3D10) $(HAVE_D3D11) $(HAVE_D3D12)),) INCLUDE_DIRS += -isystemgfx/include/dxsdk OBJ += gfx/common/d3dcompiler_common.o \ gfx/common/dxgi_common.o - CFLAGS += -Wno-unknown-pragmas + DEF_FLAGS += -Wno-unknown-pragmas endif ifeq ($(HAVE_D3D8), 1) @@ -1446,7 +1444,7 @@ OBJ += $(LIBRETRO_COMM_DIR)/file/archive_file.o \ $(LIBRETRO_COMM_DIR)/streams/trans_stream_pipe.o ifeq ($(HAVE_7ZIP),1) - CFLAGS += -I$(DEPS_DIR)/7zip + DEF_FLAGS += -I$(DEPS_DIR)/7zip HAVE_COMPRESSION = 1 DEFINES += -DHAVE_7ZIP -D_7ZIP_ST 7ZOBJ = $(DEPS_DIR)/7zip/7zIn.o \ @@ -1475,8 +1473,8 @@ endif ifeq ($(HAVE_BUILTINFLAC),1) HAVE_FLAC = 1 DEFINES += -DHAVE_DR_FLAC -I$(DEPS_DIR) - CFLAGS += -DHAVE_DR_FLAC - CFLAGS += -DHAVE_FLAC -I$(DEPS_DIR)/libFLAC/include + DEF_FLAGS += -DHAVE_DR_FLAC + DEF_FLAGS += -DHAVE_FLAC -I$(DEPS_DIR)/libFLAC/include DEFINES += -DHAVE_STDINT_H -DHAVE_LROUND -DFLAC__HAS_OGG=0 \ -DFLAC_PACKAGE_VERSION="\"retroarch\"" FLACOBJ = $(DEPS_DIR)/libFLAC/bitmath.o \ @@ -1534,7 +1532,7 @@ ifeq ($(HAVE_ZLIB), 1) endif ifeq ($(HAVE_CHD), 1) - CFLAGS += -I$(LIBRETRO_COMM_DIR)/formats/libchdr + DEF_FLAGS += -I$(LIBRETRO_COMM_DIR)/formats/libchdr DEFINES += -DHAVE_CHD -DWANT_SUBCODE -DWANT_RAW_DATA_SECTOR OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_bitstream.o \ $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_cdrom.o \ @@ -1826,7 +1824,7 @@ endif ifeq ($(WANT_IOSUHAX), 1) DEFINES += -I$(DEPS_DIR)/libiosuhax - CFLAGS += -I$(DEPS_DIR)/libiosuhax + DEF_FLAGS += -I$(DEPS_DIR)/libiosuhax OBJ += $(DEPS_DIR)/libiosuhax/iosuhax.o \ $(DEPS_DIR)/libiosuhax/iosuhax_devoptab.o \ $(DEPS_DIR)/libiosuhax/iosuhax_disc_interface.o @@ -1834,7 +1832,7 @@ endif ifeq ($(WANT_LIBFAT), 1) DEFINES += -I$(DEPS_DIR)/libfat/include - CFLAGS += -I$(DEPS_DIR)/libfat/include + DEF_FLAGS += -I$(DEPS_DIR)/libfat/include OBJ += $(DEPS_DIR)/libfat/cache.o \ $(DEPS_DIR)/libfat/directory.o \ $(DEPS_DIR)/libfat/disc.o \ @@ -1868,7 +1866,7 @@ endif # Help at https://modmyclassic.com/comp ifeq ($(HAVE_CLASSIC), 1) - CFLAGS += -DHAVE_CLASSIC + DEF_FLAGS += -DHAVE_CLASSIC endif ifeq ($(HAVE_C_A7A7), 1) @@ -1880,12 +1878,11 @@ ifeq ($(HAVE_C_A7A7), 1) -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \ -fmerge-all-constants -fno-math-errno \ -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard - CFLAGS += $(C_A7A7_OPT) - CXXFLAGS += $(C_A7A7_OPT) + DEF_FLAGS += $(C_A7A7_OPT) ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1) - CFLAGS += -march=armv7-a + DEF_FLAGS += -march=armv7-a else - CFLAGS += -march=armv7ve + DEF_FLAGS += -march=armv7ve # If gcc is 5.0 or later ifeq ($(shell echo `$(CC) -dumpversion` ">= 5" | bc -l), 1) LDFLAGS += -static-libgcc -static-libstdc++ @@ -1894,6 +1891,6 @@ ifeq ($(HAVE_C_A7A7), 1) endif ifeq ($(HAVE_HAKCHI), 1) - CFLAGS += -DHAVE_HAKCHI + DEF_FLAGS += -DHAVE_HAKCHI endif ################################## diff --git a/Makefile.ctr b/Makefile.ctr index 4b1318aadf..1f3bf54cbc 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -80,6 +80,7 @@ else #HAVE_BUILTINMBEDTLS = 1 include Makefile.common + CFLAGS += $(DEF_FLAGS) BLACKLIST := BLACKLIST += input/input_overlay.o BLACKLIST += tasks/task_overlay.o diff --git a/Makefile.emscripten b/Makefile.emscripten index c935759ab1..b68d2ecc5b 100644 --- a/Makefile.emscripten +++ b/Makefile.emscripten @@ -57,7 +57,7 @@ endif include Makefile.common -CFLAGS += -Ideps/libz -Ideps -Ideps/stb +CFLAGS += $(DEF_FLAGS) -Ideps/libz -Ideps -Ideps/stb libretro = libretro_emscripten.bc ifneq ($(V), 1) diff --git a/Makefile.msvc b/Makefile.msvc index 3ece3af7a4..02f9c2189f 100644 --- a/Makefile.msvc +++ b/Makefile.msvc @@ -7,7 +7,6 @@ ARCH = amd64 BUILD_DIR = objs/msvc CXX_BUILD = 0 - WindowsSdkDir = C:\Program Files (x86)\Windows Kits\10\$(NOTHING) WindowsSDKVersion := 10.0.14393.0\$(NOTHING) VCINSTALLDIR := C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\$(NOTHING) @@ -59,7 +58,7 @@ HAVE_IMAGEVIEWER := 1 include Makefile.common INCLUDE_DIRS := $(patsubst -isystem%,-I%,$(INCLUDE_DIRS)) -CFLAGS := $(filter-out -Wno-unknown-pragmas,$(CFLAGS)) +CFLAGS := $(filter-out -Wno-unknown-pragmas,$(DEF_FLAGS)) CXXFLAGS := $(filter-out -fpermissive -Wno-switch -Wno-sign-compare -fno-strict-aliasing -Wno-maybe-uninitialized -Wno-reorder -Wno-parentheses,$(CXXFLAGS)) LIBS := $(filter-out -lstdc++,$(LIBS)) @@ -90,14 +89,12 @@ ifeq ($(ARCH),x86) CROSS = endif - INCLUDE := $(VCINSTALLDIR)include;$(VCINSTALLDIR)atlmfc\include;$(WindowsSdkDir)include\$(WindowsSDKVersion)ucrt;$(WindowsSdkDir)include\$(WindowsSDKVersion)shared;$(WindowsSdkDir)include\$(WindowsSDKVersion)um; LIB := $(VCINSTALLDIR)LIB\$(CROSS);$(VCINSTALLDIR)atlmfc\lib\$(CROSS);$(WindowsSdkDir)lib\$(WindowsSDKVersion)ucrt\$(TARGET_ARCH2);$(WindowsSdkDir)lib\$(WindowsSDKVersion)um\$(TARGET_ARCH2);C:\Program Files (x86)\NVIDIA Corporation\Cg\lib.$(TARGET_ARCH2);C:\Program Files (x86)\Microsoft DirectX SDK (February 2010)\Lib\$(TARGET_ARCH2); LIBPATH := $(VCINSTALLDIR)LIB\$(CROSS);$(VCINSTALLDIR)atlmfc\lib\$(CROSS); PATH := $(shell IFS=$$'\n'; cygpath "$(VCINSTALLDIR)bin\\$(CROSS)"):$(shell IFS=$$'\n'; cygpath "$(WindowsSdkDir)\bin\\$(ARCH2)"):$(PATH) - export INCLUDE := $(INCLUDE) export LIB := $(LIB) export LIBPATH := $(LIBPATH) @@ -144,7 +141,6 @@ RC = rc.exe LIBS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib LDFLAGS += -nologo -wx -nxcompat -machine:$(TARGET_ARCH2) - ifeq ($(DEBUG),1) FLAGS += -GS -Gy -Od -RTC1 -D_SECURE_SCL=1 -Zi FLAGS += -MDd @@ -155,7 +151,6 @@ else FLAGS += -MD endif - ifeq ($(DEBUG),1) BUILD_DIR := $(BUILD_DIR)-debug endif @@ -170,7 +165,6 @@ ifneq ($(V), 1) Q := @ endif - ifeq ($(GRIFFIN_BUILD), 1) OBJ := griffin/griffin.o griffin/griffin_cpp.o DEFINES += -DHAVE_GRIFFIN -DUSE_MATH_DEFINES @@ -188,9 +182,6 @@ OBJ := $(patsubst %rarch.o,%rarch.res,$(OBJ)) OBJ := $(addprefix $(BUILD_DIR)/,$(OBJ)) OBJ := $(OBJ:.o=.obj) - - - LDFLAGS += -WX -SUBSYSTEM:WINDOWS -ENTRY:mainCRTStartup DEFINES := $(patsubst -f%,,$(DEFINES)) @@ -198,7 +189,6 @@ LDFLAGS := $(patsubst -l%,%.lib,$(LDFLAGS)) LIBS := $(filter-out -lm,$(LIBS)) LIBS := $(patsubst -l%,%.lib,$(LIBS)) - #$(info INCLUDE_DIRS : $(INCLUDE_DIRS)) #$(info DEFINES : $(DEFINES)) #$(info CFLAGS : $(CFLAGS)) diff --git a/Makefile.switch b/Makefile.switch index 0e12f5a448..fb27990459 100644 --- a/Makefile.switch +++ b/Makefile.switch @@ -34,13 +34,13 @@ else HAVE_DYNAMIC = 1 include Makefile.common - BLACKLIST := + CFLAGS += $(DEF_FLAGS) + BLACKLIST := BLACKLIST += input/input_overlay.o - BLACKLIST += tasks/task_overlay.o + BLACKLIST += tasks/task_overlay.o OBJ := $(filter-out $(BLACKLIST),$(OBJ)) endif - ifeq ($(strip $(LIBTRANSISTOR_HOME)),) $(error "Please set LIBTRANSISTOR_HOME in your environment. export LIBTRANSISTOR_HOME=") endif diff --git a/Makefile.vita b/Makefile.vita index 5645c9cabd..fd7386b092 100644 --- a/Makefile.vita +++ b/Makefile.vita @@ -55,6 +55,7 @@ else endif include Makefile.common + CFLAGS += $(DEF_FLAGS) BLACKLIST := OBJ := $(filter-out $(BLACKLIST),$(OBJ)) @@ -64,7 +65,6 @@ else OBJ += frontend/drivers/platform_psp.o endif - ifeq ($(strip $(VITASDK)),) $(error "Please set VITASDK in your environment. export VITASDK=vitasdk") endif diff --git a/Makefile.win b/Makefile.win index 02d70bde7f..3d841a13f3 100644 --- a/Makefile.win +++ b/Makefile.win @@ -102,7 +102,6 @@ else WINDRES = windres endif - libretro ?= -lretro ifeq ($(DYNAMIC), 1) @@ -123,7 +122,7 @@ else CXXFLAGS += -O3 -ffast-math endif -CFLAGS += -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps +CFLAGS += $(DEF_FLAGS) -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps CXXFLAGS += -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps -std=c++98 -D__STDC_CONSTANT_MACROS ifeq ($(CXX_BUILD), 1) CFLAGS += -std=c++98 -xc++ -D__STDC_CONSTANT_MACROS diff --git a/cores/libretro-ffmpeg/Makefile b/cores/libretro-ffmpeg/Makefile index 6971ec6586..69ac5f0d7f 100644 --- a/cores/libretro-ffmpeg/Makefile +++ b/cores/libretro-ffmpeg/Makefile @@ -195,7 +195,7 @@ CFLAGS += -D__LIBRETRO__ include Makefile.common -CFLAGS += $(DEFINES) $(INCFLAGS) $(GLFLAGS) +CFLAGS += $(DEFINES) $(INCFLAGS) $(GLFLAGS) $(DEF_FLAGS) CFLAGS += -Wall $(fpic) ifeq ($(DEBUG), 1) diff --git a/qb/qb.libs.sh b/qb/qb.libs.sh index 9ea78a7c1e..0ecc808080 100644 --- a/qb/qb.libs.sh +++ b/qb/qb.libs.sh @@ -242,8 +242,21 @@ create_config_make() printf %s\\n "Creating make config: $outfile" - { [ "$HAVE_CC" = 'yes' ] && printf %s\\n "CC = $CC" "CFLAGS = $CFLAGS" - [ "$HAVE_CXX" = 'yes' ] && printf %s\\n "CXX = $CXX" "CXXFLAGS = $CXXFLAGS" + { if [ "$HAVE_CC" = 'yes' ]; then + printf %s\\n "CC = $CC" + + if [ "${CFLAGS}" ]; then + printf %s\\n "CFLAGS = $CFLAGS" + fi + fi + + if [ "$HAVE_CXX" = 'yes' ]; then + printf %s\\n "CXX = $CXX" + + if [ "${CXXFLAGS}" ]; then + printf %s\\n "CXXFLAGS = $CXXFLAGS" + fi + fi printf %s\\n "WINDRES = $WINDRES" \ "MOC = $MOC" \