|
@@ -1,20 +1,10 @@
|
|
|
AR = ar cru
|
|
|
|
|
|
FC = gfortran
|
|
|
-FFLAGS = -O3 -fopenmp -Wall
|
|
|
+FFLAGS = -O3 -fopenmp -march=native -Wall
|
|
|
|
|
|
CXX = g++
|
|
|
-CXXFLAGS = -std=c++11 -fopenmp -march=native -Wall # need C++11
|
|
|
-
|
|
|
-#Optional flags
|
|
|
-#CXXFLAGS += -O0 # debug build
|
|
|
-CXXFLAGS += -O3 -DNDEBUG # release build
|
|
|
-
|
|
|
-ifeq ($(shell uname -s),Darwin)
|
|
|
- CXXFLAGS += -g -rdynamic -Wl,-no_pie # for stack trace (on Mac)
|
|
|
-else
|
|
|
- CXXFLAGS += -g -rdynamic # for stack trace
|
|
|
-endif
|
|
|
+CXXFLAGS = -O3 -fopenmp -march=native -Wall -std=c++11 # need C++11
|
|
|
|
|
|
#CXXFLAGS += -DSCTL_MEMDEBUG # Enable memory checks
|
|
|
CXXFLAGS += -DSCTL_PROFILE=5 -DSCTL_VERBOSE # Enable profiling
|
|
@@ -22,7 +12,7 @@ CXXFLAGS += -DSCTL_PROFILE=5 -DSCTL_VERBOSE # Enable profiling
|
|
|
|
|
|
|
|
|
|
|
|
-LDLIBS = -L$(LIBDIR) -lkernels -lgfortran
|
|
|
+LDLIBS = -L$(LIBDIR) -lkernels -lstdc++
|
|
|
|
|
|
RM = rm -f
|
|
|
MKDIRS = mkdir -p
|
|
@@ -41,22 +31,18 @@ TARGET_BIN = \
|
|
|
|
|
|
all : $(TARGET_LIB) $(TARGET_BIN)
|
|
|
|
|
|
-$(OBJDIR)/%.o: $(SRCDIR)/%.f90
|
|
|
+$(BINDIR)/%: $(SRCDIR)/%.f90 $(TARGET_LIB)
|
|
|
-@$(MKDIRS) $(dir $@)
|
|
|
- $(FC) $(FFLAGS) -I$(INCDIR) -c $^ -o $@
|
|
|
+ $(FC) $(FFLAGS) -I$(INCDIR) $^ $(LDLIBS) -o $@
|
|
|
|
|
|
-$(OBJDIR)/%.o: $(SRCDIR)/%.c
|
|
|
+$(BINDIR)/%: $(SRCDIR)/%.cpp $(TARGET_LIB)
|
|
|
-@$(MKDIRS) $(dir $@)
|
|
|
- $(CC) $(CXXFLAGS) -I$(INCDIR) -c $^ -o $@
|
|
|
+ $(CXX) $(CXXFLAGS) -I$(INCDIR) $^ $(LDLIBS) -o $@
|
|
|
|
|
|
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
|
|
|
-@$(MKDIRS) $(dir $@)
|
|
|
$(CXX) $(CXXFLAGS) -I$(INCDIR) -c $^ -o $@
|
|
|
|
|
|
-$(BINDIR)/%: $(OBJDIR)/%.o $(TARGET_LIB)
|
|
|
- -@$(MKDIRS) $(dir $@)
|
|
|
- $(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
|
|
|
-
|
|
|
$(LIBDIR)/%.a: $(OBJDIR)/%.o
|
|
|
-@$(MKDIRS) $(dir $@)
|
|
|
$(AR) $@ $^
|