#-------------------------------------------------------------------------------
# Macros specific to the caltools/src/rpsfqdp task
#-------------------------------------------------------------------------------
FSRC		=	rpsfqdp.f
LIB_FILES	=	${BLDLIB}/libcaltools.a ${BLDLIB}/libcftools.a \
			${BLDLIB}/libftools.a ${BLDLIB}/libcfitsio.a \
			${BLDLIB}/libxanlib.a ${BLDLIB}/libreadline.a \
			${BLDLIB}/libhistory.a
LIB_FLAGS	=	-lcaltools -lcftools -lftools -lcfitsio -lxanlib \
			-lreadline -lhistory
LOC_FFLAGS	=
OBJECTS		=	${FSRC:.f=.o}
PKG		=	caltools
LHEA_ID		=	caltools/src/rpsfqdp
SUBNAME		=	rpsfqp_
TASK		=	rpsfqdp
#-------------------------------------------------------------------------------
# General LHEA task macros
#-------------------------------------------------------------------------------
PKGTOP		=	${LHEA_SRC}/${PKG}
BLDBIN		=	.
BLDINC		=	${LHEA_SRC}/include
BLDLIB		=	${LHEA_SRC}/lib.tmp

BINARY		=	${BLDBIN}/${TASK}${BIN_EXT}
LIB_DEPENDS	=
LIB_PATH	=	-L${BLDLIB} -L${LHEA_LIB}
PKGLIB		=	${PKGTOP}/host/lib${PKGLIB_ROOT}.a
PKGLIB_ROOT	=	${PKG}_disp
PKG_OPTION	=	standalone
PKGTARG		=
STD_LIBS	=	${LIB_FLAGS} ${CSTATLNK} ${LIB_SYSTEM}
TASKLIST_FILE	=	${PKGTOP}/tasklist.txt
#-------------------------------------------------------------------------------
# General LHEA task targets
#-------------------------------------------------------------------------------
default: ${PKG_OPTION}

all:
	@${MAKE} default clean LHEA_INC="${BLDINC}" \
		LIB_DEPENDS="${LIB_FILES}" LIB_PATH="-L${BLDLIB}"

standalone: ${BINARY}
	-rm -f object-list

${BINARY}: ${LIB_DEPENDS} h${TASK}.c ${FSRC}
	@rm -f $@
	${MAKE} h${TASK}.o ${OBJECTS}
	${CC} -o $@ ${LOC_CFLAGS} ${CFLAGS} h${TASK}.o ${OBJECTS} \
		${LD_FLAGS} ${LIB_PATH} ${STD_LIBS}
	${STRIP} $@


# start dispatch block
dispatch: object-list
	@${MAKE} ${PKGLIB} CFLAGS="${CFLAGS} ${SHLIB_CFLAGS}" \
		FFLAGS="${FFLAGS} ${SHLIB_FFLAGS}"
	@echo "${TASK} ${SUBNAME}" >> ${TASKLIST_FILE}

object-list:
	@touch $@

update-object-list:
	@-rm -f object-list; ls ${OBJECTS} > object-list 2> /dev/null

insert:
	@if [ -s object-list ]; then \
		objects=`cat object-list | sort | uniq | tr '\012' ' '`; \
		${AR} ruv ${PKGLIB} $$objects; status=$$?; \
		if [ $$status -ne 0 ]; then exit $$status; \
		else rm -f object-list; fi; \
	fi
# end dispatch block

${LIB_FILES}:
	@cd ${BUILD_DIR}; \
	target=`echo $@ | sed 's:.*/::' | sed 's:\..*::'`; \
	${MAKE} $$target BLDINC="${BLDINC}" BLDLIB="${BLDLIB}"; \
	status=$$?; if [ $$status -ne 0 ]; then exit $$status; fi
#-------------------------------------------------------------------------------
# Targets specific to the caltools/src/rpsfqdp task
#-------------------------------------------------------------------------------
${PKGLIB} :: ${FSRC}
	@${MAKE} ${?:.f=.o}

install: ${LHEASOFT}/syspfiles/${TASK}.par ${LHEA_HELP}/${TASK}.hlp \
	${LHEA_HELP}/${TASK}.txt
	@lhea-install ${BLDBIN}/${TASK}${BIN_EXT} ${LHEA_BIN}/${TASK}${BIN_EXT} mv

${LHEASOFT}/syspfiles/${TASK}.par: ${TASK}.par
	@lhea-install $? $@ cp

${LHEA_HELP}/${TASK}.hlp: ${TASK}.hlp
	@lhea-install $? $@
${LHEA_HELP}/${TASK}.txt: ${TASK}.txt
	@lhea-install $? $@

clean:
	@-rm -f *.o object-list

distclean: clean
	@-rm -f ${BINARY} ${TASK}${BIN_EXT}

.SUFFIXES:

.SUFFIXES: .c .f .o

.c.o:
	${CC} -c ${LOC_CFLAGS} ${CFLAGS} $<
	@echo $@ >> object-list

.f.o:
	${FC} -c ${LOC_FFLAGS} ${FFLAGS} $<
	@echo $@ >> object-list


#-------------------------------------------------------------------------------
