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, 1 month ago) by mmeineke
File size: 3163 byte(s)
Log Message:
Added zConstraint into the BASS language syntax.

File Contents

# User Rev Content
1 mmeineke 377 #####################################################
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 chuckv 436 MPI_DECLARES= -DIS_MPI
16 mmeineke 377
17     # include paths starting with "." are all relative to the SUBDIRS!!!
18    
19     INCLUDES= -I..
20 mmeineke 447 MPI_INCLUDES= -I$(MPICH_INC)
21 mmeineke 377
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 mmeineke 675 SRC_DIR := $(PWD)
32    
33 mmeineke 377 obj/%.o: %.cpp
34 mmeineke 675 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
35 mmeineke 377
36     MPIobj/%.o: %.cpp
37 mmeineke 675 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
38 mmeineke 377
39     obj/%.o: %.c
40 mmeineke 675 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
41 mmeineke 377
42     MPIobj/%.o: %.c
43 mmeineke 675 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
44 mmeineke 377
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 mmeineke 675 $(DIR)/TorsionStamp.cpp \
69     $(DIR)/ZconStamp.cpp
70 mmeineke 377
71     DIR:=.
72     C_SRCS := $(C_FILES)
73     CXX_SRCS := $(CXX_FILES)
74 gezelter 385 SRCS := $(C_SRCS) $(CXX_SRCS)
75 mmeineke 377
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 mmeineke 379 all: Make.dep libBASS.a libBASS_MPI.a
93 mmeineke 377
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 gezelter 385 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
120     $(RM) BASSyacc.h BASSyacc.c BASSlex.c
121 mmeineke 377
122     distclean : dummy
123     for i in $(LIBSUBDIRS); do \
124     (cd $$i; $(RM) *.o) || exit 1; \
125     done
126 gezelter 385 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.dep Make.temp
127     $(RM) BASSyacc.h BASSyacc.c BASSlex.c
128 mmeineke 377
129 gezelter 385 Make.dep : $(SRCS) BASSyacc.h BASSyacc.c BASSlex.c
130 mmeineke 377 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 mmeineke 573 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 mmeineke 377 $(RM) Make.temp
136    
137 gezelter 385 depend : Make.dep
138    
139 mmeineke 377 install : dummy
140    
141     links : dummy
142    
143     tests : dummy
144    
145     dummy :
146    
147     include Make.dep
148