You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
5.3 KiB
192 lines
5.3 KiB
commit 938cfdf1f01bcc9ac736249ee6458a774d560738
|
|
Author: hasufell <hasufell@gentoo.org>
|
|
Date: Tue Jun 25 23:48:02 2013 +0200
|
|
|
|
QA: respect several environment variables
|
|
|
|
such as CC,CFLAGS,PKG_CONFIG...
|
|
|
|
diff --git a/makefile b/makefile
|
|
index ad6ae2d..dd4598d 100644
|
|
--- a/makefile
|
|
+++ b/makefile
|
|
@@ -317,13 +317,15 @@ BUILD_EXE = $(EXE)
|
|
endif
|
|
|
|
# compiler, linker and utilities
|
|
-AR = @ar
|
|
-CC = @gcc
|
|
-LD = @g++
|
|
+AR ?= @ar
|
|
+CC ?= @gcc
|
|
+CXX ?= @g++
|
|
+LD = $(CXX)
|
|
MD = -mkdir$(EXE)
|
|
RM = @rm -f
|
|
OBJDUMP = @objdump
|
|
-PYTHON = @python
|
|
+PYTHON ?= @python
|
|
+PKG_CONFIG ?= pkg-config
|
|
|
|
|
|
#-------------------------------------------------
|
|
@@ -458,7 +460,7 @@ CPPONLYFLAGS =
|
|
|
|
# CFLAGS is defined based on C or C++ targets
|
|
# (remember, expansion only happens when used, so doing it here is ok)
|
|
-CFLAGS = $(CCOMFLAGS) $(CPPONLYFLAGS)
|
|
+CFLAGS += $(CCOMFLAGS) $(CPPONLYFLAGS)
|
|
|
|
# we compile C-only to C89 standard with GNU extensions
|
|
# we compile C++ code to C++98 standard with GNU extensions
|
|
@@ -466,9 +468,6 @@ CONLYFLAGS += -std=gnu89
|
|
CPPONLYFLAGS += -x c++ -std=gnu++98
|
|
COBJFLAGS += -x objective-c++
|
|
|
|
-# this speeds it up a bit by piping between the preprocessor/compiler/assembler
|
|
-CCOMFLAGS += -pipe
|
|
-
|
|
# add -g if we need symbols, and ensure we have frame pointers
|
|
ifdef SYMBOLS
|
|
CCOMFLAGS += -g$(SYMLEVEL) -fno-omit-frame-pointer
|
|
@@ -484,19 +483,6 @@ ifdef PROFILE
|
|
CCOMFLAGS += -pg
|
|
endif
|
|
|
|
-# add the optimization flag
|
|
-CCOMFLAGS += -O$(OPTIMIZE)
|
|
-
|
|
-# add the error warning flag
|
|
-ifndef NOWERROR
|
|
-CCOMFLAGS += -Werror
|
|
-endif
|
|
-
|
|
-# if we are optimizing, include optimization options
|
|
-ifneq ($(OPTIMIZE),0)
|
|
-CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS)
|
|
-endif
|
|
-
|
|
# add a basic set of warnings
|
|
CCOMFLAGS += \
|
|
-Wall \
|
|
@@ -576,14 +562,6 @@ endif
|
|
|
|
# LDFLAGS are used generally; LDFLAGSEMULATOR are additional
|
|
# flags only used when linking the core emulator
|
|
-LDFLAGS =
|
|
-ifneq ($(TARGETOS),macosx)
|
|
-ifneq ($(TARGETOS),os2)
|
|
-ifneq ($(TARGETOS),solaris)
|
|
-LDFLAGS = -Wl,--warn-common
|
|
-endif
|
|
-endif
|
|
-endif
|
|
LDFLAGSEMULATOR =
|
|
|
|
# add profiling information for the linker
|
|
@@ -591,13 +569,6 @@ ifdef PROFILE
|
|
LDFLAGS += -pg
|
|
endif
|
|
|
|
-# strip symbols and other metadata in non-symbols and non profiling builds
|
|
-ifndef SYMBOLS
|
|
-ifneq ($(TARGETOS),macosx)
|
|
-LDFLAGS += -s
|
|
-endif
|
|
-endif
|
|
-
|
|
# output a map file (emulator only)
|
|
ifdef MAP
|
|
LDFLAGSEMULATOR += -Wl,-Map,$(FULLNAME).map
|
|
diff --git a/src/osd/sdl/sdl.mak b/src/osd/sdl/sdl.mak
|
|
index 84332ef..36655d3 100644
|
|
--- a/src/osd/sdl/sdl.mak
|
|
+++ b/src/osd/sdl/sdl.mak
|
|
@@ -24,6 +24,8 @@
|
|
# uncomment and edit next line to specify a distribution
|
|
# supported debian-stable, ubuntu-intrepid
|
|
|
|
+PKG_CONFIG ?= pkg-config
|
|
+
|
|
# DISTRO = debian-stable
|
|
# DISTRO = ubuntu-intrepid
|
|
# DISTRO = gcc44-generic
|
|
@@ -88,9 +90,9 @@ SDL_LIBVER = sdl
|
|
endif
|
|
|
|
ifdef SDL_INSTALL_ROOT
|
|
-SDL_CONFIG = $(SDL_INSTALL_ROOT)/bin/$(SDL_LIBVER)-config
|
|
+SDL_CONFIG ?= $(SDL_INSTALL_ROOT)/bin/$(SDL_LIBVER)-config
|
|
else
|
|
-SDL_CONFIG = $(SDL_LIBVER)-config
|
|
+SDL_CONFIG ?= $(SDL_LIBVER)-config
|
|
endif
|
|
|
|
ifeq ($(SDL_LIBVER),sdl2)
|
|
@@ -187,8 +189,8 @@ SYNC_IMPLEMENTATION = tc
|
|
SDL_NETWORK = taptun
|
|
|
|
ifndef NO_USE_MIDI
|
|
-INCPATH += `pkg-config --cflags alsa`
|
|
-LIBS += `pkg-config --libs alsa`
|
|
+INCPATH += $(shell $(PKG_CONFIG) --cflags alsa)
|
|
+LIBS += $(shell $(PKG_CONFIG) --libs alsa)
|
|
endif
|
|
|
|
endif
|
|
@@ -478,10 +480,10 @@ else
|
|
# Remove the "/SDL" component from the include path so that we can compile
|
|
# files (header files are #include "SDL/something.h", so the extra "/SDL"
|
|
# causes a significant problem)
|
|
-INCPATH += `sdl-config --cflags | sed 's:/SDL::'`
|
|
+INCPATH += $(shell $(SDL_CONFIG) --cflags | sed 's:/SDL::')
|
|
CCOMFLAGS += -DNO_SDL_GLEXT
|
|
# Remove libSDLmain, as its symbols conflict with SDLMain_tmpl.m
|
|
-LIBS += `sdl-config --libs | sed 's/-lSDLmain//'` -lpthread
|
|
+LIBS += $(shell $(SDL_CONFIG) --libs | sed 's/-lSDLmain//') -lpthread
|
|
DEFS += -DMACOSX_USE_LIBSDL
|
|
endif # MACOSX_USE_LIBSDL
|
|
|
|
@@ -534,8 +536,8 @@ INCPATH += -I$(SDL_INSTALL_ROOT)/include/directfb
|
|
endif
|
|
endif
|
|
|
|
-INCPATH += `pkg-config --cflags fontconfig`
|
|
-LIBS += `pkg-config --libs fontconfig`
|
|
+INCPATH += $(shell $(PKG_CONFIG) --cflags fontconfig)
|
|
+LIBS += $(shell $(PKG_CONFIG) --libs fontconfig)
|
|
|
|
ifeq ($(SDL_LIBVER),sdl2)
|
|
LIBS += -lSDL2_ttf
|
|
@@ -620,8 +622,8 @@ endif # Win32
|
|
|
|
ifeq ($(BASE_TARGETOS),os2)
|
|
|
|
-INCPATH += `sdl-config --cflags`
|
|
-LIBS += `sdl-config --libs`
|
|
+INCPATH += $(shell $(SDL_CONFIG) --cflags)
|
|
+LIBS += $(shell $(SDL_CONFIG) --libs)
|
|
|
|
endif # OS2
|
|
|
|
@@ -696,14 +698,14 @@ LIBS += -lX11 -lXinerama
|
|
|
|
# The newer debugger uses QT
|
|
ifndef NO_USE_QTDEBUG
|
|
-INCPATH += `pkg-config QtGui --cflags`
|
|
-LIBS += `pkg-config QtGui --libs`
|
|
+INCPATH += $(shell $(PKG_CONFIG) QtGui --cflags)
|
|
+LIBS += $(shell $(PKG_CONFIG) QtGui --libs)
|
|
else
|
|
# the old-new debugger relies on GTK+ in addition to the base SDLMAME needs
|
|
# Non-X11 builds can not use the debugger
|
|
-INCPATH += `pkg-config --cflags-only-I gtk+-2.0` `pkg-config --cflags-only-I gconf-2.0`
|
|
-CCOMFLAGS += `pkg-config --cflags-only-other gtk+-2.0` `pkg-config --cflags-only-other gconf-2.0`
|
|
-LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0`
|
|
+INCPATH += $(shell $(PKG_CONFIG) --cflags-only-I gtk+-2.0 gconf-2.0)
|
|
+CCOMFLAGS += $(shell $(PKG_CONFIG) --cflags-only-other gtk+-2.0 gconf-2.0)
|
|
+LIBS += $(shell $(PKG_CONFIG) --libs gtk+-2.0 gconf-2.0)
|
|
endif
|
|
|
|
# some systems still put important things in a different prefix
|