Index: /trunk/Ohana/src/opihi/.cvsignore
===================================================================
--- /trunk/Ohana/src/opihi/.cvsignore	(revision 4747)
+++ /trunk/Ohana/src/opihi/.cvsignore	(revision 4747)
@@ -0,0 +1,2 @@
+lib
+bin
Index: /trunk/Ohana/src/opihi/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/Makefile	(revision 4747)
@@ -14,5 +14,5 @@
 pcontrol: lib.data lib.shell cmd.basic
 
-LIBS = cmd.basic cmd.data cmd.astro lib.data lib.shell
+LIBS = lib.data lib.shell cmd.basic cmd.data cmd.astro
 
 PROGRAM = mana dvo
@@ -25,4 +25,7 @@
 	for i in $(PROGRAM); do make $$i || exit; done
 
+libs:
+	for i in $(LIBS); do make $$i || exit; done
+
 extras:
 	for i in $(EXTRAS); do make $$i || exit; done
@@ -31,5 +34,5 @@
 	for i in $(PROGRAM); do make $$i.install || exit; done
 
-extra-install:
+extras-install:
 	for i in $(EXTRAS); do make $$i.install || exit; done
 
@@ -37,7 +40,11 @@
 	for i in $(PROGRAM) $(EXTRAS) $(LIBS); do make $$i.clean || exit; done
 
+libs-uninstall:
+	for i in $(LIBS); do make $$i.uninstall || exit; done
+
 dist: clean
