include ../../../Configure

default: all

HOME    =       $(ROOT)/src/opihi.v2
BIN     =       $(HOME)/bin
LIB     =       $(HOME)/lib
INC     =       $(HOME)/include
HELP    =       $(HOME)/help
SDIR    =       $(HOME)/dimm
#
DESTBIN =       $(LBIN)
DESTLIB =       $(LLIB)
DESTINC =       $(LINC)
DESTMAN =       $(LMAN)
#  
INCS    =       -I$(INC) -I$(LINC) -I$(XINC)
LFLAGS  =       -L$(LLIB) -L$(LIB)
LIBS1   =       -lFITS -lsocket -lnsl -lreadline -ltermcap -lohana -lm
LIBS2   =       -lbasiccmd -ldatacmd -lastrocmd -lshell -ldata -lsbig
LIBS    =       $(LIBS2) $(LIBS1) 
CFLAGS  =       $(INCS)
CCFLAGS =       $(LIBS) 

# dimm user commands and support functions #####################

sbig: $(DESTINC)/sbig.h $(DESTLIB)/libsbig.a
	@echo sbig code installed

$(DESTINC)/sbig.h:	$(SDIR)/sbig/sbig.h
	cp $(SDIR)/sbig/sbig.h $(DESTINC)/sbig.h

$(DESTLIB)/libsbig.a:	$(SDIR)/sbig/sbig.a
	cp $(SDIR)/sbig/sbig.a $(DESTLIB)/libsbig.a

dimm = \
$(SDIR)/init.$(ARCH).o		  	\
$(SDIR)/dimm.$(ARCH).o		  	\
$(SDIR)/altaz.$(ARCH).o		  	\
$(SDIR)/camera.$(ARCH).o	  	\
$(SDIR)/findstars.$(ARCH).o	  	\
$(SDIR)/telescope.$(ARCH).o       	\
$(SDIR)/Camera.$(ARCH).o		\
$(SDIR)/Serial.$(ARCH).o		\
$(SDIR)/Telescope.$(ARCH).o             

# are these used or replaced?
# $(SDIR)/analysis.$(ARCH).o	  	\
# $(SDIR)/Analysis.$(ARCH).o            \
# $(SDIR)/Image.$(ARCH).o		\

all: dimm

dimm: sbig $(BIN)/dimm.$(ARCH)
	@echo done

$(BIN)/dimm.$(ARCH) : $(dimm)

install: $(DESTBIN)/dimm

# 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)/*
