default: gastro
help:
	@echo "make options: gastro (default)"

include ../../Configure

HOME 	=	$(ROOT)/src/gastro
BIN	=	$(HOME)/bin
INC	= 	$(HOME)/include
SRC	=	$(HOME)/src
MAN	=	$(HOME)/doc
DESTBIN	=	$(LBIN)
DESTLIB	=	$(LLIB)
DESTINC	=	$(LINC)
DESTMAN	=	$(LMAN)

#  
INCS	= 	-I$(INC) -I$(LINC) -I$(XINC)
LIBS	= 	-L$(LLIB) -ldvo -lFITS -lohana -lm -lsocket -lnsl 
CFLAGS	=	$(INCS)
LFLAGS	=	$(LIBS) 

# -----------------------
OBJ	= \
$(SRC)/gastro.$(ARCH).o \
$(SRC)/gstars.$(ARCH).o \
$(SRC)/gargs.$(ARCH).o \
$(SRC)/gregions2.$(ARCH).o \
$(SRC)/gcatalog.$(ARCH).o \
$(SRC)/gcenter.$(ARCH).o \
$(SRC)/granges.$(ARCH).o \
$(SRC)/gfit.$(ARCH).o \
$(SRC)/rotate.$(ARCH).o \
$(SRC)/gproject.$(ARCH).o \
$(SRC)/gheader.$(ARCH).o \
$(SRC)/ConfigInit.$(ARCH).o \
$(SRC)/sort.$(ARCH).o \
$(SRC)/gfitpoly.$(ARCH).o \
$(SRC)/get_region_coords.$(ARCH).o \
$(SRC)/greference.$(ARCH).o \
$(SRC)/getusno.$(ARCH).o \
$(SRC)/plotstuff.$(ARCH).o \
$(SRC)/gptolemy.$(ARCH).o \
$(SRC)/g2mass.$(ARCH).o \
$(SRC)/misc.$(ARCH).o

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

$(BIN)/gastro.$(ARCH): $(OBJ)

$(OBJ): $(INC)/gastro.h

INSTALL = gastro

# generic 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) $^ -o $@ $(LFLAGS)

$(DESTBIN)/%: $(BIN)/%.$(ARCH)
	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
	rm -f $(DESTBIN)/$*
	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*

$(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)
	rm -f `find . -name "*.o"`
	rm -f `find . -name "*~"`
	rm -f `find . -name "#*"`
