commit 1bc74f1095e8a9aa5695e2ab3cba478a4aef25a4
parent 4fffde234c34dcc7f3fc6deba376dc64966d3b97
Author: falkTX <falktx@gmail.com>
Date: Mon, 12 May 2014 17:14:49 +0100
Rework makefiles
Diffstat:
2 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/dgl/Makefile b/dgl/Makefile
@@ -50,8 +50,8 @@ all: $(TARGET)
# --------------------------------------------------------------
../libdgl.a: $(OBJS)
- $(RM) $@
- $(AR) crs $@ $^
+ rm -f $@
+ ar crs $@ $^
../libdgl.dll: $(OBJS)
# -Wl,--output-def,$@.def,--out-implib,$@.a
@@ -77,7 +77,7 @@ all: $(TARGET)
# --------------------------------------------------------------
clean:
- $(RM) src/*.o src/pugl/*.o src/freetype-gl/*.o ../libdgl.*
+ rm -f src/*.o src/pugl/*.o src/freetype-gl/*.o ../libdgl.*
debug:
$(MAKE) DEBUG=true
diff --git a/dgl/Makefile.mk b/dgl/Makefile.mk
@@ -4,48 +4,60 @@
# Created by falkTX
#
-AR ?= ar
-RM ?= rm -f
-
CC ?= gcc
CXX ?= g++
# --------------------------------------------------------------
# Fallback to Linux if no other OS defined
+ifneq ($(HAIKU),true)
ifneq ($(MACOS),true)
ifneq ($(WIN32),true)
LINUX=true
endif
endif
+endif
# --------------------------------------------------------------
# Common build and link flags
-BASE_FLAGS = -Wall -Wextra -fPIC -DPIC -pipe -DREAL_BUILD
-BASE_OPTS = -O3 -ffast-math -mtune=generic -msse -msse2 -mfpmath=sse
+BASE_FLAGS = -Wall -Wextra -pipe
+BASE_OPTS = -O2 -ffast-math -mtune=generic -msse -msse2 -mfpmath=sse -fdata-sections -ffunction-sections
+LINK_OPTS = -fdata-sections -ffunction-sections -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--strip-all
+
+ifeq ($(MACOS),true)
+# MacOS linker flags
+LINK_OPTS = -fdata-sections -ffunction-sections -Wl,-dead_strip -Wl,-dead_strip_dylibs
+endif
ifeq ($(RASPPI),true)
# Raspberry-Pi optimization flags
-BASE_OPTS = -O3 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard
+BASE_OPTS = -O2 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard
+LINK_OPTS = -Wl,-O1 -Wl,--as-needed -Wl,--strip-all
+endif
+
+ifneq ($(WIN32),true)
+# not needed for Windows
+BASE_FLAGS += -fPIC -DPIC
endif
ifeq ($(DEBUG),true)
BASE_FLAGS += -DDEBUG -O0 -g
+LINK_OPTS =
else
BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden
CXXFLAGS += -fvisibility-inlines-hidden
LINK_OPTS += -Wl,--strip-all
endif
-BUILD_C_FLAGS = $(BASE_FLAGS) -std=gnu99 $(CFLAGS)
-BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=gnu++0x $(CXXFLAGS)
+BUILD_C_FLAGS = $(BASE_FLAGS) -std=c99 -std=gnu99 $(CFLAGS)
+BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=c++0x -std=gnu++0x $(CXXFLAGS)
LINK_FLAGS = $(LINK_OPTS) -Wl,--no-undefined $(LDFLAGS)
ifeq ($(MACOS),true)
-# Get rid of most options for old gcc4.2
+# No C++11 support
BUILD_CXX_FLAGS = $(BASE_FLAGS) $(CXXFLAGS)
-LINK_FLAGS = $(LDFLAGS)
+LINK_FLAGS = $(LINK_OPTS) $(LDFLAGS)
endif
# --------------------------------------------------------------