ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/Makefile
Revision: 624
Committed: Wed Jul 16 17:35:18 2003 UTC (21 years, 2 months ago) by gezelter
File size: 4324 byte(s)
Log Message:
Made quickLate aware of Hmat.  quickLate is now somewhat more
intelligent about periodic boundaries and wrapping.

File Contents

# User Rev Content
1 gezelter 444 #####################################################
2     # Makefile for Oopse Utility Codes #
3     #####################################################
4     # You should not change anything here. #
5     #####################################################
6    
7     TOP=..
8    
9     include $(TOP)/Make.conf
10    
11 mmeineke 494 .SUFFIXES : .cpp .c $(O)
12 gezelter 444
13     # First do compile-time flags:
14    
15     MPI_DECLARES= -DIS_MPI
16    
17     # include paths starting with "." are all relative to the SUBDIRS!!!
18    
19     INCLUDES= -I.. -I../../libBASS -I../../libmdtools
20     MPI_INCLUDES= -I$(MPICH_INC) -I$(MPICH_INC)/mpi2c++
21 mmeineke 538 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
22 gezelter 444 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
23     DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC) $(MPI_INCLUDES) -I../libBASS -I../libmdtools
24     MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
25    
26     QUICKLATE=quickLate$(EXE)
27 mmeineke 494 SYSBUILD=sysBuild$(EXE)
28 gezelter 444
29     BASS_LIB=$(TOP)/libBASS/libBASS.a
30     BASS_MPI_LIB=$(TOP)/libBASS/libBASS_MPI.a
31     MD_LIB=$(TOP)/libmdtools/libmdtools.a
32     MD_MPI_LIB=$(TOP)/libmdtools/libmdtools_MPI.a
33     LIBS=$(BASS_LIB) $(MD_LIB)
34     MPI_LIBS=$(BASS_MPI_LIB) $(MD_MPI_LIB)
35    
36     QUICKLATE_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB)
37     QUICKLATE_LDADD=-lmdtools -lBASS -lsprng $(FLIBS) $(FLIBS_EXTRA)
38    
39 mmeineke 494 SYSBUILD_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB)
40     SYSBUILD_LDADD=-lmdtools -lBASS -lsprng $(FLIBS) $(FLIBS_EXTRA)
41    
42 mmeineke 538 SRC_DIR := $(PWD)
43    
44 gezelter 444 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
45    
46 mmeineke 494 obj/%.o: %.cpp
47 mmeineke 538 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
48 mmeineke 494
49     MPIobj/%.o: %.cpp
50 mmeineke 538 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
51 mmeineke 494
52 gezelter 444 obj/%.o: %.c
53 mmeineke 538 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
54 gezelter 444
55     MPIobj/%.o: %.c
56 mmeineke 538 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
57 gezelter 444
58 mmeineke 494
59     # quicklate files
60    
61     QUICK_C_FILES = \
62 gezelter 444 $(DIR)/quickLate.c
63    
64 mmeineke 494 # sysBuilder files
65    
66     SYSBUILD_C_FILES =
67     SYSBUILD_CXX_FILES = \
68 mmeineke 498 $(DIR)/sysBuild.cpp \
69 mmeineke 504 $(DIR)/bilayerSys.cpp \
70 chuckv 589 $(DIR)/MoLocator.cpp \
71     $(DIR)/latticeBuilder.cpp \
72     $(DIR)/nanoBuilder.cpp
73 mmeineke 494
74     # the sources
75    
76 gezelter 444 DIR:=.
77 mmeineke 494 QUICK_C_SRCS := $(QUICK_C_FILES)
78 mmeineke 495 QUICK_SRCS := $(QUICK__C_SRCS)
79 gezelter 444
80 mmeineke 494 SYSBUILD_C_SRCS := $(SYSBUILD_C_FILES)
81     SYSBUILD_CXX_SRCS := $(SYSBUILD_CXX_FILES)
82     SYSBUILD_SRCS := $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
83    
84     C_CXX_SRCS := $(QUICK_C_SRCS) $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
85    
86     #the objects
87    
88 gezelter 444 DIR:=obj
89 mmeineke 495 QUICK_C_OBJS := $(QUICK_C_FILES:.c=.o)
90 mmeineke 494 QUICK_OBJS := $(QUICK_C_OBJS)
91 gezelter 444
92 mmeineke 494 SYSBUILD_C_OBJS := $(SYSBUILD_C_FILES:.c=.o)
93     SYSBUILD_CXX_OBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
94     SYSBUILD_OBJS := $(SYSBUILD_C_OBJS) $(SYSBUILD_CXX_OBJS)
95    
96 gezelter 444 DIR:=MPIobj
97 mmeineke 494 QUICK_C_MPIOBJS := $(QUICK_C_FILES:.c=.o)
98     QUICK_MPIOBJS := $(QUICK_C_MPIOBJS)
99 gezelter 444
100 mmeineke 494 SYSBUILD_C_MPIOBJS := $(SYSBUILD_C_FILES:.c=.o)
101     SYSBUILD_CXX_MPIOBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
102     SYSBUILD_MPIOBJS := $(SYSBUILD_C_MPIOBJS) $(SYSBUILD_CXX_MPIOBJS)
103    
104 gezelter 444 LIBSUBDIRS = \
105     obj \
106     MPIobj
107    
108 gezelter 603 all : Make.dep $(QUICKLATE)
109 gezelter 444
110     depend: Make.dep
111    
112 mmeineke 494 quickLate$(EXE) : $(QUICK_OBJS) $(BASS_LIB) $(MD_LIB)
113     $(CC) $(CFLAGS) $(QUICK_OBJS) -o $@ $(QUICKLATE_LDFLAGS) $(QUICKLATE_LDADD)
114 gezelter 444
115 mmeineke 494 sysBuild$(EXE) : $(SYSBUILD_OBJS) $(BASS_LIB) $(MD_LIB)
116     $(CXX) $(CXXFLAGS) $(SYSBUILD_OBJS) -o $@ $(SYSBUILD_LDFLAGS) $(SYSBUILD_LDADD)
117    
118 gezelter 624 install : $(QUICKLATE)
119 gezelter 444 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
120     $(INSTALL_PROGRAM) -s $(QUICKLATE) $(OOPSE_HOME)/bin/$(QUICKLATE)
121 mmeineke 494 $(INSTALL_PROGRAM) -s $(SYSBUILD) $(OOPSE_HOME)/bin/$(SYSBUILD)
122 gezelter 444
123 mmeineke 494
124 gezelter 444 tests : dummy
125    
126     $(OOPSE_HOME)/bin/$(QUICKLATE) : $(QUICKLATE)
127     $(MAKE) install
128    
129 mmeineke 494 $(OOPSE_HOME)/bin/$(SYSBUILD) : $(SYSBUILD)
130     $(MAKE) install
131    
132     links : $(OOPSE_HOME)/bin/$(QUICKLATE) $(OOPSE_HOME)/bin/$(SYSBUILD)
133 gezelter 444 $(MKINSTALLDIRS) $(PREFIX)/bin
134 mmeineke 561 cd $(PREFIX)/bin; $(LN_S) $(OOPSE_HOME)/bin/$(QUICKLATE) $(QUICKLATE)
135     cd $(PREFIX)/bin; $(LN_S) $(OOPSE_HOME)/bin/$(SYSBUILD) $(SYSBUILD)
136 gezelter 444
137     clean : dummy
138     for i in $(LIBSUBDIRS); do \
139     (cd $$i; $(RM) *.o) || exit 1; \
140     done
141 mmeineke 495 $(RM) $(QUICKLATE) $(SYSBUILD) *.o *~ Make.temp
142 gezelter 444
143     distclean : dummy
144     for i in $(LIBSUBDIRS); do \
145     (cd $$i; $(RM) *.o) || exit 1; \
146     done
147     $(RM) $(QUICKLATE) *.o *~ Make.temp Make.dep
148    
149     devclean : distclean
150    
151 mmeineke 494 Make.dep : $(C_CXX_SRCS)
152 gezelter 444 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
153 mmeineke 494 $(CC) $(DEPFLAGS) -MM $(C_CXX_SRCS) \
154 gezelter 444 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
155 mmeineke 573 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
156     cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
157 gezelter 444 $(RM) Make.temp
158    
159 mmeineke 494 tags : $(C_CXX_SRCS)
160     ctags $(C_CXX_SRCS)
161 gezelter 444
162     dummy :
163    
164     # DO NOT DELETE
165     include Make.dep