--- nnmake/make.system	2009-01-09 16:07:59.000000000 +0100
+++ nnmake/make.system.new	2009-04-09 10:54:50.000000000 +0200
@@ -62,10 +62,9 @@
 FPROFILEFLAGS=-P
 
 ifeq ($(COMPILER),gnu)
-	F77 = g77
-	FFLAGS = -finline-functions -funroll-loops -W  -ffixed-line-length-132 -Wimplicit
-	FOPTIMFLAGS = -O -ffast-math -malign-double
-	FDEBUGFLAGS = -g -Wall -Wimplicit -Wsurprising -Wformat -W
+	F77 = $(FORTRANC)
+	FOPTIMFLAGS = 
+	FDEBUGFLAGS = 
 	FPROFILEFLAGS = -pg
 endif
 
--- nnmake/dipolar_nn.f	2009-01-09 16:08:00.000000000 +0100
+++ nnmake/dipolar_nn.f.new	2009-04-09 11:06:24.923302302 +0200
@@ -1396,7 +1396,7 @@
             write(0,*)'rejected' 
             write(0,*)x(1,iset),x(2,iset),x(3,iset),x(4,iset),x(5,iset)
             do i=1,maplength(iset)
-               write(0,'(i,6f6.3)')i,A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),
+               write(0,'(i6,6f6.3)')i,A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),
      #              b(i)
             enddo
             goto 300
--- nnmake/make.system	2009-04-09 11:10:34.399945087 +0200
+++ nnmake/make.system.new	2009-04-09 11:19:41.287390259 +0200
@@ -55,7 +55,6 @@
 
 # defaults
 F77=f77
-FFLAGS=
 FOPTIMFLAGS=-O
 FDEBUGFLAGS=-g
 FPROFILEFLAGS=-P
--- nnmake/makefile	2009-01-09 16:08:00.000000000 +0100
+++ nnmake/makefile.new	2009-04-09 11:22:43.454037887 +0200
@@ -102,7 +102,7 @@
 # rule to compile executable
 compile: print $(BASE_NAME).$(COMPILER)
 $(BASE_NAME).$(COMPILER) :  ${OBJS}
-	$(F77) $(FFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
+	$(F77) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
 
 coord_compile: print $(COORD_BASE_NAME).$(COMPILER)
 $(COORD_BASE_NAME).$(COMPILER) :  ${COORD_OBJS}
--- nnmake/make_fragments.pl	2009-01-09 15:53:33.000000000 +0100
+++ nnmake/make_fragments.pl.new	2009-04-09 13:01:52.987174602 +0200
@@ -19,38 +19,38 @@
 
 my $TAIL = "_v1_3";
 
-$src_dir = '/work/chu/rosetta/rosetta_C++/rosetta-2.2.0/rosetta_fragments';
-$shareware_dir = '/work/chu/src/shareware';
-$scratch = "/scratch/shared";
+$src_dir = '/';
+$shareware_dir = '$src_dir/usr/share';
+$scratch = "$src_dir/scratch/shared";
 
 # psi-blast
 #my $BLAST_BIN_DIR = "$shareware_dir/new_blast/blast-2.2.12/bin";
-my $PSIBLAST = "$shareware_dir/blast/bin/blastpgp";     # PSI-BLAST (duh.)
-my $NR = "/$scratch/genomes/nr";                # nr blast database filename
-my $VALL_BLAST_DB = "/$scratch/nnmake_database/vall.blast.2006-05-05";        # vall blast database filename (cvs respository 'nnmake_database')
-my $BLOSUM = "$scratch/nnmake_database/";      # BLOSUM score matrices directory (cvs repository 'nnmake_database')
+my $PSIBLAST = "$src_dir/usr/bin/blastpgp";     # PSI-BLAST (duh.)
+my $NR = "$shareware_dir/blast-db/nr";                # nr blast database filename
+my $VALL_BLAST_DB = "$shareware_dir/rosetta-fragments/nnmake_database/vall.blast.2006-05-05";        # vall blast database filename (cvs respository 'nnmake_database')
+my $BLOSUM = "$shareware_dir/rosetta-fragments/nnmake_database/";      # BLOSUM score matrices directory (cvs repository 'nnmake_database')
 
 # psipred
-my $FILTNR = "$scratch/genomes/filtnr";        # filtnr blast database filename
-my $MAKEMAT = "$shareware_dir/blast/bin/makemat";       # makemat utility (part of NCBI tools)
-my $PSIPRED = "$shareware_dir/psipred/bin/psipred";       # psipred
-my $PSIPASS2 = "$shareware_dir/psipred/bin/psipass2";     # psipass2 (part of psipred pkg)
+my $FILTNR = "$src_dir/tmp/filtnr";        # filtnr blast database filename
+my $MAKEMAT = "$src_dir/usr/bin/makemat";       # makemat utility (part of NCBI tools)
+my $PSIPRED = "$src_dir/usr/bin/psipred";       # psipred
+my $PSIPASS2 = "$src_dir/usr/bin/psipass2";     # psipass2 (part of psipred pkg)
 my $PSIPRED_DATA = "$shareware_dir/psipred/data";         # dir containing psipred data files.
 
 # prof
 #my $PROF = "$shareware_dir/prof/run_prof.py";
-my $PROF = "$src_dir/nnmake/run_prof.py"; # remember to change prof executable location in run_prof.py
+my $PROF = "$src_dir/usr/bin/run_prof.py"; # remember to change prof executable location in run_prof.py
 
 # nnmake
-my $VALL = "$scratch/nnmake_database";          # dir containing vall database (cvs repository 'nnmake_database')
-my $VALL2 = "$scratch/nnmake_database";             # alt dir containing vall database (cvs repository 'nnmake_database')
+my $VALL = "$shareware_dir/rosetta-fragments/nnmake_database";          # dir containing vall database (cvs repository 'nnmake_database')
+my $VALL2 = "$shareware_dir/rosetta-fragments/nnmake_database";             # alt dir containing vall database (cvs repository 'nnmake_database')
 my $VALL_NAME = "vall.dat.2006-05-05";                 # filename of vall (vall.dat.<id> and vall_cst_coord.dat.<id> must exist)
-my $NNMAKE = "$src_dir/nnmake/pNNMAKE.gnu";                         # nnmake binary  (cvs respository 'nnmake')
-my $TRIMLOOPS = "$src_dir/nnmake/trimLoopLibrary.pl";                  # trimLoopLibrary.pl (cvs respository 'nnmake')
+my $NNMAKE = "$src_dir/usr/bin/pNNMAKE";                         # nnmake binary  (cvs respository 'nnmake')
+my $TRIMLOOPS = "$src_dir/usr/bin/trimLoopLibrary.pl";                  # trimLoopLibrary.pl (cvs respository 'nnmake')
 
 # chemshift
-my $CHEMSHIFT = "$src_dir/chemshift/pCHEMSHIFT.gnu";     # chemshift binary (cvs repository 'chemshift')
-my $TALOS_DB = "$scratch/chemshift_database";                          # TALOS databases directory (cvs respository 'chemshift_database')
+my $CHEMSHIFT = "$src_dir/usr/bin/pCHEMSHIFT";     # chemshift binary (cvs repository 'chemshift')
+my $TALOS_DB = "$shareware_dir/rosetta-fragments/chemshift_database";                          # TALOS databases directory (cvs respository 'chemshift_database')
 
 # jufo (secondary structure prediction software)
 my $JUFO = "$shareware_dir/jufo/molecule.exe";                              # jufo executable
