# #************************************************************************ # AMBER ** # ** # Copyright (c) 1986, 1991, 1995, 1997, 1999 ** # Regents of the University of California ** # All Rights Reserved. ** # ** # This software provided pursuant to a license agreement containing ** # restrictions on its disclosure, duplication, and use. This software ** # contains confidential and proprietary information, and may not be ** # extracted or distributed, in whole or in part, for any purpose ** # whatsoever, without the express written permission of the authors. ** # This notice, and the associated author list, must be attached to ** # all copies, or extracts, of this software. Any additional ** # restrictions set forth in the license agreement also apply to this ** # software. ** #************************************************************************ # # Makefile for Amber 10 SANDER # include ../config_amber.h # Sander Fortran source files are free format LOCALFLAGS = $(FREEFORMAT_FLAG) SHELL=/bin/sh VPATH= NCSU_OBJECTS = \ mt19937.o ncsu-abmd-hooks.o ncsu-bbmd-ctxt.o ncsu-bbmd-hooks.o \ ncsu-cftree.o ncsu-colvar-math.o ncsu-colvar-type.o ncsu-colvar-utils.o \ ncsu-colvar.o ncsu-constants.o ncsu-cv-ANGLE.o ncsu-cv-DISTANCE.o \ ncsu-cv-HANDEDNESS.o ncsu-cv-MULTI_RMSD.o ncsu-cv-N_OF_BONDS.o \ ncsu-cv-N_OF_STRUCTURES.o ncsu-cv-R_OF_GYRATION.o ncsu-cv-TORSION.o \ ncsu-cv-LCOD.o ncsu-cv-COS_OF_DIHEDRAL.o ncsu-cv-PUCK5_Q.o \ ncsu-cv-PUCK5_PHI.o ncsu-cv-PUCK6_Q.o ncsu-cv-PUCK6_THETA.o \ ncsu-cv-PUCK6_PHI.o ncsu-lexer.o ncsu-parser.o ncsu-pmd-hooks.o \ ncsu-rmsd.o ncsu-sander-hooks.o ncsu-sander-proxy.o ncsu-smd-hooks.o \ ncsu-umbrella.o ncsu-utils.o ncsu-value.o EVB_BASE = evb_vars.o evb_mathf.o evb_init.o evb_bcast.o \ evb_dealloc.o check_input.o evb_io.o evb_keywrd.o \ exchange_gauss.o exchange_warshel.o react_flux_init.o \ react_path.o react_flux.o kappa_keck.o \ schlegel_dg.o schlegel_full.o schlegel_diis.o schlegel_gmres.o \ schlegel_gbasis.o schlegel_pgbasis.o \ bnd_strtch.o ang_bend.o dihed_tors.o torinternal.o \ evb_gfchk.o bmat_inv.o bmat_grad.o \ unitv.o crossv.o cart2internal.o wdc_bmat.o select_coord.o \ schlegel_uff.o schlegel_poh_uff.o schlegel_poh_irc.o schlegel_hcn_cart.o \ schlegel_hcn_int_irc.o schlegel_hcn_cart_irc.o evb_outoptions.o EVB_DEBUG = evb_2stdebug.o egap_umb_2stdebug.o dg_debug.o \ evb_io_debug.o bmat_debug.o bmat_inv_debug.o evb_io_debug2.o \ morse_anal2num.o xwarshel_anal2num.o xgauss_anal2num.o \ vdw_anal2num.o rcdbonds_anal2num.o rcbond_anal2num.o \ dg_grad_anal2num.o EVBOBJ = $(EVB_BASE) $(EVB_DEBUG) evb_input.o evb_alloc.o evb_matrix.o \ morsify.o mod_vdw.o evb_ntrfc.o evb_force.o out_evb.o \ dbonds_anal2num.o bond_anal2num.o evb_umb.o evb_umb_primitive.o EVBPIMD = $(EVB_BASE) $(EVB_DEBUG) evb_input.LES.o evb_alloc.LES.o evb_matrix.LES.o \ morsify.LES.o mod_vdw.LES.o evb_ntrfc.LES.o evb_force.LES.o \ evb_pimd_init.LES.o out_evb.LES.o dbonds_anal2num.o bond_anal2num.o \ evb_umb.LES.o evb_umb_primitive.LES.o AMOEBAOBJ= \ amoeba_valence.o amoeba_multipoles.o amoeba_recip.o amoeba_interface.o\ amoeba_direct.o amoeba_mdin.o amoeba_adjust.o amoeba_self.o\ amoeba_vdw.o amoeba_induced.o amoeba_runmd.o APBSOBJ= \ apbs_vars.o apbs.o QMOBJ= \ qm_mm.o qm_ewald.o qm2_variable_solvent.o MMOBJ= constants.o memory_module.o stack.o \ nose_hoover.o nose_hoover_vars.o nose_hoover_init.o \ qmmm_module.o trace.o lmod.o decomp.o \ icosasurf.o egb.o remd.o findmask.o pb_force.o pb_exmol.o pb_mpfrc.o pb_direct.o\ pb_list.o np_force.o sa_driver.o relax_mat.o nmr.o multitmd.o \ multisander.o sander.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \ printe.o runmin.o rdparm.o \ mdread.o locmem.o runmd.o getcor.o degcnt.o decnvh.o \ fastwt.o parallel.o shake.o ene.o mdwrit.o minrit.o \ set.o dynlib.o mdfil.o nmlsrc.o \ ew_force.o ew_setup.o ew_box.o ew_bspline.o\ ew_fft.o nonbond_list.o short_ene.o ew_recip.o pcshift.o align.o csa.o \ rfree.o rgroup.o amopen.o \ debug.o ew_recip_reg.o ew_handle_dips.o ew_dipole_recip.o \ mexit.o new_time.o extra_pts.o thermo_int.o \ matinv.o assert.o mmtsb.o mmtsb_client.o erfcfun.o \ is_init.o constantph.o prn_dipoles.o ips.o sglds.o iwrap2.o \ $(AMOEBAOBJ) bintraj.o \ spatial_recip.o spatial_fft.o parms.o softcore.o molecule.o xref.o dssp.o \ charmm.o FULLPIMDOBJ = pimd_vars.o pimd_force.o pimd_init.o cmd_vars.o cmd_matrix.o PARTPIMDOBJ = pimd_vars.o pimd_force.LES.o pimd_init.LES.o cmd_vars.o cmd_matrix.LES.o PUPILOBJ= constants.o memory_module.o stack.o \ nose_hoover.o nose_hoover_vars.o nose_hoover_init.o \ qmmm_module.o trace.o lmod.o decomp.o \ pupildata.o icosasurf.o egb.o findmask.o pb_force.o pb_exmol.o \ pb_mpfrc.o pb_direct.o\ pb_list.o np_force.o sa_driver.o relax_mat.o nmr.o multitmd.o \ multisander.o sander.PUPIL.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \ printe.PUPIL.o runmin.o force.PUPIL.o rdparm.o \ mdread.o locmem.o runmd.o getcor.o degcnt.o decnvh.o \ fastwt.o parallel.o shake.o ene.o mdwrit.o minrit.o \ set.o dynlib.PUPIL.o mdfil.PUPIL.o nmlsrc.o \ ew_force.o ew_setup.o ew_box.o ew_bspline.o\ ew_fft.o nonbond_list.o short_ene.o ew_recip.o pcshift.o align.o csa.o \ rfree.o rgroup.o amopen.o \ debug.o ew_recip_reg.o ew_handle_dips.o ew_dipole_recip.o \ mexit.PUPIL.o new_time.o extra_pts.o thermo_int.o \ matinv.o assert.o mmtsb.o mmtsb_client.o erfcfun.o \ is_init.o constantph.o prn_dipoles.o ips.o sglds.o iwrap2.o \ $(AMOEBAOBJ) bintraj.o \ spatial_recip.o spatial_fft.o parms.o softcore.o molecule.o xref.o \ putvalues.o fixport.o dssp.o charmm.o LSCIVROBJ = lscivr_vars.o lsc_init.o lsc_xp.o LESOBJ= memory_module.o stack.o \ constants.o nose_hoover.o nose_hoover_vars.o nose_hoover_init_LES.o \ qmmm_module.o trace.o lmod.o decomp.o icosasurf.o \ egb.LES.o remd.LES.o findmask.o pb_force.o pb_exmol.o pb_mpfrc.o \ pb_direct.o \ pb_list.o np_force.o sa_driver.o relax_mat.o nmr.LES.o multitmd.o \ multisander.LES.o sander.LES.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \ printe.o runmin.o nonbond_list.LES.o force.LES.o rdparm.LES.o \ mdread.LES.o locmem.LES.o runmd.LES.o getcor.o degcnt.LES.o decnvh.o \ fastwt.o parallel.LES.o shake.o ene.LES.o mdwrit.o minrit.o \ set.o dynlib.LES.o mdfil.o nmlsrc.o \ ew_force.LES.o ew_setup.LES.o ew_box.o ew_bspline.o\ ew_fft.o short_ene.LES.o ew_recip.LES.o pcshift.o \ align.o csa.o rfree.o rgroup.o \ amopen.o \ debug.o ew_recip_reg.o ew_handle_dips.o ew_dipole_recip.o \ mexit.o new_time.o extra_pts.LES.o thermo_int.o matinv.o assert.o \ mmtsb.o mmtsb_client.o erfcfun.o \ is_init.o constantph.o prn_dipoles.o ips.o sglds.o iwrap2.o \ $(QMOBJ) $(AMOEBAOBJ) bintraj.o \ spatial_recip.o spatial_fft.o parms.o softcore.o molecule.o xref.o dssp.o \ charmm.o # Xray sources are incomplete, but should not interfere with normal SANDER function. # Add the following to ../config_amber.h to build new X-ray sources: # # AMBERBUILDFLAGS=-D_XRAY # XRAY_OBJS = \ # xray_fftpack.o xray_fourier.o xray_globals.o xray_interface.o \ # xray_real_space.o xray_reciprocal_space.o xray_utils.o RISMOBJ = constants.o memory_module.o stack.o \ nose_hoover.o nose_hoover_vars.o nose_hoover_init.o \ qmmm_module.o trace.o lmod.o decomp.o \ icosasurf.o egb.o remd.o findmask.o pb_force.o pb_exmol.o pb_mpfrc.o pb_direct.o\ pb_list.o np_force.o sa_driver.o relax_mat.o nmr.o multitmd.o \ multisander.o sander.RISM.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \ printe.RISM.o runmin.o rdparm.RISM.o \ mdread.RISM.o locmem.o runmd.RISM.o getcor.o degcnt.o decnvh.o \ fastwt.o parallel.o shake.o ene.o mdwrit.o minrit.o \ set.o dynlib.RISM.o mdfil.RISM.o nmlsrc.o \ ew_force.o ew_setup.o ew_box.o ew_bspline.o\ ew_fft.o nonbond_list.o short_ene.o ew_recip.o pcshift.o align.o csa.o \ rfree.o rgroup.o amopen.o \ debug.o ew_recip_reg.o ew_handle_dips.o ew_dipole_recip.o \ mexit.o new_time.RISM.o extra_pts.o thermo_int.o \ matinv.o assert.o mmtsb.o mmtsb_client.o erfcfun.o \ is_init.o constantph.o prn_dipoles.o ips.o sglds.o iwrap2.o \ $(AMOEBAOBJ) bintraj.o \ spatial_recip.o spatial_fft.o parms.o softcore.o molecule.o xref.o dssp.o \ charmm.o install: serial SERIALPROGS = sander$(SFX) sander.LES$(SFX) ambmask$(SFX) serial: depend checkserconf $(SERIALPROGS) /bin/mv $(SERIALPROGS) ../../exe PARALLELPROGS = sander.MPI$(SFX) sander.LES.MPI$(SFX) parallel: depend checkparconf $(PARALLELPROGS) /bin/mv $(PARALLELPROGS) ../../exe all_serial_programs: $(SERIALPROGS) $(MAKE) sander.PUPIL$(SFX) $(MAKE) sander.APBS$(SFX) #--------------------------------------------------------------------------- sander$(SFX): $(MMOBJ) $(QMOBJ) $(FULLPIMDOBJ) \ $(LSCIVROBJ) qm_div.o force.o syslib \ nxtsec lapack blas lmod $(INCDIVCON) checkserconf \ $(NCSU_OBJECTS) $(XRAY_OBJS) libsqm $(LOAD) -o sander$(SFX) $(MMOBJ) $(QMOBJ) \ $(FULLPIMDOBJ) $(LSCIVROBJ) qm_div.o force.o \ ../lmod/lmod.a $(LIBDIVCON) $(NCSU_OBJECTS) $(XRAY_OBJS) \ $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NETCDFLIB) $(LOADLIB) #--------------------------------------------------------------------------- sander.RISM$(SFX): $(RISMOBJ) $(QMOBJ) ../../lib/librism.a \ $(FULLPIMDOBJ) $(LSCIVROBJ) qm_div.o force.RISM.o syslib \ nxtsec lapack blas lmod $(INCDIVCON) checkserconf \ $(NCSU_OBJECTS) $(XRAY_OBJS) ../../lib/libdfftw.a pmemd_clib $(LOAD) -o ../../bin/sander.RISM$(SFX) $(RISMOBJ) $(QMOBJ) \ $(FULLPIMDOBJ) $(LSCIVROBJ) qm_div.o force.RISM.o ../pmemd/src/pmemd_clib.o \ ../../lib/librism.a ../lmod/lmod.a $(LIBDIVCON) \ $(NCSU_OBJECTS) $(XRAY_OBJS) \ $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NETCDFLIB) \ ../../lib/libdrfftw.a ../../lib/libdfftw.a $(LOADLIB) #--------------------------------------------------------------------------- sander.RISM.MPI$(SFX): $(RISMOBJ) $(QMOBJ) $(FULLPIMDOBJ) \ $(LSCIVROBJ) $(EVBOBJ) qm_div.o force.RISM.o \ syslib nxtsec lapack blas lmod checkparconf $(NCSU_OBJECTS) \ pmemd_clib ../../lib/libdfftw.a $(LOAD) -o ../../bin/sander.RISM.MPI$(SFX) $(RISMOBJ) $(QMOBJ) \ $(FULLPIMDOBJ) $(LSCIVROBJ) $(EVBOBJ) qm_div.o force.RISM.o ../pmemd/src/pmemd_clib.o \ ../../lib/librism.a ../lmod/lmod.a $(LIBDIR)/libsqm.a \ ../lapack/lapack.a ../blas/blas.a ../lib/nxtsec.o \ ../lib/sys.a $(NCSU_OBJECTS) $(NETCDFLIB) $(LOADLIB) \ ../../lib/libdrfftw_mpi.a ../../lib/libdfftw_mpi.a \ ../../lib/libdrfftw.a ../../lib/libdfftw.a #--------------------------------------------------------------------------- sander.MPI$(SFX): $(MMOBJ) $(QMOBJ) $(FULLPIMDOBJ) \ $(LSCIVROBJ) $(EVBOBJ) qm_div.o force.o \ syslib nxtsec lapack blas lmod checkparconf $(NCSU_OBJECTS) $(LOAD) -o sander.MPI$(SFX) $(MMOBJ) $(QMOBJ) \ $(FULLPIMDOBJ) $(LSCIVROBJ) $(EVBOBJ) qm_div.o force.o \ ../lmod/lmod.a $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NCSU_OBJECTS) $(NETCDFLIB) $(LOADLIB) #--------------------------------------------------------------------------- sander.PUPIL$(SFX): $(PUPILOBJ) $(QMOBJ) $(FULLPIMDOBJ) \ $(LSCIVROBJ) qm_div.o syslib \ nxtsec lapack blas lmod $(INCDIVCON) checkserconf $(NCSU_OBJECTS) $(LOAD) -o sander.PUPIL$(SFX) $(PUPILOBJ) $(QMOBJ) $(FULLPIMDOBJ) \ qm_div.o $(LSCIVROBJ) \ ../lmod/lmod.a $(LIBDIVCON) \ $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NCSU_OBJECTS) $(NETCDFLIB) $(LOADLIB) \ -lrt -lm -lc -L${PUPIL_PATH}/lib -lPUPIL -lPUPILBlind #--------------------------------------------------------------------------- sander.LES$(SFX): $(LESOBJ) $(PARTPIMDOBJ) syslib nxtsec lapack blas lmod \ $(LSCIVROBJ) $(NCSU_OBJECTS) $(XRAY_OBJS) checkserconf $(LOAD) -o sander.LES$(SFX) $(LESOBJ) $(PARTPIMDOBJ) $(LSCIVROBJ) \ ../lmod/lmod.a $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NCSU_OBJECTS) $(XRAY_OBJS) $(NETCDFLIB) $(LOADLIB) #--------------------------------------------------------------------------- sander.LES.MPI$(SFX): $(LESOBJ) $(EVBPIMD) $(PARTPIMDOBJ) syslib nxtsec lapack blas lmod \ $(LSCIVROBJ) $(NCSU_OBJECTS) checkparconf $(LOAD) -o sander.LES.MPI$(SFX) $(LESOBJ) $(EVBPIMD) $(PARTPIMDOBJ) $(LSCIVROBJ) \ ../lmod/lmod.a $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NCSU_OBJECTS) $(NETCDFLIB) $(LOADLIB) #--------------------------------------------------------------------------- sander.APBS$(SFX): $(APBSOBJ) $(MMOBJ) $(QMOBJ) \ $(LSCIVROBJ) $(FULLPIMDOBJ) $(NCSU_OBJECTS) \ qm_div.o force.o syslib \ nxtsec lapack blas lmod $(INCDIVCON) checkserconf $(LOAD) -o sander.APBS$(SFX) $(APBSOBJ) $(MMOBJ) $(QMOBJ) \ $(FULLPIMDOBJ) $(LSCIVROBJ) \ qm_div.o force.o \ -L$(APBS_LIB) -liapbs -lapbsmainroutines -lapbs -lmaloc \ ../lmod/lmod.a $(LIBDIVCON) \ $(LIBDIR)/libsqm.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a $(NCSU_OBJECTS) $(NETCDFLIB) $(LOADLIB) #--------------------------------------------------------------------------- ambmask$(SFX): ambmask.o findmask.o amopen.o mexitl nxtsec $(LOAD) -o ambmask$(SFX) ambmask.o findmask.o \ amopen.o ../lib/mexit.o ../lib/nxtsec.o $(LOADLIB) #-----------LIBS syslib: cd ../lib; $(MAKE) sys.a lapack: cd ../lapack; $(MAKE) blas: cd ../blas; $(MAKE) nxtsec: cd ../lib; $(MAKE) nxtsec.o ../../lib/libdfftw.a: ( cd ../fftw-2.1.5 && $(MAKE) install ) pmemd_clib: cd ../pmemd/src; $(CC) $(CFLAGS) $(CPPFLAGS) -c pmemd_clib.c mexitl: cd ../lib; $(MAKE) mexit.o lmod: cd ../lmod; $(MAKE) cd ../lmod; cp lmodprmtop ../../exe; chmod 0755 ../../exe/lmodprmtop divcon: cd ../dcqtp; $(MAKE) libdivcon.a libsqm: cd ../sqm; $(MAKE) libsqm librism: cd ../rism && $(MAKE) ../../lib/librism.a netcdf.mod: cd ../netcdf/src; $(MAKE) install cp ../netcdf/include/*.mod . cp ../netcdf/bin/ncdump$(SFX) ../../exe clean: /bin/rm -f $(SERIALPROGS) $(PARALLELPROGS) /bin/rm -f *.o /bin/rm -f _*.f /bin/rm -f *.mod /bin/rm -f *.d /bin/rm -f *nbflag cd ../dcqtp; $(MAKE) clean depend: ./makedepend > depend checkparconf:: ./checkparconf checkserconf:: ./checkserconf #----------HEADER DEPENDENCIES (constructed from ./makedepend > depend) include depend