include ../../Configure
HOME 	=	$(ROOT)/src/gastro
CONFIG  =	$(ROOT)/config

default: 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) -lFITS -lohana -lm -lsocket -lnsl 
CFLAGS	=	-o $*.$(ARCH).o $(INCS)
CCFLAGS	=	$(INCS) $(LIBS) 

OBJS	= \
$(SRC)/get_stars.$(ARCH).o 		$(SRC)/delta.$(ARCH).o        \
$(SRC)/line_fit.$(ARCH).o 		$(SRC)/ranges.$(ARCH).o       \
$(SRC)/find_shift.$(ARCH).o 		

# 
# -----------------------
EOBJ	= \
$(SRC)/extract.$(ARCH).o 		$(SRC)/extract_catalog.$(ARCH).o \
$(SRC)/precess.$(ARCH).o		$(SRC)/stats.$(ARCH).o


$(EOBJ):  $(INC)/astro.h

extract: $(BIN)/extract

$(BIN)/extract: $(EOBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $(EOBJ) -o $(BIN)/extract $(CCFLAGS) 

install.extract:
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	rm -f $(DESTBIN)/extract
	cp $(BIN)/extract   $(DESTBIN)/
# -----------------------
SOBJ	= \
$(SRC)/simulate.$(ARCH).o 		$(SRC)/gregions2.$(ARCH).o \
$(SRC)/gcatalog.$(ARCH).o		$(SRC)/coordops.$(ARCH).o \
$(SRC)/gproject.$(ARCH).o		$(SRC)/gaussian.$(ARCH).o

$(SOBJ):  $(INC)/astro.h

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

$(BIN)/simulate: $(SOBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $(SOBJ) -o $(BIN)/simulate.$(ARCH) $(CCFLAGS) 

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

# -----------------------
GOBJ	= \
$(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)/gaussj.$(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

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

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

$(BIN)/gastro.$(ARCH): $(GOBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $(GOBJ) -o $(BIN)/gastro.$(ARCH) $(CCFLAGS) 

install.gastro: $(DESTBIN)/gastro

$(DESTBIN)/gastro: $(BIN)/gastro.$(ARCH)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	rm -f $(DESTBIN)/gastro
	cp $(BIN)/gastro.$(ARCH)   $(DESTBIN)/gastro
# -----------------------
DOBJ	= \
$(SRC)/gscdump.$(ARCH).o 		$(SRC)/gstars.$(ARCH).o \
$(SRC)/gargs.$(ARCH).o			$(SRC)/gregions2.$(ARCH).o \
$(SRC)/gcatalog.$(ARCH).o		$(SRC)/coordops.$(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)/config.$(ARCH).o			$(SRC)/ConfigInit.$(ARCH).o \
$(SRC)/sort.$(ARCH).o

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

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

$(BIN)/gscdump.$(ARCH): $(DOBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $(DOBJ) -o $(BIN)/gscdump.$(ARCH) $(CCFLAGS) 

install.gscdump: $(DESTBIN)/gscdump

$(DESTBIN)/gscdump: $(BIN)/gscdump.$(ARCH)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	rm -f $(DESTBIN)/gscdump
	cp $(BIN)/gscdump.$(ARCH)   $(DESTBIN)/gscdump
# -----------------------
AOBJ	= $(OBJS) \
$(SRC)/stats.$(ARCH).o 			$(SRC)/astro.$(ARCH).o \
$(SRC)/get_catalog_stars.$(ARCH).o 	$(SRC)/extract_catalog.$(ARCH).o \
$(SRC)/precess.$(ARCH).o		$(SRC)/alter_header.$(ARCH).o \
$(SRC)/args.$(ARCH).o			

$(AOBJ):  $(INC)/astro.h

astro: $(BIN)/astro

$(BIN)/astro: $(AOBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $(AOBJ) -o $(BIN)/astro $(CCFLAGS) 

# -----------------------
ROBJ	= $(OBJS) \
$(SRC)/rastro.$(ARCH).o 		$(SRC)/ralter_header.$(ARCH).o \
$(SRC)/rargs.$(ARCH).o			$(SRC)/get_argument.$(ARCH).o \
$(SRC)/remove_argument.$(ARCH).o

$(ROBJ):  $(INC)/astro.h

rastro: $(BIN)/rastro

$(BIN)/rastro: $(ROBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $(ROBJ) -o $(BIN)/rastro $(CCFLAGS) 

# -----------------------
install: install.gastro

clean:
	rm -f $(BIN)/*.$(ARCH)
	rm -f `find . -name "*.o"`
	rm -f `find . -name "*~"`
	rm -f `find . -name "#*"`

dist: clean
	rm -f $(BIN)/astro
	rm -f $(BIN)/rastro


.SUFFIXES: .$(ARCH).o

.c.$(ARCH).o:
	$(CC) $(CFLAGS) -c $<


