1
2# directories
3interface_dir=@abs_top_srcdir@/include
4objdir=@objdir@
5prefix=@prefix@
6exec_prefix=@exec_prefix@
7REPO=$(objdir)/repo
8
9# cca-chem-generic
10CCA_CHEM_REPO=@CCA_CHEM_REPO@
11CCA_CHEM_INCLUDE=@CCA_CHEM_INCLUDE@
12CCA_CHEM_LIB=@CCA_CHEM_LIB@
13
14
15# specs
16CCA_SPEC_BABEL_INCLUDE=@CCA_SPEC_BABEL_INCLUDE@
17CCA_SPEC_BABEL_LIB=@CCA_SPEC_BABEL_LIB@
18CCA_SPEC_BABEL_SHARE=@CCA_SPEC_BABEL_SHARE@
19
20# babel
21BABEL_BIN=@BABEL_BIN@
22BABEL=$(BABEL_BIN)/babel
23BABEL_INCLUDE=@BABEL_INCLUDE@
24BABEL_LIB=@BABEL_LIB@
25BABEL_FLAGS= -E --suppress-timestamp -R$(CCA_SPEC_BABEL_SHARE)/xml -R$(CCAFE_SHARE)/xml -R$(CCA_CHEM_REPO) -R$(objdir)/repo
26
27#ccafe
28CCAFE_INCLUDE=@CCAFE_INCLUDE@
29CCAFE_SHARE=@CCAFE_SHARE@
30CCA_SPEC_CLASSIC_INCLUDE=@CCA_SPEC_CLASSIC_INCLUDE@
31
32# libtool
33LIBTOOL=@BABEL_LIBTOOL@
34LTCOMP=$(LIBTOOL) --mode=compile
35LTLINK=$(LIBTOOL) --mode=link
36LTINST=$(LIBTOOL) --mode=install
37LTLINKLIBOPTS = -rpath $(prefix)/lib
38LTLINKBINOPTS =
39
40# compilers and options
41CPPFLAGS += -I./ -I$(objdir)/include -I$(interface_dir) \
42            -I$(BABEL_INCLUDE) -I$(BABEL_INCLUDE)/cxx -I$(CCA_SPEC_BABEL_INCLUDE) \
43            -I$(CCA_SPEC_CLASSIC_INCLUDE) -I$(CCAFE_INCLUDE) -I$(CCA_CHEM_INCLUDE)
44ifeq (@CCAFE_MPI_ENABLE@,yes)
45  CPPFLAGS += -I@CCAFE_MPI_INCLUDE@ -DHAVE_CCAFE_MPI
46endif
47CC=@BABEL_CC@
48CFLAGS=@BABEL_CFLAGS@
49CXX=@BABEL_CXX@
50CXXFLAGS=@BABEL_CXXFLAGS@
51
52# install options
53INSTALL = /usr/bin/install
54INSTALLDIROPT = -d -m 0755
55INSTALLLIBOPT = -m 0755
56INSTALLBINOPT = -m 0755
57INSTALLFILEOPT = -m 0644
58
59# idl files
60SIDL_FILES = @abs_top_srcdir@/sidl/chemistry-nwchem.sidl
61
62# so we don't have to include babel.make
63FILE_BASES := $(shell echo $(BABEL_TARGETS) | sed s/\\./\\_/g )
64IORHDRS = $(FILE_BASES:%=%_IOR.h)
65STUBHDRS = $(FILE_BASES:%=%.hh)
66STUBSRCS = $(FILE_BASES:%=%.cc)
67ifeq ($(CLIENT_OR_SERVER),server)
68  IORSRCS = $(FILE_BASES:%=%_IOR.c)
69  IMPLHDRS = $(FILE_BASES:%=%_Impl.hh)
70  IMPLSRCS = $(FILE_BASES:%=%_Impl.cc)
71  SKELSRCS = $(FILE_BASES:%=%_Skel.cc)
72endif
73ENUM_BASES := $(shell echo $(BABEL_ENUMS) | sed s/\\./\\_/g )
74STUBHDRS += $(ENUM_BASES:%=%.hh)
75IORHDRS  += $(ENUM_BASES:%=%_IOR.h)
76PACKAGE_BASES := $(shell echo $(BABEL_PACKAGES) | sed s/\\./\\_/g )
77STUBHDRS += $(PACKAGE_BASES:%=%.hh)
78IORHDRS += $(PACKAGE_BASES:%=%_IOR.h)
79
80# used in Makefile.objs
81GEN_SRCS = $(IORHDRS) $(IORSRCS) $(STUBHDRS) $(STUBSRCS) \
82           $(IMPLHDRS) $(IMPLSRCS) $(SKELSRCS)
83CXX_SRCS = $(IMPLSRCS) $(SKELSRCS) $(STUBSRCS) $(EXTRA_CXX_SRCS)
84CC_SRCS = $(IORSRCS)
85OBJS = $(CXX_SRCS:%.cc=%.lo) $(CC_SRCS:%.c=%.lo)
86INCLUDES = $(STUBHDRS) $(IORHDRS) $(EXTRA_INCLUDES)
87
88ifeq ($(CLIENT_OR_SERVER),client)
89  BABEL_ARGS = --client=C++
90else
91  BABEL_ARGS = --server=C++
92endif
93
94
95
96# used in Makefile.libs
97CLIENT_OBJDIRS = $(CLIENT_PACKAGES:%=../%/client/cxx)
98SERVER_OBJDIRS = $(SERVER_PACKAGES:%=../%/server/cxx)
99CLIENT_OBJS = $(shell cat ./client-object-list)
100SERVER_OBJS = $(shell cat ./server-object-list)
101LIBS = -L$(BABEL_LIB) -Wl,-rpath,$(BABEL_LIB) -lsidl \
102       -L$(CCA_SPEC_BABEL_LIB) -Wl,-rpath,$(CCA_SPEC_BABEL_LIB) -lcca \
103       -L$(CCA_CHEM_LIB) -WL, -rpath,$(CCA_CHEM_LIB) -lccachem_cxx_server -lccachem_cxx_client
104
105NWCHEM_LIBS = -L$(NWCHEM_TOP)/lib/$(NWCHEM_TARGET) -L$(NWCHEM_TOP)/src/tools/lib/$(NWCHEM_TARGET) $(NWCHEM_TOP)/src/stubs.o -lnwchem-sumo -lpario -lglobal -lpeigs -lma -larmci -L$(MPI_LIB) -ltcgmsg-mpi -lmpich -llapack -lblas -lm
106
107#include $(NWCHEM_TOP)/src/cca/makefile.h
108#NWCHEM_LIBS = -L$(NWCHEM_TOP)/lib/$(NWCHEM_TARGET) -L$(NWCHEM_TOP)/src/tools/lib/$(NWCHEM_TARGET) $(NWCHEM_TOP)/src/stubs.o -lnwctask $(NWCHEM_CORE_LIBS)
109
110
111#NWCHEM_LIBS = -L$(NWCHEM_TOP)/lib/$(NWCHEM_TARGET) -L$(NWCHEM_TOP)/src/tools/lib/$(NWCHEM_TARGET) $(NWCHEM_TOP)/src/stubs.o -lgeninterface -lnwctask -lccsd -lmcscf -lselci -lmp2 -lmoints -lstepper -ldriver -ldftgrad -lnwdft -lgradients -lcphf -lesp -lddscf -lguess -lhessian -lvib -lnwcutil -lrimp2 -lproperty -lnwints -lprepar -lnwmd -lnwpw -lpaw -lpspw -lband -lnwpwlib -lcafe -lspace -lanalyze -lqhop -lpfft -ldplot -ldrdy -lqmmm -lqmd -lesp -letrans -ltddft -ltce -lcons -lperfm -lnwcutil -lpario -lglobal -lma -lpeigs -lperfm -lcons -lnwcutil -lnwctask -lperfm -llapack  -lblas -larmci -L/usr/local/mpich/lib  -ltcgmsg-mpi -lmpich  -lm
112
113EXTRA_LIBS = $(NWCHEM_LIBS)
114
115