-	rm -f bin/*.*
-	rm -f lib/*.a
+	for i in $(PROGRAM) $(EXTRAS) $(LIBS); do make $$i.dist || exit; done
+	rm -rf bin
+	rm -rf lib
 
 #############################################################
@@ -53,4 +60,10 @@
 	if [ -d "$*" ]; then (cd $* && make clean); fi
 
+%.dist:
+	if [ -d "$*" ]; then (cd $* && make dist); fi
+
+%.uninstall:
+	if [ -d "$*" ]; then (cd $* && make uninstall); fi
+
 .PHONY: $(PROGRAM) $(LIBS)
 
Index: /trunk/Ohana/src/opihi/Makefile.Common
===================================================================
--- /trunk/Ohana/src/opihi/Makefile.Common	(revision 4747)
+++ /trunk/Ohana/src/opihi/Makefile.Common	(revision 4747)
@@ -0,0 +1,62 @@
+
+# utilities #################################################
+# .SUFFIXES: .$(ARCH).o
+
+$(BIN)/%.$(ARCH):
+	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
+	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
+	@echo "compiled $*"
+	@echo ""
+
+$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
+	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
+	rm -f $(DESTBIN)/$*
+	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
+	@echo "installed $*"
+	@echo ""
+
+$(LIB)/%.$(ARCH).a:
+	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
+	rm -f $@
+	ar rcv $@ $^ 
+	$(RANLIB) $@
+	@echo "compiled library $*"
+	@echo ""
+
+$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
+	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
+	@echo ""
+	rm -f $@
+	cp $^ $@
+
+lib%.clean:
+	rm -f $(LIB)/lib$*.$(ARCH).a
+	rm -f $($*)
+	@echo ""
+
+%.help:
+	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
+	rm -f $(HOME)/$*/help/*~
+	rm -f $(HOME)/$*/help/#*
+	for i in `find $(HOME)/$*/help -type f -maxdepth 1`; do cp -f $$i $(DESTHLP); done
+%.clean:
+	rm -f $(BIN)/$*.$(ARCH)
+	@echo ""
+
+%.$(ARCH).o : %.c
+	$(CC) $(CFLAGS) -c $*.c -o $@
+
+clean:
+	rm -f $(BIN)/*.$(ARCH)
+	rm -f $(LIB)/*.$(ARCH).a
+	rm -f `find . -name "*.o"`
+	rm -f `find . -name "*~"`
+	rm -f `find . -name "#*"`
+
+dist: clean
+	rm -f $(BIN)/*
+	rm -f $(LIB)/*
+
+clean-help:
+	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
+	rm -f $(DESTHLP)/*
Index: /trunk/Ohana/src/opihi/cmd.astro/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/cmd.astro/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/cmd.astro/Makefile	(revision 4747)
@@ -21,5 +21,5 @@
 # astro user commands ########################
 
-astrocmd = \
+srcs = \
 $(SDIR)/init.$(ARCH).o             \
 $(SDIR)/biassub.$(ARCH).o	   \
@@ -50,7 +50,5 @@
 $(SDIR)/spec.$(ARCH).o		   \
 $(SDIR)/star.$(ARCH).o		   \
-$(SDIR)/transform.$(ARCH).o
-
-imfitstuff = \
+$(SDIR)/transform.$(ARCH).o        \
 $(SDIR)/imsub.$(ARCH).o		   \
 $(SDIR)/imfit.$(ARCH).o		   \
@@ -65,59 +63,20 @@
 $(SDIR)/imfit-qrgauss.$(ARCH).o	   
 
-libastrocmd:    $(DESTLIB)/libastrocmd.a 
+# dependancy rules for include files ########################
+incs = \
+$(INC)/opihi.h \
+$(INC)/external.h \
+$(INC)/shell.h \
+$(INC)/dvomath.h \
+$(INC)/convert.h \
+$(INC)/display.h 
 
-$(LIB)/libastrocmd.$(ARCH).a:   	$(astrocmd) $(imfitstuff)
-
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
-
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
+libastrocmd: $(DESTLIB)/libastrocmd.a 
+$(DESTLIB)/libastrocmd.a: $(LIB)/libastrocmd.$(ARCH).a
+$(LIB)/libastrocmd.$(ARCH).a: $(srcs)
+$(srcs): $(incs)
 
 uninstall:
-	rm -f $(DESTLIB)/libcmdastro.a
+	rm -f $(DESTLIB)/libastrocmd.a
+
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/cmd.basic/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/cmd.basic/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/cmd.basic/Makefile	(revision 4747)
@@ -21,5 +21,5 @@
 # basic user commands ########################
 
-basiccmd = \
+srcs = \
 $(SDIR)/init.$(ARCH).o       \
 $(SDIR)/break.$(ARCH).o	     \
@@ -56,59 +56,20 @@
 $(SDIR)/which.$(ARCH).o
 
-libbasiccmd:    $(DESTLIB)/libbasiccmd.a 
+# dependancy rules for include files ########################
+incs = \
+$(INC)/opihi.h \
+$(INC)/external.h \
+$(INC)/shell.h \
+$(INC)/dvomath.h \
+$(INC)/convert.h \
+$(INC)/display.h 
 
-$(LIB)/libbasiccmd.$(ARCH).a:   	$(basiccmd)
-
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
-
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
+libbasiccmd: $(DESTLIB)/libbasiccmd.a 
+$(DESTLIB)/libbasiccmd.a: $(LIB)/libbasiccmd.$(ARCH).a
+$(LIB)/libbasiccmd.$(ARCH).a: $(srcs)
+$(srcs): $(incs)
 
 uninstall:
-	rm -f $(DESTLIB)/libcmdbasic.a
+	rm -f $(DESTLIB)/libbasiccmd.a
+
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/cmd.data/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/cmd.data/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/cmd.data/Makefile	(revision 4747)
@@ -20,5 +20,5 @@
 
 # data user commands ########################
-datacmd = \
+srcs = \
 $(SDIR)/init.$(ARCH).o          \
 $(SDIR)/accum.$(ARCH).o		\
@@ -124,59 +124,20 @@
 $(SDIR)/zplot.$(ARCH).o
 
-libdatacmd:    $(DESTLIB)/libdatacmd.a 
+# dependancy rules for include files ########################
+incs = \
+$(INC)/opihi.h \
+$(INC)/external.h \
+$(INC)/shell.h \
+$(INC)/dvomath.h \
+$(INC)/convert.h \
+$(INC)/display.h 
 
-$(LIB)/libdatacmd.$(ARCH).a:   	$(datacmd)
-
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
-
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
+libdatacmd: $(DESTLIB)/libdatacmd.a 
+$(DESTLIB)/libdatacmd.a: $(LIB)/libdatacmd.$(ARCH).a
+$(LIB)/libdatacmd.$(ARCH).a: $(srcs)
+$(srcs): $(incs)
 
 uninstall:
-	rm -f $(DESTLIB)/libcmddata.a
+	rm -f $(DESTLIB)/libdatacmd.a
+
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/dimm/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/dimm/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/dimm/Makefile	(revision 4747)
@@ -1,5 +1,3 @@
 include ../../../Configure
-
-default: all
 
 HOME    =       $(ROOT)/src/opihi
@@ -25,5 +23,10 @@
 # dimm user commands and support functions #####################
 
-dimm = \
+funcs = \
+$(SDIR)/Camera.$(ARCH).o		\
+$(SDIR)/Serial.$(ARCH).o		\
+$(SDIR)/Telescope.$(ARCH).o             
+
+cmds = \
 $(SDIR)/init.$(ARCH).o		  	\
 $(SDIR)/dimm.$(ARCH).o		  	\
@@ -31,8 +34,5 @@
 $(SDIR)/camera.$(ARCH).o	  	\
 $(SDIR)/findstars.$(ARCH).o	  	\
-$(SDIR)/telescope.$(ARCH).o       	\
-$(SDIR)/Camera.$(ARCH).o		\
-$(SDIR)/Serial.$(ARCH).o		\
-$(SDIR)/Telescope.$(ARCH).o             
+$(SDIR)/telescope.$(ARCH).o       	
 
 libs = \
@@ -44,9 +44,13 @@
 $(DESTLIB)/libsbig.a
 
-# are these used or replaced?
-# $(SDIR)/analysis.$(ARCH).o	  	\
-# $(SDIR)/Analysis.$(ARCH).o            \
-# $(SDIR)/Image.$(ARCH).o		\
+dimm: sbig $(BIN)/dimm.$(ARCH)
 
+$(BIN)/dimm.$(ARCH) : $(funcs) $(cmds) $(libs)
+
+install: $(DESTBIN)/dimm help
+
+help: cmd.basic.help cmd.data.help cmd.astro.help dimm.help
+
+# SBIG install functions
 sbig: $(DESTINC)/sbig.h $(DESTLIB)/libsbig.a
 	@echo sbig code installed
@@ -58,69 +62,10 @@
 	cp $(SDIR)/sbig/sbig.a $(DESTLIB)/libsbig.a
 
-all: dimm
+.PHONY: dimm
 
-dimm: sbig $(BIN)/dimm.$(ARCH)
-	@echo done
+include ../Makefile.Common
 
-$(BIN)/dimm.$(ARCH) : $(dimm) $(libs)
-
-install: $(DESTBIN)/dimm help
-
-help: cmd.basic.help cmd.data.help cmd.astro.help dimm.help
-
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
-
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-%.help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(HOME)/$*/help/*~
-	rm -f $(HOME)/$*/help/#*
-	cp $(HOME)/$*/help/* $(DESTHLP)/
+# are these used or replaced?
+# $(SDIR)/analysis.$(ARCH).o	  	\
+# $(SDIR)/Analysis.$(ARCH).o            \
+# $(SDIR)/Image.$(ARCH).o		\
Index: /trunk/Ohana/src/opihi/dvo/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/dvo/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/dvo/Makefile	(revision 4747)
@@ -1,5 +1,3 @@
 include ../../../Configure
-
-default: all
 
 HOME    =       $(ROOT)/src/opihi
@@ -25,5 +23,5 @@
 # dvo user commands and support functions ########################
 
-dvofuncs = \
+funcs = \
 $(SDIR)/init.$(ARCH).o            	\
 $(SDIR)/ImageOps.$(ARCH).o		\
@@ -40,5 +38,5 @@
 $(SDIR)/dvo.$(ARCH).o
 
-dvocmds = \
+cmds = \
 $(SDIR)/avextract.$(ARCH).o	  	\
 $(SDIR)/badimages.$(ARCH).o	  	\
@@ -85,6 +83,4 @@
 $(SDIR)/subpix.$(ARCH).o 		
 
-dvo = $(dvofuncs) $(dvocmds)
-
 libs = \
 $(DESTLIB)/libshell.a \
@@ -94,10 +90,7 @@
 $(DESTLIB)/libdatacmd.a
 
-all: dvo
+dvo: $(BIN)/dvo.$(ARCH)
 
-dvo: $(BIN)/dvo.$(ARCH)
-	@echo done
-
-$(BIN)/dvo.$(ARCH) : $(dvo) $(libs)
+$(BIN)/dvo.$(ARCH) : $(funcs) $(cmds) $(libs)
 
 install: $(DESTBIN)/dvo help
@@ -105,62 +98,8 @@
 help: cmd.basic.help cmd.data.help cmd.astro.help dvo.help
 
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
+.PHONY: dvo
 
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
+include ../Makefile.Common
 
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-%.help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(HOME)/$*/help/*~
-	rm -f $(HOME)/$*/help/#*
-	for i in `find $(HOME)/$*/help -type f -maxdepth 1`; do cp -f $$i $(DESTHLP); done
-
-## -*- makefile -*- 
 # deprecated functions: verify & delete
 #$(SDIR)/abszero.$(ARCH).o \
