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

File Contents

# Content
1 #####################################################
2 # Makefile for Oopse #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 TOP=..
8
9 include $(TOP)/Make.conf
10
11 .SUFFIXES : .c $(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.. -I../../libBASS -I../../libmdtools
20 MPI_INCLUDES= -I$(MPICH_INC) -I$(MPICH_INC)/mpi2c++
21 CPPFLAGS=$(CXXFLAGS0) $(INCLUDES) $(DECLARES)
22 DEPFLAGS=$(CFLAGS0) -I. -I$(SPRNG_INC) $(MPI_INCLUDES)
23 MPI_CPPFLAGS=$(CPPFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
24
25 OOPSE=oopse$(EXE)
26 OOPSE_MPI=oopse_MPI$(EXE)
27
28 BASS_LIB=$(TOP)/libBASS/libBASS.a
29 BASS_MPI_LIB=$(TOP)/libBASS/libBASS_MPI.a
30 MD_LIB=$(TOP)/libmdtools/libmdtools.a
31 MD_MPI_LIB=$(TOP)/libmdtools/libmdtools_MPI.a
32 LIBS=$(BASS_LIB) $(MD_LIB)
33 MPI_LIBS=$(BASS_MPI_LIB) $(MD_MPI_LIB)
34
35 OOPSE_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB)
36 OOPSE_LDADD=-lmdtools -lBASS -lsprng $(FLIBS) $(FLIBS_EXTRA)
37
38 OOPSE_MPI_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB) -L$(MPICH_LIB)
39 OOPSE_MPI_LDADD=-lmdtools_MPI -lBASS_MPI -lsprng -lpmpich++ -lmpichf90 -lmpich $(FLIBS) $(FLIBS_EXTRA)
40
41 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
42
43 obj/%.o: %.cpp
44 cd obj; $(CXX) $(CPPFLAGS) -c ../$<
45
46 MPIobj/%.o: %.cpp
47 cd MPIobj; $(CXX) $(MPI_CPPFLAGS) -c ../$<
48
49 CPP_FILES = \
50 $(DIR)/oopse.cpp \
51 $(DIR)/oose.cpp
52
53 DIR:=.
54 CPP_SRCS := $(CPP_FILES)
55
56 DIR:=obj
57 CPP_OBJS := $(CPP_FILES:.cpp=.o)
58 OBJS := $(CPP_OBJS)
59
60 DIR:=MPIobj
61 CPP_MPIOBJS := $(CPP_FILES:.cpp=.o)
62 MPIOBJS := $(CPP_MPIOBJS)
63
64 LIBSUBDIRS = \
65 obj \
66 MPIobj
67
68 all : $(OOPSE) $(OOPSE_MPI)
69
70
71 oopse$(EXE) : $(OBJS) $(BASS_LIB) $(MD_LIB)
72 $(CC) $(CFLAGS) $(OBJS) -o $@ $(OOPSE_LDFLAGS) $(OOPSE_LDADD)
73
74 oopse_MPI$(EXE) : $(MPIOBJS) $(BASS_MPI_LIB) $(MD_MPI_LIB)
75 $(CC) $(CFLAGS) $(MPIOBJS) -o $@ $(OOPSE_MPI_LDFLAGS) $(OOPSE_MPI_LDADD)
76
77 install : $(OOPSE) $(OOPSE_MPI)
78 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
79 $(INSTALL_PROGRAM) -s $(OOPSE) $(OOPSE_HOME)/bin/$(OOPSE)
80 $(INSTALL_PROGRAM) -s $(OOPSE_MPI) $(OOPSE_HOME)/bin/$(OOPSE_MPI)
81
82 tests : dummy
83
84 $(OOPSE_HOME)/bin/$(OOPSE) : $(OOPSE)
85 $(MAKE) install
86
87 $(OOPSE_HOME)/bin/$(OOPSE_MPI) : $(OOPSE_MPI)
88 $(MAKE) install
89
90 links : $(OOPSE_HOME)/bin/$(OOPSE) $(OOPSE_HOME)/bin/$(OOPSE_MPI)
91 $(MKINSTALLDIRS) $(PREFIX)/bin
92 cd $(PREFIX)/bin; $(RM) $(OOPSE); $(LN_S) $(OOPSE_HOME)/bin/$(OOPSE) $(OOPSE)
93 cd $(PREFIX)/bin; $(RM) $(OOPSE_MPI); $(LN_S) $(OOPSE_HOME)/bin/$(OOPSE_MPI) $(OOPSE_MPI)
94
95 clean : dummy
96 for i in $(LIBSUBDIRS); do \
97 (cd $$i; $(RM) *.o) || exit 1; \
98 done
99 $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
100
101 distclean : dummy
102 for i in $(LIBSUBDIRS); do \
103 (cd $$i; $(RM) *.o) || exit 1; \
104 done
105 $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
106
107 devclean : distclean
108
109 depend :
110 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
111 $(CC) $(DEPFLAGS) -MM $(CPP_SRCS) \
112 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
113 cat Make.temp | sed 's/^/obj\//' >> Make.dep
114 cat Make.temp | sed 's/^/MPIobj\//' >> Make.dep
115 $(RM) Make.temp
116
117 tags : $(CPP_SRCS)
118 ctags $(CPP_SRCS)
119
120 dummy :
121
122 # DO NOT DELETE
123 include Make.dep