ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/sysbuilder/Makefile
Revision: 683
Committed: Tue Aug 12 18:01:05 2003 UTC (21 years, 11 months ago) by chuckv
File size: 3530 byte(s)
Log Message:
commit makefile

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 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
22 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
23 DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC) $(MPI_INCLUDES) -I../../libBASS -I../../libmdtools
24 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
25
26
27 SYSBUILD=sysBuild$(EXE)
28
29 BASS_LIB=$(TOP)/libBASS/libBASS.a
30 BASS_MPI_LIB=$(TOP)/libBASS/libBASS_MPI.a
31 MD_LIB=$(TOP)/libmdtools/libmdtools.a
32 MD_MPI_LIB=$(TOP)/libmdtools/libmdtools_MPI.a
33 LIBS=$(BASS_LIB) $(MD_LIB)
34 MPI_LIBS=$(BASS_MPI_LIB) $(MD_MPI_LIB)
35
36 SYSBUILD_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB)
37 SYSBUILD_LDADD=-lmdtools -lBASS -lsprng $(FLIBS) $(FLIBS_EXTRA)
38
39 SRC_DIR := $(PWD)
40
41 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
42
43 obj/%.o: %.cpp
44 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
45
46 MPIobj/%.o: %.cpp
47 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
48
49 obj/%.o: %.c
50 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
51
52 MPIobj/%.o: %.c
53 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
54
55 # sysBuilder files
56
57 SYSBUILD_C_FILES = $(DIR)/cmdline.c
58 SYSBUILD_CXX_FILES = \
59 $(DIR)/sysBuild.cpp \
60 $(DIR)/bilayerSys.cpp \
61 $(DIR)/MoLocator.cpp \
62 $(DIR)/latticeBuilder.cpp \
63 $(DIR)/nanoBuilder.cpp
64
65 # the sources
66
67 DIR:=.
68
69 SYSBUILD_C_SRCS := $(SYSBUILD_C_FILES)
70 SYSBUILD_CXX_SRCS := $(SYSBUILD_CXX_FILES)
71 SYSBUILD_SRCS := $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
72
73 C_CXX_SRCS := $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
74
75 #the objects
76
77 DIR:=obj
78
79 SYSBUILD_C_OBJS := $(SYSBUILD_C_FILES:.c=.o)
80 SYSBUILD_CXX_OBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
81 SYSBUILD_OBJS := $(SYSBUILD_C_OBJS) $(SYSBUILD_CXX_OBJS)
82
83 DIR:=MPIobj
84
85 SYSBUILD_C_MPIOBJS := $(SYSBUILD_C_FILES:.c=.o)
86 SYSBUILD_CXX_MPIOBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
87 SYSBUILD_MPIOBJS := $(SYSBUILD_C_MPIOBJS) $(SYSBUILD_CXX_MPIOBJS)
88
89 LIBSUBDIRS = \
90 obj \
91 MPIobj
92
93 all : Make.dep $(SYSBUILD)
94
95 depend: Make.dep
96
97 sysBuild$(EXE) : $(SYSBUILD_OBJS) $(BASS_LIB) $(MD_LIB)
98 $(CXX) $(CXXFLAGS) $(SYSBUILD_OBJS) -o $@ $(SYSBUILD_LDFLAGS) $(SYSBUILD_LDADD)
99
100 install : $(SYSBUILD)
101 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
102 $(INSTALL_PROGRAM) -s $(SYSBUILD) $(OOPSE_HOME)/bin/$(SYSBUILD)
103
104
105 tests : dummy
106
107
108 $(OOPSE_HOME)/bin/$(SYSBUILD) : $(SYSBUILD)
109 $(MAKE) install
110
111 links : $(OOPSE_HOME)/bin/$(SYSBUILD)
112 $(MKINSTALLDIRS) $(PREFIX)/bin
113 cd $(PREFIX)/bin; $(LN_S) $(OOPSE_HOME)/bin/$(SYSBUILD) $(SYSBUILD)
114
115 clean : dummy
116 for i in $(LIBSUBDIRS); do \
117 (cd $$i; $(RM) *.o) || exit 1; \
118 done
119 $(RM) $(SYSBUILD) *.o *~ Make.temp
120
121 distclean : dummy
122 for i in $(LIBSUBDIRS); do \
123 (cd $$i; $(RM) *.o) || exit 1; \
124 done
125 $(RM) $(SYSBUILD) *.o *~ Make.temp Make.dep
126
127 devclean : distclean
128
129 Make.dep : $(C_CXX_SRCS)
130 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
131 $(CC) $(DEPFLAGS) -MM $(C_CXX_SRCS) \
132 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
133 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 $(RM) Make.temp
136
137 tags : $(C_CXX_SRCS)
138 ctags $(C_CXX_SRCS)
139
140 dummy :
141
142 # DO NOT DELETE
143 include Make.dep