ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/libBASS/Makefile.in
Revision: 1334
Committed: Fri Jul 16 18:58:03 2004 UTC (20 years ago) by gezelter
File size: 4312 byte(s)
Log Message:
Initial import of OOPSE-1.0 source tree

File Contents

# User Rev Content
1 gezelter 1334 #####################################################
2     # Makefile for libBASS (bundled with OOPSE) #
3     #####################################################
4     # You should not change anything here. #
5     #####################################################
6    
7     .SUFFIXES : .c .cpp .l .y .hpp .h $(O)
8    
9     # Extension of object files
10     O=@OBJEXT@
11    
12     # Extension of executables
13     EXE=@EXEEXT@
14    
15     # Bourn shell
16     SHELL=/bin/sh
17    
18     # Path prefix for installation links
19     PREFIX=@prefix@
20    
21     # Location of the oopse home
22     OOPSE_HOME=@OOPSE_HOME@
23    
24     FORCE_PARAM_DIR=@OOPSE_HOME@/share/forceFields/
25     SAMPLE_SIM_DIR=@OOPSE_HOME@/share/samples/
26    
27     # Compile MPI code?
28     USE_MPI=@USE_MPI@
29    
30     # MPI include path
31     MPI_INC_DIR=@MPI_INC_DIR@
32    
33     # Location of yacc (or its substitution)
34     YACC=@YACC@
35    
36     #location of lex
37     LEX=@LEX@
38    
39     # C compiler
40     CC=@CC@
41    
42     # C++ compiler
43    
44     CXX=@CXX@
45    
46     # ar
47     AR=@AR@
48    
49     # ranlib
50     RANLIB=@RANLIB@
51    
52     # rm
53     RM=rm -f
54    
55     # soft link
56     LN_S=@LN_S@
57    
58     # BSD install
59     INSTALL=@INSTALL@
60     INSTALL_PROGRAM=@INSTALL_PROGRAM@
61     INSTALL_DATA=@INSTALL_DATA@
62     MKINSTALLDIRS=@MKINSTALLDIRS@
63    
64     # CPP flags
65     CPPFLAGS_C=@CPPFLAGS@
66    
67     # C flags
68     CFLAGS_C=@CFLAGS@
69    
70     # C++ flags
71     CXXFLAGS_C=@CXXFLAGS@
72    
73     # C++ template flags
74     OOPSE_TEMPLATE_FLAGS=@OOPSE_TEMPLATE_FLAGS@
75    
76     # C++ namespace flags
77     EXTRA_CC_FLAG=@EXTRA_CC_FLAG@
78    
79    
80     #######################################################################
81    
82     # First do compile-time flags:
83    
84     MPI_DECLARES= -DIS_MPI
85    
86     # include paths starting with "." are all relative to the SUBDIRS!!!
87    
88     INCLUDES= -I..
89     MPI_INCLUDES= -I$(MPI_INC_DIR)
90    
91     CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
92     CXXFLAGS=$(CXXFLAGS_C) $(OOPSE_TEMPLATE_FLAGS) $(EXTRA_CC_FLAG) $(INCLUDES) $(DECLARES)
93     DEPFLAGS=$(CFLAGS_C)
94    
95     MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
96     MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
97    
98     # Then do the compile rules:
99    
100     SRC_DIR := ..
101    
102     obj/%.o: %.cpp
103     cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
104    
105     MPIobj/%.o: %.cpp
106     cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
107    
108     obj/%.o: %.c
109     cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
110    
111     MPIobj/%.o: %.c
112     cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
113    
114     # Then list what we have to compile
115    
116     C_FILES = \
117     $(DIR)/BASS_parse.c \
118     $(DIR)/interface.c \
119     $(DIR)/make_nodes.c \
120     $(DIR)/mpiBASS.c \
121     $(DIR)/parse_tree.c \
122     $(DIR)/simError.c \
123     $(DIR)/fError.c \
124     $(DIR)/BASSyacc.c \
125     $(DIR)/BASSlex.c
126    
127     CXX_FILES = \
128     $(DIR)/AtomStamp.cpp \
129     $(DIR)/BASS_interface.cpp \
130     $(DIR)/BendStamp.cpp \
131     $(DIR)/BondStamp.cpp \
132     $(DIR)/Component.cpp \
133     $(DIR)/CutoffGroupStamp.cpp \
134     $(DIR)/Globals.cpp \
135     $(DIR)/LinkedAssign.cpp \
136     $(DIR)/LinkedCommand.cpp \
137     $(DIR)/MakeStamps.cpp \
138     $(DIR)/MoleculeStamp.cpp \
139     $(DIR)/RigidBodyStamp.cpp \
140     $(DIR)/TorsionStamp.cpp \
141     $(DIR)/ZconStamp.cpp
142    
143     DIR:=.
144     C_SRCS := $(C_FILES)
145     CXX_SRCS := $(CXX_FILES)
146     SRCS := $(C_SRCS) $(CXX_SRCS)
147    
148     DIR:=obj
149     C_OBJS := $(C_FILES:.c=.o)
150     CXX_OBJS := $(CXX_FILES:.cpp=.o)
151     OBJS := $(C_OBJS) $(CXX_OBJS)
152    
153     DIR:=MPIobj
154     C_MPIOBJS := $(C_FILES:.c=.o)
155     CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
156     MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS)
157    
158     LIBSUBDIRS = \
159     obj \
160     MPIobj
161    
162     # Possible make targets:
163    
164     ifeq ($(USE_MPI),yes)
165     all: libBASS.a libBASS_MPI.a
166     else
167     all: libBASS.a
168     endif
169    
170    
171     libBASS.a: BASSyacc.h $(OBJS)
172     $(RM) $@
173     $(AR) cr $@ $(OBJS)
174     $(RANLIB) $@
175    
176     libBASS_MPI.a: BASSyacc.h $(MPIOBJS)
177     $(RM) $@
178     $(AR) cr $@ $(MPIOBJS)
179     $(RANLIB) $@
180    
181     BASSyacc.h: BASSyacc.y
182     $(YACC) -d $? && mv y.tab.h $@
183    
184     BASSyacc.c: BASSyacc.y
185     $(YACC) -d $? && mv y.tab.c $@
186    
187     BASSlex.c: BASSlex.l
188     $(LEX) -o$@ $?
189    
190     .PHONY : clean
191    
192     clean : dummy
193     for i in $(LIBSUBDIRS); do \
194     (cd $$i; $(RM) *.o) || exit 1; \
195     done
196     $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
197     $(RM) BASSyacc.h BASSyacc.c BASSlex.c
198    
199     distclean : dummy
200     for i in $(LIBSUBDIRS); do \
201     (cd $$i; $(RM) *.o) || exit 1; \
202     done
203     $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
204     $(RM) BASSyacc.h BASSyacc.c BASSlex.c
205    
206     Make.dep : $(C_SRCS) $(CXX_SRCS) BASSyacc.h BASSyacc.c BASSlex.c
207     echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
208     $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
209     | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
210     $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
211     | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
212     cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
213     cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
214     $(RM) Make.temp
215    
216     depend : Make.dep
217    
218     install : dummy
219    
220     links : dummy
221    
222     tests : dummy
223    
224     dummy :