ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/mmeineke/OOPSE/libBASS/Makefile
Revision: 377
Committed: Fri Mar 21 17:42:12 2003 UTC (21 years, 4 months ago) by mmeineke
File size: 2973 byte(s)
Log Message:
New OOPSE Tree

File Contents

# Content
1 #####################################################
2 # Makefile for libBASS (bundled with OOPSE) #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 TOP=..
8
9 include $(TOP)/Make.conf
10
11 .SUFFIXES : .c .cpp .l .y .hpp .h $(O)
12
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..
20 MPI_INCLUDES= -I$(MPICH_INC) -I$(MPICH_INC)/mpi2c++
21
22 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES) $(MPI_INCLUDES)
23 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
24 DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC) $(MPI_INCLUDES)
25
26 MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
27 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
28
29 # Then do the compile rules:
30
31 obj/%.o: %.cpp
32 cd obj; $(CXX) $(CXXFLAGS) -c ../$<
33
34 MPIobj/%.o: %.cpp
35 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
36
37 obj/%.o: %.c
38 cd obj; $(CC) $(CFLAGS) -c ../$<
39
40 MPIobj/%.o: %.c
41 cd MPIobj; $(CC) $(MPI_CFLAGS) -c ../$<
42
43 # Then list what we have to compile
44
45 C_FILES = \
46 $(DIR)/BASS_parse.c \
47 $(DIR)/interface.c \
48 $(DIR)/make_nodes.c \
49 $(DIR)/mpiBASS.c \
50 $(DIR)/parse_tree.c \
51 $(DIR)/simError.c \
52 $(DIR)/BASSyacc.c \
53 $(DIR)/BASSlex.c
54
55 CXX_FILES = \
56 $(DIR)/AtomStamp.cpp \
57 $(DIR)/BASS_interface.cpp \
58 $(DIR)/BendStamp.cpp \
59 $(DIR)/BondStamp.cpp \
60 $(DIR)/Component.cpp \
61 $(DIR)/Globals.cpp \
62 $(DIR)/LinkedAssign.cpp \
63 $(DIR)/LinkedCommand.cpp \
64 $(DIR)/MakeStamps.cpp \
65 $(DIR)/MoleculeStamp.cpp \
66 $(DIR)/TorsionStamp.cpp
67
68 DIR:=.
69 C_SRCS := $(C_FILES)
70 CXX_SRCS := $(CXX_FILES)
71
72 DIR:=obj
73 C_OBJS := $(C_FILES:.c=.o)
74 CXX_OBJS := $(CXX_FILES:.cpp=.o)
75 OBJS := $(C_OBJS) $(CXX_OBJS)
76
77 DIR:=MPIobj
78 C_MPIOBJS := $(C_FILES:.c=.o)
79 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
80 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS)
81
82 LIBSUBDIRS = \
83 obj \
84 MPIobj
85
86 # Possible make targets:
87
88 all: libBASS.a libBASS_MPI.a
89
90 libBASS.a: BASSyacc.h $(OBJS)
91 $(RM) $@
92 $(AR) cr $@ $(OBJS)
93 $(RANLIB) $@
94
95 libBASS_MPI.a: BASSyacc.h $(MPIOBJS)
96 $(RM) $@
97 $(AR) cr $@ $(MPIOBJS)
98 $(RANLIB) $@
99
100 BASSyacc.h: BASSyacc.y
101 $(YACC) -d $? && mv y.tab.h $@
102
103 BASSyacc.c: BASSyacc.y
104 $(YACC) -d $? && mv y.tab.c $@
105
106 BASSlex.c: BASSlex.l
107 $(LEX) -o$@ $?
108
109 .PHONY : clean
110
111 clean : dummy
112 for i in $(LIBSUBDIRS); do \
113 (cd $$i; $(RM) *.o) || exit 1; \
114 done
115 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp BASSyacc.h BASSyacc.c \
116 BASSlex.c
117
118 distclean : dummy
119 for i in $(LIBSUBDIRS); do \
120 (cd $$i; $(RM) *.o) || exit 1; \
121 done
122 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp BASSyacc.h
123
124 depend : BASSyacc.h BASSyacc.c BASSlex.c
125 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
126 $(CC) $(DEPFLAGS) -MM $(C_SRCS) $(CXX_SRCS) \
127 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
128 cat Make.temp | sed 's/^/obj\//' >> Make.dep
129 cat Make.temp | sed 's/^/MPIobj\//' >> Make.dep
130 $(RM) Make.temp
131
132 install : dummy
133
134 links : dummy
135
136 tests : dummy
137
138 dummy :
139
140 include Make.dep
141