Index: /trunk/Ohana/Configure.in
===================================================================
--- /trunk/Ohana/Configure.in	(revision 5898)
+++ /trunk/Ohana/Configure.in	(revision 5899)
@@ -10,9 +10,11 @@
 # if you use a different toplevel directory than $(ROOT), you might 
 # need to copy the include files in $(ROOT)/include by hand to the destination
-LBIN	= PREFIX/bin/$(ARCH)
-LINC	= PREFIX/include/$(ARCH)
-LLIB	= PREFIX/lib/$(ARCH)
-LMAN	= PREFIX/man/man1
-LHLP	= PREFIX/help
+# LBIN	= PREFIX/bin/$(ARCH)
+
+LBIN	= BINDIR
+LINC	= INCDIR
+LLIB	= LIBDIR
+LMAN	= MANDIR
+LHLP	= HELPDIR
 
 # X include and lib directories
@@ -24,5 +26,5 @@
 # prefered C compiler
 # CC = gcc -g -DOHANA_MEMORY -Wall -Werror
-CC   = gcc -g -O1
+CC   = gcc OPTFLAGS
 
 # select the appropriate version of ranlib
Index: /trunk/Ohana/Makefile
===================================================================
--- /trunk/Ohana/Makefile	(revision 5898)
+++ /trunk/Ohana/Makefile	(revision 5899)
@@ -69,8 +69,8 @@
 
 # Required libraries depends on the architecture
-LIBS-linux = libohana libfits libdvo libdummy
-LIBS-lin64 = libohana libfits libdvo libdummy
-LIBS-sid   = libohana libfits libdvo libdummy
-LIBS-sol   = libohana libfits libdvo 
+LIBS-linux = libohana libfits libdvo libkapa libdummy
+LIBS-lin64 = libohana libfits libdvo libkapa libdummy
+LIBS-sid   = libohana libfits libdvo libkapa libdummy
+LIBS-sol   = libohana libfits libdvo libkapa 
 
 # general build targets:
Index: /trunk/Ohana/configure
===================================================================
--- /trunk/Ohana/configure	(revision 5898)
+++ /trunk/Ohana/configure	(revision 5899)
@@ -18,15 +18,49 @@
 set vararch = 0
 set prefix  = ""
+
+set bindir  = ""
+set libdir  = ""
+set incdir  = ""
+set mandir  = ""
+set datadir  = ""
+set sysconfdir  = ""
+set optflags = "-g -O0"
+set pedantic = ""
+
 set root    = ""
 set args    = ""
 while ("$1" != "") 
  switch ($1)
-  case --prefix
-   shift
-   set prefix = $1
-   breaksw;
   case --vararch
    set vararch = 1
    breaksw;
+  case --enable-optimze
+   set optflags = "-O2"
+   breaksw;
+  case --pedantic
+   set pedantic = "-Wall -Werror"
+   breaksw;
+  case --prefix*
+   set prefix = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --bindir*
+   set bindir = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --libdir*
+   set libdir = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --includedir*
+   set incdir = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --sysconfdir*
+   set sysconfdir = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --datadir*
+   set datadir = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --mandir*
+   set mandir = `echo $1 | tr = ' ' | awk '{print $2}'`
+   breaksw;
+  case --help:
   case -*: 
    goto usage
@@ -157,22 +191,108 @@
 echo ROOT: $root
 echo PREFIX: $prefix
+echo 
+
+#echo BINDIR $bindir
+#echo LIBDIR $libdir
+#echo INCDIR $incdir
+#echo DATADIR $datadir
+#echo MANDIR $mandir
 
 if (-e Configure) mv Configure Configure.bak
 
