ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Makefile
Revision: 675
Committed: Mon Aug 11 19:38:44 2003 UTC (21 years ago) by mmeineke
File size: 3163 byte(s)
Log Message:
Added zConstraint into the BASS language syntax.

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)
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 SRC_DIR := $(PWD)
32
33 obj/%.o: %.cpp
34 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
35
36 MPIobj/%.o: %.cpp
37 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
38
39 obj/%.o: %.c
40 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
41
42 MPIobj/%.o: %.c
43 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
44
45 # Then list what we have to compile
46
47 C_FILES = \
48 $(DIR)/BASS_parse.c \
49 $(DIR)/interface.c \
50 $(DIR)/make_nodes.c \
51 $(DIR)/mpiBASS.c \
52 $(DIR)/parse_tree.c \
53 $(DIR)/simError.c \
54 $(DIR)/BASSyacc.c \
55 $(DIR)/BASSlex.c
56
57 CXX_FILES = \
58 $(DIR)/AtomStamp.cpp \
59 $(DIR)/BASS_interface.cpp \
60 $(DIR)/BendStamp.cpp \
61 $(DIR)/BondStamp.cpp \
62 $(DIR)/Component.cpp \
63 $(DIR)/Globals.cpp \
64 $(DIR)/LinkedAssign.cpp \
65 $(DIR)/LinkedCommand.cpp \
66 $(DIR)/MakeStamps.cpp \
67 $(DIR)/MoleculeStamp.cpp \
68 $(DIR)/TorsionStamp.cpp \
69 $(DIR)/ZconStamp.cpp
70
71 DIR:=.
72 C_SRCS := $(C_FILES)
73 CXX_SRCS := $(CXX_FILES)
74 SRCS := $(C_SRCS) $(CXX_SRCS)
75
76 DIR:=obj
77 C_OBJS := $(C_FILES:.c=.o)
78 CXX_OBJS := $(CXX_FILES:.cpp=.o)
79 OBJS := $(C_OBJS) $(CXX_OBJS)
80
81 DIR:=MPIobj
82 C_MPIOBJS := $(C_FILES:.c=.o)
83 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
84 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS)
85
86 LIBSUBDIRS = \
87 obj \
88 MPIobj
89
90 # Possible make targets:
91
92 all: Make.dep libBASS.a libBASS_MPI.a
93
94 libBASS.a: BASSyacc.h $(OBJS)
95 $(RM) $@
96 $(AR) cr $@ $(OBJS)
97 $(RANLIB) $@
98
99 libBASS_MPI.a: BASSyacc.h $(MPIOBJS)
100 $(RM) $@
101 $(AR) cr $@ $(MPIOBJS)
102 $(RANLIB) $@
103
104 BASSyacc.h: BASSyacc.y
105 $(YACC) -d $? && mv y.tab.h $@
106
107 BASSyacc.c: BASSyacc.y
108 $(YACC) -d $? && mv y.tab.c $@
109
110 BASSlex.c: BASSlex.l
111 $(LEX) -o$@ $?
112
113 .PHONY : clean
114
115 clean : dummy
116 for i in $(LIBSUBDIRS); do \
117 (cd $$i; $(RM) *.o) || exit 1; \
118 done
119 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
120 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
121
122 distclean : dummy
123 for i in $(LIBSUBDIRS); do \
124 (cd $$i; $(RM) *.o) || exit 1; \
125 done
126 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.dep Make.temp
127 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
128
129 Make.dep : $(SRCS) BASSyacc.h BASSyacc.c BASSlex.c
130 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
131 $(CC) $(DEPFLAGS) -MM $(C_SRCS) $(CXX_SRCS) \
132 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
133 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
134 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
135 $(RM) Make.temp
136
137 depend : Make.dep
138
139 install : dummy
140
141 links : dummy
142
143 tests : dummy
144
145 dummy :
146
147 include Make.dep
148