ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/Makefile
Revision: 504
Committed: Thu Apr 17 21:54:18 2003 UTC (21 years, 5 months ago) by mmeineke
File size: 4212 byte(s)
Log Message:
fixed up sysBuild to where it should now build our systems

File Contents

# User Rev Content
1 gezelter 444 #####################################################
2     # Makefile for Oopse Utility Codes #
3     #####################################################
4     # You should not change anything here. #
5     #####################################################
6    
7     TOP=..
8    
9     include $(TOP)/Make.conf
10    
11 mmeineke 494 .SUFFIXES : .cpp .c $(O)
12 gezelter 444
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     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
22     DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC) $(MPI_INCLUDES) -I../libBASS -I../libmdtools
23     MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
24    
25     QUICKLATE=quickLate$(EXE)
26 mmeineke 494 SYSBUILD=sysBuild$(EXE)
27 gezelter 444
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     QUICKLATE_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB)
36     QUICKLATE_LDADD=-lmdtools -lBASS -lsprng $(FLIBS) $(FLIBS_EXTRA)
37    
38 mmeineke 494 SYSBUILD_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB)
39     SYSBUILD_LDADD=-lmdtools -lBASS -lsprng $(FLIBS) $(FLIBS_EXTRA)
40    
41 gezelter 444 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
42    
43 mmeineke 494 obj/%.o: %.cpp
44     cd obj; $(CXX) $(CXXFLAGS) -c ../$<
45    
46     MPIobj/%.o: %.cpp
47     cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
48    
49 gezelter 444 obj/%.o: %.c
50     cd obj; $(CC) $(CFLAGS) -c ../$<
51    
52     MPIobj/%.o: %.c
53     cd MPIobj; $(CC) $(MPI_CFLAGS) -c ../$<
54    
55 mmeineke 494
56     # quicklate files
57    
58     QUICK_C_FILES = \
59 gezelter 444 $(DIR)/quickLate.c
60    
61 mmeineke 494 # sysBuilder files
62    
63     SYSBUILD_C_FILES =
64     SYSBUILD_CXX_FILES = \
65 mmeineke 498 $(DIR)/sysBuild.cpp \
66 mmeineke 504 $(DIR)/bilayerSys.cpp \
67     $(DIR)/MoLocator.cpp
68 mmeineke 494
69     # the sources
70    
71 gezelter 444 DIR:=.
72 mmeineke 494 QUICK_C_SRCS := $(QUICK_C_FILES)
73 mmeineke 495 QUICK_SRCS := $(QUICK__C_SRCS)
74 gezelter 444
75 mmeineke 494 SYSBUILD_C_SRCS := $(SYSBUILD_C_FILES)
76     SYSBUILD_CXX_SRCS := $(SYSBUILD_CXX_FILES)
77     SYSBUILD_SRCS := $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
78    
79     C_CXX_SRCS := $(QUICK_C_SRCS) $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
80    
81     #the objects
82    
83 gezelter 444 DIR:=obj
84 mmeineke 495 QUICK_C_OBJS := $(QUICK_C_FILES:.c=.o)
85 mmeineke 494 QUICK_OBJS := $(QUICK_C_OBJS)
86 gezelter 444
87 mmeineke 494 SYSBUILD_C_OBJS := $(SYSBUILD_C_FILES:.c=.o)
88     SYSBUILD_CXX_OBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
89     SYSBUILD_OBJS := $(SYSBUILD_C_OBJS) $(SYSBUILD_CXX_OBJS)
90    
91 gezelter 444 DIR:=MPIobj
92 mmeineke 494 QUICK_C_MPIOBJS := $(QUICK_C_FILES:.c=.o)
93     QUICK_MPIOBJS := $(QUICK_C_MPIOBJS)
94 gezelter 444
95 mmeineke 494 SYSBUILD_C_MPIOBJS := $(SYSBUILD_C_FILES:.c=.o)
96     SYSBUILD_CXX_MPIOBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
97     SYSBUILD_MPIOBJS := $(SYSBUILD_C_MPIOBJS) $(SYSBUILD_CXX_MPIOBJS)
98    
99 gezelter 444 LIBSUBDIRS = \
100     obj \
101     MPIobj
102    
103 mmeineke 494 all : Make.dep $(QUICKLATE) $(SYSBUILD)
104 gezelter 444
105     depend: Make.dep
106    
107 mmeineke 494 quickLate$(EXE) : $(QUICK_OBJS) $(BASS_LIB) $(MD_LIB)
108     $(CC) $(CFLAGS) $(QUICK_OBJS) -o $@ $(QUICKLATE_LDFLAGS) $(QUICKLATE_LDADD)
109 gezelter 444
110 mmeineke 494 sysBuild$(EXE) : $(SYSBUILD_OBJS) $(BASS_LIB) $(MD_LIB)
111     $(CXX) $(CXXFLAGS) $(SYSBUILD_OBJS) -o $@ $(SYSBUILD_LDFLAGS) $(SYSBUILD_LDADD)
112    
113     install : $(QUICKLATE) $(SYSBUILD)
114 gezelter 444 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
115     $(INSTALL_PROGRAM) -s $(QUICKLATE) $(OOPSE_HOME)/bin/$(QUICKLATE)
116 mmeineke 494 $(INSTALL_PROGRAM) -s $(SYSBUILD) $(OOPSE_HOME)/bin/$(SYSBUILD)
117 gezelter 444
118 mmeineke 494
119 gezelter 444 tests : dummy
120    
121     $(OOPSE_HOME)/bin/$(QUICKLATE) : $(QUICKLATE)
122     $(MAKE) install
123    
124 mmeineke 494 $(OOPSE_HOME)/bin/$(SYSBUILD) : $(SYSBUILD)
125     $(MAKE) install
126    
127     links : $(OOPSE_HOME)/bin/$(QUICKLATE) $(OOPSE_HOME)/bin/$(SYSBUILD)
128 gezelter 444 $(MKINSTALLDIRS) $(PREFIX)/bin
129     cd $(PREFIX)/bin; $(RM) $(QUICKLATE); $(LN_S) $(OOPSE_HOME)/bin/$(QUICKLATE) $(QUICKLATE)
130 mmeineke 494 cd $(PREFIX)/bin; $(RM) $(SYSBUIILD); $(LN_S) $(OOPSE_HOME)/bin/$(SYSBUILD) $(SYSBUILD)
131 gezelter 444
132     clean : dummy
133     for i in $(LIBSUBDIRS); do \
134     (cd $$i; $(RM) *.o) || exit 1; \
135     done
136 mmeineke 495 $(RM) $(QUICKLATE) $(SYSBUILD) *.o *~ Make.temp
137 gezelter 444
138     distclean : dummy
139     for i in $(LIBSUBDIRS); do \
140     (cd $$i; $(RM) *.o) || exit 1; \
141     done
142     $(RM) $(QUICKLATE) *.o *~ Make.temp Make.dep
143    
144     devclean : distclean
145    
146 mmeineke 494 Make.dep : $(C_CXX_SRCS)
147 gezelter 444 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
148 mmeineke 494 $(CC) $(DEPFLAGS) -MM $(C_CXX_SRCS) \
149 gezelter 444 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
150     cat Make.temp | sed 's/^/obj\//' >> Make.dep
151     cat Make.temp | sed 's/^/MPIobj\//' >> Make.dep
152     $(RM) Make.temp
153    
154 mmeineke 494 tags : $(C_CXX_SRCS)
155     ctags $(C_CXX_SRCS)
156 gezelter 444
157     dummy :
158    
159     # DO NOT DELETE
160     include Make.dep