default: install
help:
	@echo "make options: install libdvo clean dist"

include ../../Configure
HOME 	=	$(ROOT)/src/libdvo
AUTO	=	$(ROOT)/src/libautocode
LIB	= 	$(HOME)/lib
SRC	=	$(HOME)/src
MAN	=	$(HOME)/doc
INC	=	$(HOME)/include
ASRC	=	$(AUTO)/src
AINC	=	$(AUTO)/include
ADEF	=	$(AUTO)/def
include ../../Makefile.Common

default: install
install: $(DESTLIB)/libdvo.a $(DESTLIB)/libdvo.so
libdvo: $(LIB)/libdvo.$(ARCH).a $(LIB)/libdvo.$(ARCH).so

INCS = $(DESTINC)/dvo.h $(DESTINC)/autocode.h

OBJS = \
$(SRC)/version.$(ARCH).o	 \
$(SRC)/coordops.$(ARCH).o	 \
$(SRC)/LoadPhotcodes.$(ARCH).o   \
$(SRC)/imreg_datatypes.$(ARCH).o \
$(SRC)/mosaic_astrom.$(ARCH).o   \
$(SRC)/fits_db.$(ARCH).o	 \
$(SRC)/photfits.$(ARCH).o        \
$(SRC)/dvo_image.$(ARCH).o       \
$(SRC)/dvo_image_raw.$(ARCH).o   \
$(SRC)/dvo_catalog.$(ARCH).o     \
$(SRC)/dvo_catalog_raw.$(ARCH).o       \
$(SRC)/dvo_catalog_mef.$(ARCH).o       \
$(SRC)/dvo_catalog_split.$(ARCH).o     \
$(SRC)/dvo_catalog_create.$(ARCH).o    \
$(SRC)/dvo_convert.$(ARCH).o           \
$(SRC)/dvo_convert_elixir.$(ARCH).o    \
$(SRC)/dvo_convert_loneos.$(ARCH).o    \
$(SRC)/dvo_convert_panstarrs.$(ARCH).o \
$(SRC)/dvo_convert_pmtest.$(ARCH).o \
$(SRC)/skyregion_io.$(ARCH).o    \
$(SRC)/skyregion_gsc.$(ARCH).o    \
$(SRC)/skyregion_ops.$(ARCH).o

include ../libautocode/Makefile.Targets

$(LIB)/libdvo.$(ARCH).a: $(AOBJS) $(OBJS)
$(LIB)/libdvo.$(ARCH).so: $(AOBJS) $(OBJS)

$(AOBJS): $(ADEF)/autocode.c $(ADEF)/autocode.h $(AINC)/autocode.h

$(ASRC)/%.$(ARCH).o : $(ADEF)/%.d
	echo "make $@ from $^"
	cd $(AUTO) && make $@

$(AINC)/%.h : $(ADEF)/%.d
	echo "make $@ from $^"
	cd $(AUTO) && make $@

$(AINC)/autocode.h: $(AINCS) $(ADEF)/common.h
	echo "make $@ from $^"
	cd $(AUTO) && make $@

tabletest: install
	gcc -L$(LIBDIR) -I$(INCDIR) -o tabletest $(SRC)/tabletest.c -ldvo -lFITS -lohana -lm

clean: cleandef
cleandef:
	cd $(AUTO) && make clean
