From b6af3c7ad0fb79ca37dc73ec5bb4c731e21c40b5 Mon Sep 17 00:00:00 2001 From: Giacomo Fiorin Date: Mon, 14 Oct 2019 15:50:19 -0400 Subject: [PATCH] Conventional make tweaks to handle Lepton C++11 requirement --- lib/colvars/Makefile.common | 20 ++++++++++++-------- lib/colvars/Makefile.g++ | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/colvars/Makefile.common b/lib/colvars/Makefile.common index 5958765077..db04a0cb08 100644 --- a/lib/colvars/Makefile.common +++ b/lib/colvars/Makefile.common @@ -52,25 +52,29 @@ LEPTON_SRCS = \ lepton/src/ParsedExpression.cpp lepton/src/ExpressionProgram.cpp \ lepton/src/Operation.cpp lepton/src/Parser.cpp -LEPTON_OBJS = \ - lepton/src/CompiledExpression.o lepton/src/ExpressionTreeNode.o \ - lepton/src/ParsedExpression.o lepton/src/ExpressionProgram.o \ - lepton/src/Operation.o lepton/src/Parser.o -COLVARS_OBJS = $(COLVARS_SRCS:.cpp=.o) $(LEPTON_OBJS) +# Allow to selectively turn off Lepton +ifeq ($(ENABLE_LEPTON),no) +LEPTON_INCFLAGS = +COLVARS_OBJS = $(COLVARS_SRCS:.cpp=.o) +else +LEPTON_INCFLAGS = -Ilepton/include -DLEPTON +COLVARS_OBJS = $(COLVARS_SRCS:.cpp=.o) $(LEPTON_SRCS:.cpp=.o) +endif + %.o: %.cpp - $(CXX) $(CXXFLAGS) $(COLVARS_INCFLAGS) -Ilepton/include -DLEPTON -c -o $@ $< + $(CXX) $(CXXFLAGS) $(COLVARS_INCFLAGS) $(LEPTON_INCFLAGS) -c -o $@ $< $(COLVARS_LIB): Makefile.deps $(COLVARS_OBJS) - $(AR) $(ARFLAGS) $(COLVARS_LIB) $(COLVARS_OBJS) $(LEPTON_OBJS) + $(AR) $(ARFLAGS) $(COLVARS_LIB) $(COLVARS_OBJS) Makefile.deps: $(COLVARS_SRCS) @echo > $@ @for src in $^ ; do \ obj=`basename $$src .cpp`.o ; \ - $(CXX) -MM $(COLVARS_INCFLAGS) -Ilepton/include -DLEPTON \ + $(CXX) -MM $(COLVARS_INCFLAGS) $(LEPTON_INCFLAGS) \ -MT '$$(COLVARS_OBJ_DIR)'$$obj $$src >> $@ ; \ done diff --git a/lib/colvars/Makefile.g++ b/lib/colvars/Makefile.g++ index 556e39d070..6fa5131d6f 100644 --- a/lib/colvars/Makefile.g++ +++ b/lib/colvars/Makefile.g++ @@ -6,7 +6,7 @@ COLVARS_LIB = libcolvars.a COLVARS_OBJ_DIR = CXX = g++ -CXXFLAGS = -O2 -g -Wall -fPIC -funroll-loops +CXXFLAGS = -std=c++0x -O2 -g -Wall -fPIC -funroll-loops AR = ar ARFLAGS = -rscv SHELL = /bin/sh