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

File Contents

# User Rev Content
1 mmeineke 377 #####################################################
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