include ../../Configure
HOME	=	.

HEAD	=	$(HOME)/header
MATR	=	$(HOME)/matrix
TABL	=	$(HOME)/table
LIB	=	$(HOME)/lib
INC	=	$(HOME)/include
MAN	= 	$(HOME)/doc
DESTLIB	=	$(LLIB)
DESTINC	=	$(LINC)
DESTMAN	=	$(LMAN)

INCS	=	-I$(INC) 
CFLAGS	=	-o $*.$(ARCH).o $(INCS) -D$(ARCH)
LFLAGS	=	-c $(INCS)

default: install

sample: /h/eugene/src/ohana/lib/linux/libFITS.a sample.o
	gcc -g -o sample sample.o /h/eugene/src/ohana/lib/linux/libFITS.a -lm

sample2: /h/eugene/src/ohana/lib/linux/libFITS.a sample2.o
	gcc -g -o sample2 sample2.o /h/eugene/src/ohana/lib/linux/libFITS.a -lm

fits: $(DESTLIB)/libFITS.a

install: $(DESTINC)/fitsio.h $(DESTLIB)/libFITS.a $(DESTMAN)/fits.1

HEADER_OBJ = \
$(HEAD)/F_modify.$(ARCH).o			$(HEAD)/F_create_H.$(ARCH).o  \
$(HEAD)/F_free_H.$(ARCH).o			$(HEAD)/F_H_field.$(ARCH).o   \
$(HEAD)/F_read_H.$(ARCH).o			$(HEAD)/F_write_H.$(ARCH).o   \
$(HEAD)/F_scan.$(ARCH).o			$(HEAD)/F_print.$(ARCH).o     \
$(HEAD)/F_copy_H.$(ARCH).o			$(HEAD)/F_delete.$(ARCH).o    \
$(HEAD)/F_read_XH.$(ARCH).o			$(HEAD)/F_init_H.$(ARCH).o

MATRIX_OBJ = \
$(MATR)/F_add_M_value.$(ARCH).o 		$(MATR)/F_add_M.$(ARCH).o        \
$(MATR)/F_create_M.$(ARCH).o 			$(MATR)/F_divide_M.$(ARCH).o     \
$(MATR)/F_free_M.$(ARCH).o 			$(MATR)/F_copy_M.$(ARCH).o       \
$(MATR)/F_write_M.$(ARCH).o 			$(MATR)/F_get_M_value.$(ARCH).o  \
$(MATR)/F_multiply_M.$(ARCH).o 			$(MATR)/F_read_M.$(ARCH).o       \
$(MATR)/F_insert_M.$(ARCH).o 			$(MATR)/F_set_M_value.$(ARCH).o  \
$(MATR)/F_convert_format.$(ARCH).o              $(MATR)/F_read_segment.$(ARCH).o \
$(MATR)/F_read_portion.$(ARCH).o		$(MATR)/F_load_M.$(ARCH).o	 \
$(MATR)/F_matrix.$(ARCH).o

TABLE_OBJ = \
$(TABL)/F_create_T.$(ARCH).o 			$(TABL)/F_create_TH.$(ARCH).o    \
$(TABL)/F_read_T.$(ARCH).o			$(TABL)/F_read_TH.$(ARCH).o      \
$(TABL)/F_write_T.$(ARCH).o			$(TABL)/F_write_TH.$(ARCH).o     \
$(TABL)/F_define_column.$(ARCH).o		$(TABL)/F_table_format.$(ARCH).o \
$(TABL)/F_set_column.$(ARCH).o			$(TABL)/F_get_column.$(ARCH).o   \
$(TABL)/F_table_row.$(ARCH).o			$(TABL)/F_free_T.$(ARCH).o

# $(TABL)/F_table_column.$(ARCH).o		\
# $(TABL)/F_get_T_column.$(ARCH).o		\
# $(TABL)/F_get_T_value.$(ARCH).o

LIBOBJ = $(HEADER_OBJ) $(MATRIX_OBJ) $(TABLE_OBJ)

$(LIBOBJ): $(INC)/fits.h $(INC)/fitsio.h

$(LIB)/libFITS.$(ARCH).a: $(LIBOBJ)
	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
	rm -f $(LIB)/libFITS.$(ARCH).a
	ar rcv $(LIB)/libFITS.$(ARCH).a $(LIBOBJ)
	ranlib $(LIB)/libFITS.$(ARCH).a

$(DESTLIB)/libFITS.a: $(LIB)/libFITS.$(ARCH).a 
	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
	rm -f  $(DESTLIB)/libFITS.a
	cp $(LIB)/libFITS.$(ARCH).a $(DESTLIB)/libFITS.a

$(DESTINC)/fitsio.h: $(INC)/fitsio.h
	@if [ ! -d $(DESTINC) ]; then mkdir -p $(DESTINC); fi
	rm -f $(DESTINC)/fitsio.h
	cp $(INC)/fitsio.h $(DESTINC)/

$(DESTMAN)/fits.1: $(MAN)/fits.1
	@if [ ! -d $(DESTMAN) ]; then mkdir -p $(DESTMAN); fi
	rm -f $(DESTMAN)/fits.1
	cp $(MAN)/fits.1    $(DESTMAN)/

clean:
	rm -f */*.a
	rm -f */*.o
	rm -f */*~
	rm -f */#*

.SUFFIXES: .$(ARCH).o

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

