#------------------------------------------------------------------------------- # Macros specific to the caltools/src/crcif task #------------------------------------------------------------------------------- FSRC = crcif.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/crcif SUBNAME = crcif_ TASK = crcif #------------------------------------------------------------------------------- # 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/crcif 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 #-------------------------------------------------------------------------------