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