CCAFE_HOME=../../.. # Here we must contend with two kinds of .o file -- # those built normally and those built for use in # dynamic libraries. To that end we delete .o files # built for DL as soon as we've converted them to .so. zeroth: first include $(CCAFE_HOME)/Makefile.Rules include $(CCAFE_HOME)/MakeIncl.CCAFE_Component #OTHERFLAGS = -D_DBG_ILOOP -D_DBG_PLATE1 LOCALFLAGS= $(OTHERFLAGS) WRAPPERFLAGS= -w WRAPPERFLAGS= %.o : %.C $(CXX) -c $(CXXFLAGS) $< %.o : %.cxx $(CXX) -c $(CXXFLAGS) $(LOCALFLAGS) $< %.i : %.cxx -$(RM) $@ $(CXX) $(CPPFLAGS) $(LOCALFLAGS) $< | egrep -v ^$$ |egrep -v '^# ' > $@ %.class : %.java $(JAVAC) $(JAVAFLAGS) $< %.h : %.class $(JAVAH) $(JAVAHFLAGS) $(<:%.class=%) JAVASRC = # static link stuff CXXDLNONESRC= # stuff built with or without a parallel environment. CXXSRC = $(CXXDLSTRICTSRC) $(CXXDLLOOSESRC) $(CXXDLNONESRC) LSUFFIX=$(VER_SUFFIX)$(PROGRAM_SUFFIX)$(CCAFE_SHLIB_SUFFIX) CXXOBJ = $(CXXSRC:%.cxx=%.o) CXXDSSOBJ = $(CXXDLSTRICTSRC:%.cxx=%$(LSUFFIX)) CXXDLSOBJ = $(CXXDLLOOSESRC:%.cxx=%$(LSUFFIX)) # # These extra libraries are needed by SILOON on Debian, otherwise they # are not needed (but won't hurt, other than adding a little to .so size) # ifeq "$(PYTHON_SCRIPTING)" "1" EXTRA_LIBS = \ $(CCAFE_PLIBS) \ $(CCAFE_CXX_ROOT)/dc/component/libcomponent.a \ $(CCAFE_CXX_ROOT)/dc/framework/libdc_fwk.a \ $(CCAFE_CXX_ROOT)/dc/distributed/libdistributed.a endif $(CXXDLSOBJ) : %$(CCAFE_SHLIB_SUFFIX) : %.cxx -$(RM) $@ $*.o $*_wrapper.cxx ./genDLWrapperSloppy $* > $*_wrapper.cxx ./genDLIndex $@ create_$* $* > $*.cca $(CXX) -c $(CXXFLAGS) $(LOCALFLAGS) $(CCAFE_SHLIB_CFLAGS) $< $(CXX) -c $(CXXFLAGS) $(LOCALFLAGS) $(CCAFE_SHLIB_CFLAGS) \ $(WRAPPERFLAGS) $*_wrapper.cxx $(CCAFE_SHLIB_LD) $(CCAFE_SHLIB_LDFLAGS) -o $@ $*.o $*_wrapper.o \ $(EXTRA_LIBS) -$(RM) $*.o $*_wrapper.o $(CXXDSSOBJ) : %$(CCAFE_SHLIB_SUFFIX) : %.cxx -$(RM) $@ $*.o $*_wrapper.cxx ./genDLWrapperStrict $* > $*_wrapper.cxx ./genDLIndex $@ create_$* $* > $*.cca $(CXX) -c $(CXXFLAGS) $(LOCALFLAGS) $(CCAFE_SHLIB_CFLAGS) $< $(CXX) -c $(CXXFLAGS) $(LOCALFLAGS) $(CCAFE_SHLIB_CFLAGS) \ $(WRAPPERFLAGS) $*_wrapper.cxx $(CCAFE_SHLIB_LD) $(CCAFE_SHLIB_LDFLAGS) -o $@ $*.o $*_wrapper.o -$(RM) $*.o $*_wrapper.o LIB= libretired.a first all: lib dllib @echo done $(CXXOBJ) $(JAVACLS) $(JNIHDR) lib : allobj ar $(ARFLAGS) $(LIB) $(CXXOBJ) $(NEWOBJ) $(RANLIB) $(LIB) dllib: $(CXXDSSOBJ) $(CXXDLSOBJ) allobj : $(CXXOBJ) $(JAVACLS) $(JNIHDR) $(NEWOBJ) new: $(NEWOBJ) Eyes.o : Eyes.cxx Eyes.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $< Eyes2.o : Eyes2.cxx Eyes2.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ESI_INC) $< Eyes2.i : Eyes2.cxx -$(RM) $@ $(CXX) -E $(CPPFLAGS) $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ESI_INC) -I/usr/local/mpich/build/LINUX/ch_p4/include $< | egrep -v ^$$ |egrep -v '^# ' > $@ Eyes2.j : Eyes2.cxx -$(RM) $@ $(CXX) -E $(CPPFLAGS) $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ESI_INC) -I/usr/local/mpich/build/LINUX/ch_p4/include $< | egrep -v '^ $$' | egrep -v '^$$' > $@ Plate1.o : Plate1.cxx Plate1.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $< Plate2.o : Plate2.cxx Plate2.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $< LinearSystemIsis.o : LinearSystemIsis.cxx LinearSystemIsis.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ISIS_INC) $< DiagonalModel.o : DiagonalModel.cxx DiagonalModel.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $< DataHolder.o : DataHolder.cxx DataHolder.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ESI_INC) $(ESICCA_INC) $(ISIS_INC) $(SNLCPP_INC) $< Diffusion.o : Diffusion.cxx Diffusion.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ESI_INC) $(ESICCA_INC) $(ISIS_INC) $(SNLCPP_INC) $< Diffusion2.o : Diffusion2.cxx Diffusion2.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(CCA_VIS) $(ESI_INC) $(ESICCA_INC) $(ISIS_INC) $(SNLCPP_INC) $< Integrator2.o : Integrator2.cxx Integrator2.h $(CCAFE_HOME)/Makefile.Rules $(MPICXX) -c $(CXXFLAGS) $(CCA_PLLFLAGS) $(ESI_INC) $< $(CXXOBJ) : $(CXXSRC) clean: $(RM) -f $(CXXOBJ) $(LIB) $(JAVACLS) $(JNIHDR) $(NEWOBJ) *_wrapper.cxx *.so *.cca *_wrapper.o *.i depend: $(DEPEND) $(CXXFLAGS) $(LOCALFLAGS) $(CXXSRC) $(NEWSRC) depend-sys: $(DEPENDSYS) $(CXXFLAGS) $(LOCALFLAGS) $(CXXSRC) $(NEWSRC) ifneq "x$(TARGET)" "xclean" ifneq "x$(TARGET)" "xdistclean" include Makefile.depends endif endif