Index: /trunk/Ohana/src/opihi/lib.data/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/lib.data/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/lib.data/Makefile	(revision 4747)
@@ -20,5 +20,5 @@
 
 # general numerical functions (libdata) #####################
-libdata = \
+srcs = \
 $(SDIR)/convert.$(ARCH).o               \
 $(SDIR)/sort.$(ARCH).o                  \
@@ -40,61 +40,20 @@
 $(SDIR)/PlotVectors.$(ARCH).o
 
+# dependancy rules for include files ########################
+incs = \
+$(INC)/opihi.h \
+$(INC)/external.h \
+$(INC)/shell.h \
+$(INC)/dvomath.h \
+$(INC)/convert.h \
+$(INC)/display.h 
+
 libdata: $(DESTLIB)/libdata.a
-
-$(LIB)/libdata.$(ARCH).a: $(libdata)
-
-# utilities #################################################
-# .SUFFIXES: .$(ARCH).o
-
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
-
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
+$(DESTLIB)/libdata.a: $(LIB)/libdata.$(ARCH).a
+$(LIB)/libdata.$(ARCH).a: $(srcs)
+$(srcs): $(incs)
 
 uninstall:
 	rm -f $(DESTLIB)/libdata.a
+
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/lib.shell/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/lib.shell/Makefile	(revision 4747)
@@ -5,5 +5,4 @@
 LIB     =       $(HOME)/lib
 INC     =       $(HOME)/include
