--- MITgcm_contrib/PRM/build_scripts/makemake.sh 2006/10/12 22:50:18 1.1 +++ MITgcm_contrib/PRM/build_scripts/makemake.sh 2007/09/17 03:10:20 1.2 @@ -103,9 +103,17 @@ echo '$(EXTRA_LIB_LIST)' echo ' ' +# Write liball.a library list +echo 'LIBLIST_ALL=\' +for l in ${ll} ; do +echo ${l}' \' +done +echo ' ' + # Write library option # write it twice because gnu linker doesn't search backwards and we don't know the # right order (I think this is what ar and ranlib are for!) +# Add liball.a to fix issues with intel compiler on columbia (2007-09-16) (ifort 9.1.039). echo 'LIBOPT=\' for l in ${lo} ; do echo ${l}' \' @@ -113,13 +121,26 @@ for l in ${lo} ; do echo ${l}' \' done +echo '-lall ' echo ' ' # Set rule for executable -echo '$(EXE): $(OBJLIST) $(LIBLIST)' +echo '$(EXE): $(OBJLIST) $(LIBLIST) liball.a' echo -e \\t'$(LINK) -L. -o $(EXE) $(OBJLIST) $(LIBOPT) $(EXTRA_LOPT)' +# Set rule for liball.a +echo ' ' +echo 'liball.a: $(LIBLIST_ALL)' +echo ' \rm -fr tmp' +echo ' \rm -f liball.a' +echo ' mkdir tmp' +echo ' cp $(LIBLIST_ALL) tmp' +echo ' cd tmp; ls -1 *.a | sed "s/^.*/ar x &/" > foo' +echo ' cd tmp; source foo' +echo ' cd tmp; ar rc liball.a *.o; cp liball.a ..' + + # Set rule for libraries ol='' ll=''