# # Copyright (c) 2008 Kristopher L. Kuhlman (kuhlman at hwr dot arizona dot edu) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # # Malama, B., A. Revil, and K.L. Kuhlman, 2009. A semi-analytical solution # for transient streaming potentials associated with confined aquifer # pumping tests, Geophysical Journal International, 176(3), 1007–1016. # http://dx.doi.org/10.1111/j.1365-246X.2008.04014.x # # Malama, B., K.L. Kuhlman, and A. Revil, 2009. Theory of transient # streaming potentials associated with axial-symmetric flow in unconfined # aquifers, Geophysical Journal International, 179(2), 990–1003. # http://dx.doi.org/10.1111/j.1365-246X.2009.04336.x # # $Id: Makefile,v 1.4 2007/12/19 17:14:33 kris Exp kris $ KKFILES = laplace_hankel_solutions.o OBJS = $(EXTERNAL) utility.o $(KKFILES) MAIN = driver4.o OPTOBJS = $(patsubst %.o,%.opt.o,$(OBJS) $(MAIN)) DEBUGOBJS = $(patsubst %.o,%.debug.o,$(OBJS) $(MAIN)) F90SRC=$(patsubst %.o,%.f90,$(OBJS) $(MAIN)) OUT = sp_driver DEBUGOUT = debug_sp_driver LD = $(F90) ####### default optimized (no debugging) target ########################## driver: $(OPTOBJS) $(LD) $(PERFLDFLAGS) -o $(OUT) $(OPTOBJS) ####### compiler debugging ### ##(no optimization, checks for out-of-bounds arrays and gives more warninngs, but still runs to completion) debug_driver: $(DEBUGOBJS) $(LD) -o $(DEBUGOUT) $(DEBUGOBJS) ####### rule for making optimized object files ############ %.opt.o: %.f90 $(F90) -c -cpp $(INTEL) $(PERF) -o $@ $< ####### rule for making debugging object files ############ %.debug.o: %.f90 $(F90) -c -cpp $(INTEL) $(DEBUG) -o $@ $< # this routine depends on both real and integer values being nicely initialized (boo... hiss) - no debugging qxgs.debug.o: qxgs.f90 $(F90) -c -cpp $(INTEL) -o $@ $< utility.opt.o invlap_fcns.mod complex_hyp_trig.mod shared_data.mod constants.mod: utility.f90 laplace_hankel_solutions.opt.o three_layer.mod: invlap_fcns.mod constants.mod shared_data.mod laplace_hankel_solutions.f90 driver4.opt.o: three_layer.mod constants.mod shared_data.mod driver4.f90 utility.debug.o invlap_fcns.mod complex_hyp_trig.mod shared_data.mod constants.mod: utility.f90 laplace_hankel_solutions.debug.o three_layer.mod: invlap_fcns.mod constants.mod shared_data.mod laplace_hankel_solutions.f90 driver4.debug.o: three_layer.mod constants.mod shared_data.mod driver4.f90 ###### clean up ################################# clean: rm -f *.o *.mod $(OUT) $(DEBUGOUT) $(MATOUT)