-MDIR    =       $(HOME)/misc
 SDIR    =       $(HOME)/lib.shell
 #
@@ -21,5 +20,4 @@
 
 # opihi shell functions (libopihi) ########################
-
 shell = \
 $(SDIR)/ConfigInit.$(ARCH).o		\
@@ -58,64 +56,20 @@
 $(SDIR)/opihi.$(ARCH).o
 
-libshell:    $(DESTLIB)/libshell.a 
+# dependancy rules for include files ########################
+incs = \
+$(INC)/opihi.h \
+$(INC)/external.h \
+$(INC)/shell.h \
+$(INC)/dvomath.h \
+$(INC)/convert.h \
+$(INC)/display.h 
 
-$(LIB)/libshell.$(ARCH).a:   	$(shell)
-
-# dependancy rules for include files ########################
-baseinc = $(INC)/external.h $(INC)/shell.h $(INC)/dvomath.h $(INC)/convert.h $(INC)/display.h 
-
-$(shell)   	 : $(INC)/opihi.h $(baseinc)
-
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
-
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
+libshell: $(DESTLIB)/libshell.a 
+$(DESTLIB)/libshell.a: $(LIB)/libshell.$(ARCH).a
+$(LIB)/libshell.$(ARCH).a: $(shell)
+$(shell) : $(incs)
 
 uninstall:
 	rm -f $(DESTLIB)/libshell.a
+
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/mana/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/mana/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/mana/Makefile	(revision 4747)
@@ -1,5 +1,3 @@
 include ../../../Configure
-
-default: all
 
 HOME    =       $(ROOT)/src/opihi
@@ -45,8 +43,5 @@
 $(DESTLIB)/libdatacmd.a
 
-all: mana
-
 mana: $(BIN)/mana.$(ARCH)
-	@echo done
 
 $(BIN)/mana.$(ARCH) : $(mana) $(libs)
@@ -56,58 +51,5 @@
 help: cmd.basic.help cmd.data.help cmd.astro.help mana.help
 
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
+.PHONY: mana
 
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-%.help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(HOME)/$*/help/*~
-	rm -f $(HOME)/$*/help/#*
-	for i in `find $(HOME)/$*/help -type f -maxdepth 1`; do cp -f $$i $(DESTHLP); done
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/pantasks/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/pantasks/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/pantasks/Makefile	(revision 4747)
@@ -1,5 +1,3 @@
 include ../../../Configure
-
-default: all
 
 HOME    =       $(ROOT)/src/opihi
@@ -68,8 +66,5 @@
 $(DESTLIB)/libdatacmd.a
 
-all: psched
-
 psched: $(BIN)/psched.$(ARCH)
-	@echo done
 
 $(BIN)/psched.$(ARCH) : $(funcs) $(cmds) $(libs)
@@ -79,58 +74,5 @@
 help: cmd.basic.help cmd.data.help cmd.astro.help psched.help
 
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
+.PHONY: psched
 
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-%.help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(HOME)/$*/help/*~
-	rm -f $(HOME)/$*/help/#*
-	for i in `find $(HOME)/$*/help -type f -maxdepth 1`; do cp -f $$i $(DESTHLP); done
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/pclient/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/pclient/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/pclient/Makefile	(revision 4747)
@@ -1,5 +1,3 @@
 include ../../../Configure
