From df1f47fb36a389c5af8465d3de5a7eb63d681ba4 Mon Sep 17 00:00:00 2001 From: Adrian Conlon Date: Mon, 25 Dec 2017 23:45:55 +0000 Subject: [PATCH] Simplify Linux build configurations. Signed-off-by: Adrian Conlon --- compile.mk | 21 +++++++++++++++++++++ exe_build.mk | 24 ------------------------ lib_build.mk | 24 ------------------------ 3 files changed, 21 insertions(+), 48 deletions(-) diff --git a/compile.mk b/compile.mk index 5a200bd..6bd8b93 100644 --- a/compile.mk +++ b/compile.mk @@ -6,3 +6,24 @@ CXXFLAGS_COVERAGE = $(CXXFLAGS_DEBUG) -fprofile-arcs -ftest-coverage CXXFLAGS_PROFILE = $(CXXFLAGS_OPT) -fprofile-generate CXXFLAGS_PROFILED = $(CXXFLAGS_OPT) -fprofile-use + +CXXOBJECTS = $(CXXFILES:.cpp=.o) + +SOURCES = $(CXXFILES) +OBJECTS = $(CXXOBJECTS) + +PCH = stdafx.h.gch + +all: opt + +opt: CXXFLAGS += $(CXXFLAGS_OPT) +debug: CXXFLAGS += $(CXXFLAGS_DEBUG) +coverage: CXXFLAGS += $(CXXFLAGS_COVERAGE) +profile: CXXFLAGS += $(CXXFLAGS_PROFILE) +profiled: CXXFLAGS += $(CXXFLAGS_PROFILED) + +$(PCH): stdafx.h + $(CXX) $(CXXFLAGS) -x c++-header $< + +%.o: %.cpp $(PCH) + $(CXX) $(CXXFLAGS) $< -c -o $@ diff --git a/exe_build.mk b/exe_build.mk index 2778c4e..1f47928 100644 --- a/exe_build.mk +++ b/exe_build.mk @@ -1,40 +1,16 @@ -CXXOBJECTS = $(CXXFILES:.cpp=.o) - LDFLAGS += -g -SOURCES = $(CXXFILES) -OBJECTS = $(CXXOBJECTS) - -PCH = stdafx.h.gch - -all: opt - -opt: CXXFLAGS += $(CXXFLAGS_OPT) opt: $(EXE) - -debug: CXXFLAGS += $(CXXFLAGS_DEBUG) debug: $(EXE) - -coverage: CXXFLAGS += $(CXXFLAGS_COVERAGE) coverage: LDFLAGS += -lgcov coverage: $(EXE) - -profile: CXXFLAGS += $(CXXFLAGS_PROFILE) profile: LDFLAGS += -lgcov profile: $(EXE) - -profiled: CXXFLAGS += $(CXXFLAGS_PROFILED) profiled: $(EXE) -$(PCH): stdafx.h - $(CXX) $(CXXFLAGS) -x c++-header $< - $(EXE): $(OBJECTS) $(CXX) $(OBJECTS) -o $(EXE) $(LDFLAGS) -%.o: %.cpp $(PCH) - $(CXX) $(CXXFLAGS) $< -c -o $@ - .PHONY: clean clean: -rm -f $(EXE) $(OBJECTS) $(PCH) *.gcov *.gcda *.gcno diff --git a/lib_build.mk b/lib_build.mk index ef1978c..07d5164 100644 --- a/lib_build.mk +++ b/lib_build.mk @@ -1,36 +1,12 @@ -CXXOBJECTS = $(CXXFILES:.cpp=.o) - -SOURCES = $(CXXFILES) -OBJECTS = $(CXXOBJECTS) - -PCH = stdafx.h.gch - -all: opt - -opt: CXXFLAGS += $(CXXFLAGS_OPT) opt: $(LIB) - -debug: CXXFLAGS += $(CXXFLAGS_DEBUG) debug: $(LIB) - -coverage: CXXFLAGS += $(CXXFLAGS_COVERAGE) coverage: $(LIB) - -profile: CXXFLAGS += $(CXXFLAGS_PROFILE) profile: $(LIB) - -profiled: CXXFLAGS += $(CXXFLAGS_PROFILED) profiled: $(LIB) -$(PCH): stdafx.h - $(CXX) $(CXXFLAGS) -x c++-header $< - $(LIB): $(OBJECTS) $(AR) $(ARFLAGS) $(LIB) $(OBJECTS) -%.o: %.cpp $(PCH) - $(CXX) $(CXXFLAGS) $< -c -o $@ - .PHONY: clean clean: -rm -f $(LIB) $(OBJECTS) $(PCH)