+rm -f Configure.in.tmp Configure.tmp
+cp Configure.in Configure.in.tmp
+
+# modify the BINDIR
+if ("$bindir" == "") then
+  set subdir = bin/$arch
+  if ($vararch) set subdir = 'bin/$(ARCH)'
+  set bindir = $prefix/$subdir
+endif
+cat Configure.in.tmp | sed "s| BINDIR| $bindir|" > Configure.tmp
+rm -f Configure.in.tmp
+mv Configure.tmp Configure.in.tmp
+echo BINDIR $bindir
+
+# modify the INCDIR
+if ("$incdir" == "") then
+  set subdir = include/$arch
+  if ($vararch) set subdir = 'include/$(ARCH)'
+  set incdir = $prefix/$subdir
+endif
+cat Configure.in.tmp | sed "s| INCDIR| $incdir|" > Configure.tmp
+rm -f Configure.in.tmp
+mv Configure.tmp Configure.in.tmp
+echo INCDIR $incdir
+
+# modify the LIBDIR
+if ("$libdir" == "") then
+  set subdir = lib/$arch
+  if ($vararch) set subdir = 'lib/$(ARCH)'
+  set libdir = $prefix/$subdir
+endif
+cat Configure.in.tmp | sed "s| LIBDIR| $libdir|" > Configure.tmp
+rm -f Configure.in.tmp
+mv Configure.tmp Configure.in.tmp
+echo LIBDIR $libdir
+
+# modify the MANDIR
+if ("$mandir" == "") then
+  set mandir = $prefix/man
+endif
+cat Configure.in.tmp | sed "s| MANDIR| $mandir|" > Configure.tmp
+rm -f Configure.in.tmp
+mv Configure.tmp Configure.in.tmp
+echo MANDIR $mandir
+
+# modify the HELPDIR
+if ("$datadir" == "") then
+  set datadir = $prefix
+endif
+set helpdir = $datadir/help
+cat Configure.in.tmp | sed "s| HELPDIR| $helpdir|" > Configure.tmp
+rm -f Configure.in.tmp
+mv Configure.tmp Configure.in.tmp
+echo HELPDIR $helpdir
+
 if ($vararch) then
-  cat Configure.in | sed "s|ROOTDIR|$root|" | sed "s|PREFIX|$prefix|" | sed "s|^\s*ARCH|# ARCH|"   | sed "s|XINCDIR|$xinc|" | sed "s|XLIBDIR|$xlib|" > Configure
-  echo ""
-  echo "include $prefix/bin/"\$"ARCH in your path"
+  cat Configure.in.tmp | sed "s|^\s*ARCH|# ARCH|" > Configure.tmp
 else 
-  cat Configure.in | sed "s|ROOTDIR|$root|" | sed "s|PREFIX|$prefix|" | sed "s|ARCHVAL|$arch|" | sed "s|XINCDIR|$xinc|" | sed "s|XLIBDIR|$xlib|" > Configure
-  echo ""
-  echo "include $prefix/bin/$arch in your path"
+  cat Configure.in.tmp | sed "s|ARCHVAL|$arch|" > Configure.tmp
 endif 
+rm -f Configure.in.tmp
+mv Configure.tmp Configure.in.tmp
+
+cat Configure.in.tmp | sed "s|ROOTDIR|$root|" | sed "s|XINCDIR|$xinc|" | sed "s|XLIBDIR|$xlib|" | sed "s|OPTFLAGS|$optflags $pedantic|" > Configure
+
+echo ""
+echo "include $bindir in your path"
 
 exit 0
 
 usage:
- echo "USAGE: configure [--prefix (dir)] [--vararch]"
- echo "set the installation directory root with --prefix"
- echo "if you define the environment variable $ARCH, you can set --vararch"
+cat <<EOF
+USAGE: configure [OPTION]
+
+set the installation directory root with --prefix
+if you define the environment variable ARCH, you can set --vararch
+ 
+Configuration:
+  -h, --help              display this help and exit
+  --enable-optimize       enable compiler optimization
+  --pedantic              include -Wall -Werror on compilation
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+  --vararch               install with ARCH suffixes for variable architectures
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [PREFIX/bin/$ARCH] 
+  --libdir=DIR           object code libraries [PREFIX/lib/$ARCH]
+  --includedir=DIR       C header files [PREFIX/include]
+  --mandir=DIR           man documentation [PREFIX/man]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+
+EOF
  exit 2;
