#------------------------------------------------------------------------------- # Macros specific to the caltools package source tree #------------------------------------------------------------------------------- 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 PKG = caltools LHEA_ID = caltools/host TASKLIST = addarf addrmf brcaldb c_caldbflag c_caldbinfo \ c_crtcif calcrpsf caldbflag caldbinfo chkcif cifcadd \ cmppha col2img crcif dmprmf gcorpha gcorrmf genrsp \ lstgood marfrmf mkcaldb mkcaldir mkcalinit mudcif \ quzcif rbnrmf rbnrpsf rpsf2eef rpsfqdp rsp2rmf \ st2rpsf stcal stw2pha udcif #------------------------------------------------------------------------------- # General LHEA package macros #------------------------------------------------------------------------------- PKGTOP = ${LHEA_SRC}/${PKG} BLDBIN = ${PKGTOP}/bin.tmp BLDINC = ${LHEA_SRC}/include BLDLIB = ${LHEA_SRC}/lib.tmp BLDTMP = ${PKGTOP}/bldtmp BINARY = ${BLDBIN}/${DISPBIN} DISPBIN = ${PKG}_dispatch${BIN_EXT} LIB_DEPENDS = LIB_PATH = -L${BLDLIB} -L${LHEA_LIB} PKGLIB_ROOT = ${PKG}_disp PKGLIB = ${PKGTOP}/host/lib${PKGLIB_ROOT}.a PKG_SHLIB = ${PKGTOP}/host/lib${PKGLIB_ROOT}${SHLIB_SUFFIX} PKG_OPTION = standalone PKGTARG = default RANSTAMP = .timestamp-ranlib SHELL = /bin/sh TASKLIST_FILE = ${PKGTOP}/tasklist.txt #------------------------------------------------------------------------------- # General LHEA package targets #------------------------------------------------------------------------------- default: ${PKG_OPTION} all: @${MAKE} default clean LHEA_INC="${BLDINC}" \ LIB_PATH="-L${BLDLIB}" PKGTARG="all" update: @${MAKE} default BLDBIN="${LHEA_BIN}" BLDINC="${LHEA_INC}" \ BLDLIB="${LHEA_LIB}" LIB_PATH="-L${LHEA_LIB}" standalone: subdirs subdirs: ${BLDBIN} @for dir in ${TASKLIST}; do \ cd ${PKGTOP}/src/$$dir; ${MAKE} ${PKGTARG}; \ status=$$?; if [ $$status -ne 0 ]; then exit $$status; fi; \ done # start dispatch block dispatch: statlib @if [ "x${PKGTARG}" = xall ]; then \ ${MAKE} ${BINARY} LIB_DEPENDS="${LIB_FILES}"; \ else \ ${MAKE} ${BINARY}; \ fi statlib: @${MAKE} subdirs PKGTARG="dispatch" @${MAKE} subdirs PKGTARG="insert" @${MAKE} ${RANSTAMP} ${RANSTAMP}: ${PKGLIB} ${RANLIB} ${PKGLIB} @sleep 1; touch $@ ${BINARY}: ${LIB_DEPENDS} ${PKG_SHLIB} ${MAKE} ${PKG}_dispatch.o CFLAGS="${CFLAGS} ${SHLIB_CFLAGS}" ${CC} ${CFLAGS} -o $@ ${PKG}_dispatch.o -L./ ${LIB_PATH} \ ${LD_FLAGS} ${SHLIB_LD_FLAGS} -l${PKGLIB_ROOT} \ ${LIB_FLAGS} ${CSTATLNK} ${LIB_SYSTEM} ${STRIP} $@ ${PKG}_dispatch.c: ${TASKLIST_FILE} @if [ -s $? ]; then lhea-dispwrap $@ $?; fi ${PKG_SHLIB}: ${PKGLIB} rm -rf ${BLDTMP}; mkdir ${BLDTMP}; cd ${BLDTMP}; \ ${AR} x ${PKGLIB}; rm -f _*; \ ${SHLIB_LD} -o lib${PKGLIB_ROOT}${SHLIB_SUFFIX} *; \ mv lib${PKGLIB_ROOT}${SHLIB_SUFFIX} $@ rm -rf ${BLDTMP} update-object-list: @${MAKE} subdirs PKGTARG="update-object-list" filelinks: @if [ -s ${TASKLIST_FILE} ]; then \ for task in \ `cat ${TASKLIST_FILE} | sort | uniq | sed -e 's: .*::'`; do \ rm -f ${BLDBIN}/$$task${BIN_EXT}; \ lhea-install ${BINARY} ${BLDBIN}/$$task${BIN_EXT} 'ln -s'; \ done; \ fi ${TASKLIST_FILE}: @touch ${TASKLIST_FILE} # end dispatch block install: ${LHEASOFT} help refdata @lhea-install ${PKGLIB} ${LHEA_LIB}/lib${PKGLIB_ROOT}.a mv @lhea-install ${PKG_SHLIB} \ ${LHEA_LIB}/lib${PKGLIB_ROOT}${SHLIB_SUFFIX} mv @lhea-install ${BINARY} ${LHEA_BIN}/${DISPBIN} mv @lhea-install ../${PKG}.par ${LHEASOFT}/syspfiles/${PKG}.par @${MAKE} filelinks BLDBIN="${LHEA_BIN}" @${MAKE} subdirs PKGTARG="install" @${MAKE} scripts help: @lhea-install ${PKGTOP}/doc ${LHEA_HELP} @lhea-install ${PKGTOP}/help ${LHEA_HELP} ${BLDBIN} ${LHEASOFT}: mkdir $@ scripts: @echo "No Scripts in package ${PKG}" force: refdata: @echo "No Refdata files in package ${PKG}" clean: @-echo "Cleaning ${PKG}"; \ ${MAKE} subdirs PKGTARG="clean"; \ rm -rf ${BLDTMP} ${PKG}_dispatch.o distclean: @-echo "Distcleaning ${PKG}"; \ ${MAKE} subdirs PKGTARG="distclean"; \ rm -rf ${BINARY} ${PKGTOP}/bin.tmp ${BLDTMP} ${PKG}_dispatch.* \ ${PKGLIB} ${PKG_SHLIB} ${RANSTAMP} ${TASKLIST_FILE} ${LIB_FILES}: @cd ${BUILD_DIR}; \ target=`echo $@ | sed 's:.*/::' | sed 's:\..*::'`; \ ${MAKE} $$target; \ status=$$?; if [ $$status -ne 0 ]; then exit $$status; fi #------------------------------------------------------------------------------- # Targets specific to the caltools package source tree #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------