-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile.NodesOnSphere
More file actions
65 lines (49 loc) · 1.56 KB
/
Makefile.NodesOnSphere
File metadata and controls
65 lines (49 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
TARGET=NodGenClang9
CXXFLAGS=-std=c++14 -O3
#OpenMM_INSTALL_DIR=/scratch/alifarnudi/local/openmm750
OpenMM_INSTALL_DIR=/scratch/alifarnudi/local/openmm
#OpenMM_INSTALL_DIR=/usr/local/openmm
OSNAME := $(shell uname -s)
Boost_LIB_Mac_Dir = /usr/local/lib
Boost_LIB_Lin_Dir = /usr/lib/x86_64-linux-gnu
MacLIBS= -lOpenMM -lboost_filesystem
LinLIBS= -lOpenMM -lboost_filesystem -lboost_system
ifeq ($(OSNAME),Darwin)
Boost_LIB_Dir = $(Boost_LIB_Mac_Dir)
LIBS = $(MacLIBS)
CXX = g++
else
Boost_LIB_Dir = $(Boost_LIB_Mac_Dir)
LIBS = $(LinLIBS)
CXX = clang++-9
endif
BINDIR=bin/NodeGenMems
SRCDIR=source
INCDIR=include
OBJDIR=objects
INCDIRS=-I$(INCDIR) -I$(OpenMM_INSTALL_DIR)/include
LIB_DIR=-L$(OpenMM_INSTALL_DIR)/lib -L$(Boost_LIB_Dir)
SRCFILES=$(SRCDIR)/Spherical_Mesh_coord_gen.cpp
OBJFILES=$(SRCDIR)/Spherical_Mesh_coord_gen.o
DEPFILES=$(INCDIR)/OpenMM_structs.h
INC=-I$(DEPFILES)
all: $(BINDIR)/$(TARGET)
@mkdir -p NodeGenMems
@echo Finished!
@echo
@echo Don\'t forget to export OpenMM\'s Dynamic Library before running the executable.
@echo Default paths are:
@echo Mac: export DYLD_LIBRARY_PATH=/usr/local/openmm/lib
@echo Lin: export LD_LIBRARY_PATH=/usr/local/openmm/lib
@echo
$(BINDIR)/$(TARGET): $(OBJFILES)
@$(CXX) $(CXXFLAGS) $(LIB_DIR) $(LIBS) $? -o $@
$(OBJFILES): $(SRCFILES)
@mkdir -p $(@D)
$(CXX) $(CXXFLAGS) $(INCDIRS) -c $< -o $@
SUBDIR_ROOTS := objects
DIRS := . $(shell find $(SUBDIR_ROOTS) -type d)
GARBAGE_PATTERNS := *.o
GARBAGE := $(foreach DIR,$(DIRS),$(addprefix $(DIR)/,$(GARBAGE_PATTERNS)))
clean:
rm -rf $(GARBAGE)