Index: /trunk/Ohana/src/addstar/Makefile
===================================================================
--- /trunk/Ohana/src/addstar/Makefile	(revision 5898)
+++ /trunk/Ohana/src/addstar/Makefile	(revision 5899)
@@ -18,5 +18,5 @@
 INCS	= 	-I$(INC) -I$(LINC) -I$(XINC)
 LIBS	= 	-L$(LLIB) -ldvo -lFITS -lohana -lz -lm
-CFLAGS	=	$(INCS) -g -Wall -Werror
+CFLAGS	=	$(INCS)
 LFLAGS	=	$(LIBS) 
 
@@ -143,6 +143,4 @@
 $(SRC)/args_client.$(ARCH).o
 
-default: $(PROGRAM)
-
 ADDSTARC = $(SRC)/addstarc.$(ARCH).o $(CLIENT)
 ADDSTARD = $(SRC)/addstard.$(ARCH).o $(SERVER)
Index: /trunk/Ohana/src/delstar/Makefile
===================================================================
--- /trunk/Ohana/src/delstar/Makefile	(revision 5898)
+++ /trunk/Ohana/src/delstar/Makefile	(revision 5899)
@@ -1,6 +1,5 @@
 include ../../Configure
-CC      =       gcc -g  # override this for now for minimal test
+
 HOME 	=	$(ROOT)/src/delstar
-CONFIG  =	$(ROOT)/config
 PROGRAM =       delstar
 
@@ -15,8 +14,8 @@
 
 #  
-INCS	= 	-I$(INC) -I$(LINC) -I$(XINC)
+INCS	= 	-I$(INC) -I$(LINC)
 LIBS	= 	-L$(LLIB) -ldvo -lFITS -lohana -lm 
-CFLAGS	=	-o $*.$(ARCH).o $(INCS) -O2
-CCFLAGS	=	$(INCS) $(LIBS) 
+CFLAGS	=	$(INCS)
+LFLAGS	=	$(LIBS) 
 
 DELSTAR = \
@@ -42,25 +41,43 @@
 $(SRC)/Shutdown.$(ARCH).o          
 
-OBJ = $(DELSTAR)
-
 default: $(PROGRAM)
+help:
+	@echo "make options: delstar (default)"
 
 $(DELSTAR): $(INC)/delstar.h
+$(BIN)/delstar.$(ARCH) : $(DELSTAR)
+delstar   : $(BIN)/delstar.$(ARCH)
 
-# dependancy rules for binary code ##########################
-$(PROGRAM): $(BIN)/$(PROGRAM).$(ARCH)
+INSTALL = delstar
 
-$(BIN)/$(PROGRAM).$(ARCH): $(OBJ)
+# dependancy rules for binary code #########################
+.PRECIOUS: %.$(ARCH).o
+.PRECIOUS: $(BIN)/%.$(ARCH)
+
+%.$(ARCH).o : %.c
+	$(CC) $(CFLAGS) -c $< -o $@
+
+$(BIN)/%.$(ARCH) : $(SRC)/%.$(ARCH).o
 	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $(OBJ) -o $(BIN)/$(PROGRAM).$(ARCH) $(CCFLAGS)
+	$(CC) $^ -o $@ $(LFLAGS)
 
-install: $(DESTBIN)/$(PROGRAM)
+$(DESTBIN)/%: $(BIN)/%.$(ARCH)
+	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
+	rm -f $(DESTBIN)/$*
+	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
 
-$(DESTBIN)/$(PROGRAM): $(BIN)/$(PROGRAM).$(ARCH)
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$(PROGRAM)
-	cp $(BIN)/$(PROGRAM).$(ARCH) $(DESTBIN)/$(PROGRAM)
+$(INSTALL) $(DEVEL): % : $(BIN)/%.$(ARCH)
+
+%.clean :
+	rm -f $(BIN)/$*.$(ARCH)
+
+%.install:
+	make $(DESTBIN)/$*
 
 # utilities #################################################
