Makefile 702 B

123456789101112131415161718192021222324252627282930313233343536
  1. CXX=icpc
  2. CXXFLAGS = -std=c++11 -fopenmp -O3 # need C++11 and OpenMP
  3. #Optional flags
  4. CXXFLAGS += -DNDEBUG # release build
  5. CXXFLAGS += -g -rdynamic # for stack trace
  6. CXXFLAGS += -mkl -DPVFMM_HAVE_BLAS # use BLAS
  7. CXXFLAGS += -mkl -DPVFMM_HAVE_LAPACK # use LAPACK
  8. #CXXFLAGS += -DPVFMM_HAVE_MPI #use MPI
  9. RM = rm -f
  10. MKDIRS = mkdir -p
  11. BINDIR = ./bin
  12. SRCDIR = ./src
  13. OBJDIR = ./obj
  14. INCDIR = ./include
  15. TARGET_BIN = \
  16. $(BINDIR)/test
  17. all : $(TARGET_BIN)
  18. $(BINDIR)/%: $(OBJDIR)/%.o
  19. -@$(MKDIRS) $(dir $@)
  20. $(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
  21. $(OBJDIR)/%.o: $(SRCDIR)/%.cpp
  22. -@$(MKDIRS) $(dir $@)
  23. $(CXX) $(CXXFLAGS) -I$(INCDIR) -c $^ -o $@
  24. clean:
  25. $(RM) -r $(BINDIR)/* $(OBJDIR)/*
  26. $(RM) *~ */*~