Browse Source

Rework makefiles

gh-pages
falkTX 11 years ago
parent
commit
1bc74f1095
2 changed files with 25 additions and 13 deletions
  1. +3
    -3
      dgl/Makefile
  2. +22
    -10
      dgl/Makefile.mk

+ 3
- 3
dgl/Makefile View File

@@ -50,8 +50,8 @@ all: $(TARGET)
# -------------------------------------------------------------- # --------------------------------------------------------------


../libdgl.a: $(OBJS) ../libdgl.a: $(OBJS)
$(RM) $@
$(AR) crs $@ $^
rm -f $@
ar crs $@ $^


../libdgl.dll: $(OBJS) ../libdgl.dll: $(OBJS)
# -Wl,--output-def,$@.def,--out-implib,$@.a # -Wl,--output-def,$@.def,--out-implib,$@.a
@@ -77,7 +77,7 @@ all: $(TARGET)
# -------------------------------------------------------------- # --------------------------------------------------------------


clean: 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: debug:
$(MAKE) DEBUG=true $(MAKE) DEBUG=true


+ 22
- 10
dgl/Makefile.mk View File

@@ -4,48 +4,60 @@
# Created by falkTX # Created by falkTX
# #


AR ?= ar
RM ?= rm -f

CC ?= gcc CC ?= gcc
CXX ?= g++ CXX ?= g++


# -------------------------------------------------------------- # --------------------------------------------------------------
# Fallback to Linux if no other OS defined # Fallback to Linux if no other OS defined


ifneq ($(HAIKU),true)
ifneq ($(MACOS),true) ifneq ($(MACOS),true)
ifneq ($(WIN32),true) ifneq ($(WIN32),true)
LINUX=true LINUX=true
endif endif
endif endif
endif


# -------------------------------------------------------------- # --------------------------------------------------------------
# Common build and link flags # 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) ifeq ($(RASPPI),true)
# Raspberry-Pi optimization flags # 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 endif


ifeq ($(DEBUG),true) ifeq ($(DEBUG),true)
BASE_FLAGS += -DDEBUG -O0 -g BASE_FLAGS += -DDEBUG -O0 -g
LINK_OPTS =
else else
BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden
CXXFLAGS += -fvisibility-inlines-hidden CXXFLAGS += -fvisibility-inlines-hidden
LINK_OPTS += -Wl,--strip-all LINK_OPTS += -Wl,--strip-all
endif 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) LINK_FLAGS = $(LINK_OPTS) -Wl,--no-undefined $(LDFLAGS)


ifeq ($(MACOS),true) ifeq ($(MACOS),true)
# Get rid of most options for old gcc4.2
# No C++11 support
BUILD_CXX_FLAGS = $(BASE_FLAGS) $(CXXFLAGS) BUILD_CXX_FLAGS = $(BASE_FLAGS) $(CXXFLAGS)
LINK_FLAGS = $(LDFLAGS)
LINK_FLAGS = $(LINK_OPTS) $(LDFLAGS)
endif endif


# -------------------------------------------------------------- # --------------------------------------------------------------


Loading…
Cancel
Save