ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/Makefile
Revision: 495
Committed: Mon Apr 14 19:52:00 2003 UTC (22 years, 3 months ago) by mmeineke
File size: 4164 byte(s)
Log Message:
 working on a system builder

File Contents

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