-
-default: all
 
 HOME    =       $(ROOT)/src/opihi
@@ -20,5 +18,5 @@
 LIBS2   =       -lbasiccmd -lshell -ldata
 LIBS    =       $(LIBS2) $(LIBS1) 
-CFLAGS  =       $(INCS)
+CFLAGS  =       $(INCS) -DHELPDIR_DEFAULT=$(DESTHLP)
 CCFLAGS =       $(LIBS) 
 
@@ -37,6 +35,4 @@
 $(SDIR)/stdout.$(ARCH).o 
 
-pclient = $(cmds) $(funcs)
-
 libs = \
 $(DESTLIB)/libbasiccmd.a \
@@ -44,10 +40,7 @@
 $(DESTLIB)/libdata.a
 
-all: pclient
+pclient: $(BIN)/pclient.$(ARCH)
 
-pclient: $(BIN)/pclient.$(ARCH)
-	@echo done
-
-$(BIN)/pclient.$(ARCH) : $(pclient) $(libs)
+$(BIN)/pclient.$(ARCH) : $(funcs) $(cmds) $(libs)
 
 install: $(DESTBIN)/pclient help
@@ -55,62 +48,5 @@
 help: clean-help cmd.basic.help pclient.help
 
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
+.PHONY: pclient
 
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-clean-help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(DESTHLP)/*
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-%.help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(HOME)/$*/help/*~
-	rm -f $(HOME)/$*/help/#*
-	for i in `find $(HOME)/$*/help -type f -maxdepth 1`; do cp -f $$i $(DESTHLP); done
+include ../Makefile.Common
Index: /trunk/Ohana/src/opihi/pcontrol/Makefile
===================================================================
--- /trunk/Ohana/src/opihi/pcontrol/Makefile	(revision 4746)
+++ /trunk/Ohana/src/opihi/pcontrol/Makefile	(revision 4747)
@@ -1,5 +1,3 @@
 include ../../../Configure
-
-default: all
 
 HOME    =       $(ROOT)/src/opihi
@@ -66,8 +64,5 @@
 $(DESTLIB)/libdata.a
 
-all: pcontrol
-
 pcontrol: $(BIN)/pcontrol.$(ARCH)
-	@echo done
 
 $(BIN)/pcontrol.$(ARCH) : $(pcontrol) $(libs)
@@ -77,61 +72,5 @@
 help: clean-help cmd.basic.help pcontrol.help
 
-# utilities #################################################
-$(BIN)/%.$(ARCH):
-	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) $^ -o $@ $(LFLAGS) $(LIBS)
-	@echo "compiled $*"
-	@echo ""
+.PHONY: pcontrol
 
-$(DESTBIN)/%: $(BIN)/%.$(ARCH) 
-	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
-	rm -f $(DESTBIN)/$*
-	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*
-	@echo "installed $*"
-	@echo ""
-
-$(LIB)/%.$(ARCH).a:
-	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
-	rm -f $@
-	ar rcv $@ $^ 
-	$(RANLIB) $@
-	@echo "compiled library $*"
-	@echo ""
-
-$(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
-	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
-	@echo ""
-	rm -f $@
-	cp $^ $@
-
-clean:
-	rm -f $(BIN)/*.$(ARCH)
-	rm -f $(LIB)/*.$(ARCH).a
-	rm -f `find . -name "*.o"`
-	rm -f `find . -name "*~"`
-	rm -f `find . -name "#*"`
-
-clean-help:
-	@if [ ! -d $(DESTHLP) ]; then mkdir -p $(DESTHLP); fi
-	rm -f $(DESTHLP)/*
-
-dist: clean
-	rm -f $(BIN)/*
-	rm -f $(LIB)/*
-
-lib%.clean:
-	rm -f $(LIB)/lib$*.$(ARCH).a
-	rm -f $($*)
-	@echo ""
-
-%.clean:
-	rm -f $(BIN)/$*.$(ARCH)
-	@echo ""
-
-%.$(ARCH).o : %.c
-	$(CC) $(CFLAGS) -c $*.c -o $@
-
-%.help:
-	rm -f $(HOME)/$*/help/*~
-	rm -f $(HOME)/$*/help/#*
-	for i in `find $(HOME)/$*/help -type f -maxdepth 1`; do cp -f $$i $(DESTHLP); done
+include ../Makefile.Common
