1# Example for Linux with -rdyamic linking of Dakota, which does not require 2# dakota to be compiled with -fPIC. For testing I (dmg)configured with 3# ./configure F77=g95 FC=g95 FCLIBS=' ' CPPFLAGS=-DMPICH_IGNORE_CXX_SEEK FLIBS='/home/dmgay/h/bin/g95-install/lib/gcc-lib/x86_64-unknown-linux-gnu/4.1.2/libf95.a /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libg2c.a -lm' --prefix=`pwd`/local --with-dl_solver --with-plugin --enable-docs --with-blas=`pwd`/blas.a 4 5 6PATH=:/usr/kerberos/bin:/home/dmgay/h/bin:/usr/local/gcc-4.4.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin 7 8CC = g++ 9FC = g95 10CFLAGS = -O2 -fPIC 11D = .. 12# D = Dakota directory 13 14Inc = \ 15 -DHAVE_CONFIG_H \ 16 -I$D/src \ 17 -I$D \ 18 -I$D/packages/teuchos/src \ 19 -I$D/packages/Pecos \ 20 -I$D/packages/Pecos/src \ 21 -I$D/packages \ 22 -I$D/packages/plplot/include \ 23 -I$D/packages/motif/include \ 24 -I$D/packages/motif/src/Widgets \ 25 -I$D/packages/boost \ 26 -I$D/packages/Pecos/packages/VPISparseGrid/src \ 27 -I$D/packages/Surfpack \ 28 -I$D/packages/Surfpack/src \ 29 -I$D/packages/Surfpack/src/interpreter \ 30 -I$D/packages/Surfpack/src/surfaces \ 31 -I$D/methods/acro/include \ 32 -I$D/methods/acro/include/tinyxml \ 33 -I$D/methods/DDACE \ 34 -I$D/methods/DDACE/include \ 35 -I$D/methods/FSUDace \ 36 -I$D/methods/hopspack/src-appspack \ 37 -I$D/methods/hopspack/src-cddlib \ 38 -I$D/methods/hopspack/src-conveyor \ 39 -I$D/methods/hopspack/src-nappspack \ 40 -I$D/methods/hopspack/src-shared \ 41 -I$D/methods/JEGA \ 42 -I$D/methods/JEGA/eddy \ 43 -I$D/methods/JEGA/include \ 44 -I$D/methods/OPTPP/include \ 45 -I$D/methods/OPTPP/newmat11 \ 46 -I$D/methods/PSUADE \ 47 -DMPICH_IGNORE_CXX_SEEK 48 49#Rpath = -Wl,-rpath,.,-rpath,/usr/local/gcc-4.4.2/lib64 50Rpath = -Wl,-rpath,/usr/local/gcc-4.4.2/lib64 51 52L1 = $(Rpath) $D/src/.libs/libdakota.a $D/packages/teuchos/src/.libs/libteuchos.a $D/packages/Pecos/.libs/libpecos.a $D/packages/teuchos/src/.libs/libteuchos.a $D/packages/plplot/src/.libs/libplplotd.a $D/packages/motif/src/.libs/libDGraphics.a $D/packages/Surfpack/src/.libs/libsurfpack.a $D/methods/CONMIN/src/.libs/libconmin.a $D/methods/DDACE/src/.libs/libddace.a $D/methods/FSUDace/.libs/libfsudace.a $D/methods/NL2SOL/.libs/libcport.a $D/methods/NPSOL/.libs/libnpsol.a $D/methods/OPTPP/lib/.libs/libopt.a $D/methods/PSUADE/.libs/libpsuade.a $D/methods/OPTPP/lib/.libs/libnewmat.a $D/packages/Pecos/packages/LHS/.libs/liblhs.a $D/packages/Pecos/packages/VPISparseGrid/src/.libs/libsparsegrid.a $D/methods/NCSUOpt/libncsuopt.a $D/methods/acro/packages/coliny/src/libcoliny.a $D/methods/acro/packages/utilib/src/.libs/libutilib.a $D/methods/acro/packages/colin/src/libcolin.a $D/methods/acro/packages/pebbl/src/libpebbl.a $D/methods/acro/packages/utilib/src/.libs/libutilib.a $D/methods/acro/packages/tpl/3po/lib3po.a $D/methods/hopspack/src-nappspack/libnappspack.a $D/methods/hopspack/src-appspack/libappspack.a $D/methods/hopspack/src-conveyor/libconveyor.a $D/methods/hopspack/src-shared/libshared.a $D/methods/hopspack/src-cddlib/libcdd.a -lgd -lfreetype -lXpm -lXm -ljpeg -lpng -lXmu -lXt -lXp -lXext -lX11 -lSM -lICE $D/packages/ampl/funcadd0.o $D/packages/ampl/amplsolver.a $D/lapack.a $D/blas.a /home/dmgay/h/bin/g95-install/lib/gcc-lib/x86_64-unknown-linux-gnu/4.1.2/libf95.a /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libg2c.a -lm -ldl 53 54.C.o: 55 $(CC) -c $(CFLAGS) $(Inc) $*.C 56 57# for testing "nidrgen -lp noj.nspec" 58 59L = $D/lapack.a $D/blas.a 60 61all: NIDR_keywds.H dakdll dot.dll jega.dll nlpql.dll npsol.dll 62 63dakdll = $D/src/main.o DakotaIterator1.o NIDRProblemDescDB1.o $D/src/.libs/libdakota.a 64dakdll: $(dakdll) 65 mpic++ -pthread -rdynamic -o dakdll $(Rpath) $(dakdll) $(L1) 66 67#main1.o: $D/src/main.C 68# $(CC) -c -o main1.o -Dmain=main1 $(CFLAGS) $(Inc) $D/src/main.C 69 70DakotaIterator1.o: $D/src/DakotaIterator.C 71 $(CC) -c -o DakotaIterator1.o -DDAKOTA_DYNLIB $(CFLAGS) $(Inc) $D/src/DakotaIterator.C 72 73# Must have NIDRProblemDescDB1.C here so it includes the 74# right NIDR_keywds.H 75 76NIDRProblemDescDB1.C: $D/src/NIDRProblemDescDB.C 77 ln $D/src/NIDRProblemDescDB.C NIDRProblemDescDB1.C || \ 78 cp $D/src/NIDRProblemDescDB.C NIDRProblemDescDB1.C 79 80DOTOptimizer.o: $D/src/DOTOptimizer.C 81 $(CC) -c -o DOTOptimizer.o $(CFLAGS) $(Inc) $D/src/DOTOptimizer.C 82 83JEGAOptimizer.o: $D/src/JEGAOptimizer.C 84 $(CC) -c -o JEGAOptimizer.o $(CFLAGS) $(Inc) $D/src/JEGAOptimizer.C 85 86NLPQLPOptimizer.o: $D/src/NLPQLPOptimizer.C 87 $(CC) -c -o NLPQLPOptimizer.o $(CFLAGS) $(Inc) $D/src/NLPQLPOptimizer.C 88 89NPSOLOptimizer.o: $D/src/NPSOLOptimizer.C 90 $(CC) -c -o NPSOLOptimizer.o $(CFLAGS) $(Inc) $D/src/NPSOLOptimizer.C 91 92NLSSOLLeastSq.o: $D/src/NLSSOLLeastSq.C 93 $(CC) -c -o NLSSOLLeastSq.o $(CFLAGS) $(Inc) $D/src/NLSSOLLeastSq.C 94 95SOLBase.o: $D/src/SOLBase.C 96 $(CC) -c -o SOLBase.o $(CFLAGS) $(Inc) $D/src/SOLBase.C 97 98npoptn_wrapper.o: $D/src/npoptn_wrapper.f 99 $(FC) -c $(CFLAGS) -o npoptn_wrapper.o $D/src/npoptn_wrapper.f 100 101dot_dll = dot.o DOTOptimizer.o $D/methods/DOT/libdot.a 102dot.dll: $(dot_dll) 103 $(FC) $(CFLAGS) -shared $(Rpath) -o dot.dll $(dot_dll) $L 104 105jega_dll = jega.o JEGAOptimizer.o $D/methods/JEGA/src/.libs/libjega.a 106jega.dll: $(jega_dll) 107 $(FC) $(CFLAGS) -shared $(Rpath) -o jega.dll $(jega_dll) $L 108 109nlpql_dll = nlpql.o NLPQLPOptimizer.o $D/methods/NLPQL/libnlpql.a 110nlpql.dll: $(nlpql_dll) 111 $(FC) $(CFLAGS) -shared $(Rpath) -o nlpql.dll $(nlpql_dll) $L 112 113npsol_dll = npsol.o NPSOLOptimizer.o NLSSOLLeastSq.o SOLBase.o npoptn_wrapper.o \ 114 $D/methods/NPSOL/libnpsol.a 115npsol.dll: $(npsol_dll) 116 $(FC) $(CFLAGS) -shared $(Rpath) -o npsol.dll $(npsol_dll) $L 117 118NIDR_keywds.H: noj.nspec noj.desc 119 nidrgen noj.nspec noj.desc >NIDR_keywds.H 120 121clean: 122 rm -f dakdll *.dll *.o *.so NIDRProblemDescDB1.C 123