From 5b99d15ab33ddaf3095ff901be931c6061c84349 Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Fri, 13 Mar 2015 17:45:09 +0300 Subject: [PATCH] Makefile fixes and cleanups - Distinguish between CC/CFLAGS, CPP/CPPFLAGS and CXX/CXXFLAGS. Do not store compiler flags in CPPFLAGS, which is for preprocessor. - Use COMMON_FLAGS for flags that are for both C and C++. - Use $(MAKE) instead of make, so that parallel building works. - Drop -m64 flag which is wrong on 32-bit systems. --- Makefile | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 0048b77..5ea6f19 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,21 @@ OS := $(shell uname) -IDIRS=-I./brotli/dec/ -I./brotli/enc/ -I./src +CPPFLAGS = -I./brotli/dec/ -I./brotli/enc/ -I./src -CXX = g++ -LFLAGS = -GFLAGS=-no-canonical-prefixes -fno-omit-frame-pointer -m64 -CXXFLAGS = -c $(IDIRS) -std=c++0x $(GFLAGS) +CC ?= gcc +CXX ?= g++ + +COMMON_FLAGS = -fno-omit-frame-pointer -no-canonical-prefixes ifeq ($(OS), Darwin) - CXXFLAGS += -DOS_MACOSX + CPPFLAGS += -DOS_MACOSX else - CXXFLAGS += -fno-tree-vrp + COMMON_FLAGS += -fno-tree-vrp endif +CFLAGS += $(COMMON_FLAGS) +CXXFLAGS += $(COMMON_FLAGS) -std=c++11 + SRCDIR = src OUROBJ = font.o glyph.o normalize.o table_tags.o transform.o \ @@ -33,10 +36,10 @@ $(EXECUTABLES) : $(EXE_OBJS) deps $(CXX) $(LFLAGS) $(OBJS) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/$@.o -o $@ deps : - make -C $(BROTLI)/dec - make -C $(BROTLI)/enc + $(MAKE) -C $(BROTLI)/dec + $(MAKE) -C $(BROTLI)/enc clean : rm -f $(OBJS) $(EXE_OBJS) $(EXECUTABLES) - make -C $(BROTLI)/dec clean - make -C $(BROTLI)/enc clean + $(MAKE) -C $(BROTLI)/dec clean + $(MAKE) -C $(BROTLI)/enc clean