+
+install:
+	for i in $(INSTALL); do make $$i.install; done
+
 clean:	
 	rm -f $(BIN)/*.$(ARCH)
@@ -68,7 +85,2 @@
 	rm -f `find . -name "*~"`
 	rm -f `find . -name "#*"`
-
-.SUFFIXES: .$(ARCH).o
-
-.c.$(ARCH).o:
-	$(CC) $(CFLAGS) -c $<
Index: /trunk/Ohana/src/gophot/Makefile
===================================================================
--- /trunk/Ohana/src/gophot/Makefile	(revision 5898)
+++ /trunk/Ohana/src/gophot/Makefile	(revision 5899)
@@ -1,7 +1,9 @@
+default: gophot
+help:
+	@echo "make options: gophot (default)"
+
 include ../../Configure
+
 HOME    =       $(ROOT)/src/gophot
-PROGRAM =       gophot
-
-CC      =       gcc -g
 BIN	=	$(HOME)/bin
 INC	= 	$(HOME)/include
@@ -14,49 +16,67 @@
 
 #  
-INCS	= 	-I$(INC) -I$(LINC) -I$(XINC)
+INCS	= 	-I$(INC) -I$(LINC)
 LIBS	= 	-L$(LLIB) -lFITS -lohana -lm 
-CFLAGS	=	-o $*.$(ARCH).o $(INCS) 
-CCFLAGS	=	$(INCS) $(LIBS) 
-
-default: $(PROGRAM)
+CFLAGS	=	$(INCS)
+LFLAGS	=	$(LIBS) 
 
 OBJ = \
-           $(SRC)/gophot.$(ARCH).o 	   $(SRC)/ConfigInit.$(ARCH).o \
-	   $(SRC)/message.$(ARCH).o	   $(SRC)/dophot.$(ARCH).o \
-	   $(SRC)/makenoise.$(ARCH).o      $(SRC)/findsky.$(ARCH).o \
-           $(SRC)/makemask.$(ARCH).o       $(SRC)/paravg.$(ARCH).o \
-           $(SRC)/objout.$(ARCH).o         $(SRC)/addstar.$(ARCH).o \
-	   $(SRC)/ellipse.$(ARCH).o        $(SRC)/improve.$(ARCH).o \
-           $(SRC)/fillerup.$(ARCH).o       $(SRC)/parinterp.$(ARCH).o \
-           $(SRC)/guess.$(ARCH).o          $(SRC)/offpic.$(ARCH).o \
-           $(SRC)/addlims.$(ARCH).o        $(SRC)/parupd.$(ARCH).o \
-           $(SRC)/toofaint.$(ARCH).o       $(SRC)/isearch.$(ARCH).o \
-           $(SRC)/shape.$(ARCH).o          $(SRC)/galaxy.$(ARCH).o \
-           $(SRC)/transmask.$(ARCH).o      $(SRC)/cosmic.$(ARCH).o \
-           $(SRC)/impaper2.$(ARCH).o       $(SRC)/sort.$(ARCH).o \
-           $(SRC)/oblit.$(ARCH).o          $(SRC)/toobright.$(ARCH).o \
-           $(SRC)/Chisq.$(ARCH).o          $(SRC)/oblims.$(ARCH).o \
-           $(SRC)/ludcmp.$(ARCH).o         $(SRC)/lubksb.$(ARCH).o \
-           $(SRC)/pseud2d.$(ARCH).o        $(SRC)/twofit.$(ARCH).o \
-           $(SRC)/skyfun_plane.$(ARCH).o   $(SRC)/pseud4d.$(ARCH).o \
-	   $(SRC)/large_features.$(ARCH).o $(SRC)/set_thresholds.$(ARCH).o \
-           $(SRC)/outline.$(ARCH).o        $(SRC)/delete_ellipse.$(ARCH).o \
-	   $(SRC)/feature_fluxes.$(ARCH).o $(SRC)/mediansky.$(ARCH).o
+$(SRC)/gophot.$(ARCH).o 	$(SRC)/ConfigInit.$(ARCH).o \
+$(SRC)/message.$(ARCH).o	$(SRC)/dophot.$(ARCH).o \
+$(SRC)/makenoise.$(ARCH).o      $(SRC)/findsky.$(ARCH).o \
+$(SRC)/makemask.$(ARCH).o       $(SRC)/paravg.$(ARCH).o \
+$(SRC)/objout.$(ARCH).o         $(SRC)/addstar.$(ARCH).o \
+$(SRC)/ellipse.$(ARCH).o        $(SRC)/improve.$(ARCH).o \
+$(SRC)/fillerup.$(ARCH).o       $(SRC)/parinterp.$(ARCH).o \
+$(SRC)/guess.$(ARCH).o          $(SRC)/offpic.$(ARCH).o \
+$(SRC)/addlims.$(ARCH).o        $(SRC)/parupd.$(ARCH).o \
+$(SRC)/toofaint.$(ARCH).o       $(SRC)/isearch.$(ARCH).o \
+$(SRC)/shape.$(ARCH).o          $(SRC)/galaxy.$(ARCH).o \
+$(SRC)/transmask.$(ARCH).o      $(SRC)/cosmic.$(ARCH).o \
+$(SRC)/impaper2.$(ARCH).o       $(SRC)/sort.$(ARCH).o \
+$(SRC)/oblit.$(ARCH).o          $(SRC)/toobright.$(ARCH).o \
+$(SRC)/Chisq.$(ARCH).o          $(SRC)/oblims.$(ARCH).o \
+$(SRC)/ludcmp.$(ARCH).o         $(SRC)/lubksb.$(ARCH).o \
+$(SRC)/pseud2d.$(ARCH).o        $(SRC)/twofit.$(ARCH).o \
+$(SRC)/skyfun_plane.$(ARCH).o   $(SRC)/pseud4d.$(ARCH).o \
+$(SRC)/large_features.$(ARCH).o $(SRC)/set_thresholds.$(ARCH).o \
+$(SRC)/outline.$(ARCH).o        $(SRC)/delete_ellipse.$(ARCH).o \
+$(SRC)/feature_fluxes.$(ARCH).o $(SRC)/mediansky.$(ARCH).o
 
-# dependancy rules for binary code ##########################
-$(PROGRAM): $(BIN)/$(PROGRAM).$(ARCH)
+$(OBJ)                : $(INC)/gophot.h $(INC)/prototypes.h
+$(BIN)/gophot.$(ARCH) : $(OBJ)
+gophot                : $(BIN)/gophot.$(ARCH)
 
-$(BIN)/$(PROGRAM).$(ARCH): $(OBJ)
+INSTALL = gophot
+
+# dependancy rules for binary code #########################
+.PRECIOUS: %.$(ARCH).o
+.PRECIOUS: $(BIN)/%.$(ARCH)
+
+%.$(ARCH).o : %.c
+	$(CC) $(CFLAGS) -c $< -o $@
+
+$(BIN)/%.$(ARCH) : $(SRC)/%.$(ARCH).o
 	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $(OBJ) -o $(BIN)/$(PROGRAM).$(ARCH) $(CCFLAGS)
+	$(CC) $^ -o $@ $(LFLAGS)
 
-install: $(DESTBIN)/$(PROGRAM)
+$(DESTBIN)/%: $(BIN)/%.$(ARCH)
+	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
+	rm -f $(DESTBIN)/$*
+	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
 
-$(DESTBIN)/$(PROGRAM): $(BIN)/$(PROGRAM).$(ARCH)
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$(PROGRAM)
-	cp $(BIN)/$(PROGRAM).$(ARCH) $(DESTBIN)/$(PROGRAM)
+$(INSTALL) $(DEVEL): % : $(BIN)/%.$(ARCH)
+
+%.clean :
+	rm -f $(BIN)/$*.$(ARCH)
+
+%.install:
+	make $(DESTBIN)/$*
 
 # utilities #################################################
+
+install:
+	for i in $(INSTALL); do make $$i.install; done
+
 clean:	
 	rm -f $(BIN)/*.$(ARCH)
@@ -64,7 +84,2 @@
 	rm -f `find . -name "*~"`
 	rm -f `find . -name "#*"`
-
-.SUFFIXES: .$(ARCH).o
-
-.c.$(ARCH).o:
-	$(CC) $(CFLAGS) -c $<
