#------------------------------------------------------------------------------- # Macros specific to the caltools/src/brcaldb task #------------------------------------------------------------------------------- CSRC = brcaldb.c bryfuncs.c copy_cmd.c lex_cb.c show_cmd.c \ y_tab.c 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_CFLAGS = -Iinclude/ -I${LHEA_INC}/ OBJECTS = ${CSRC:.c=.o} PKG = caltools LHEA_ID = caltools/src/brcaldb SUBNAME = brcalb TASK = brcaldb #------------------------------------------------------------------------------- # 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 ${CSRC} ${LHEA_INC}/cfitsio.h \ ${LHEA_INC}/ftools.h ${LHEA_INC}/ftoolstruct.h ${LHEA_INC}/xpi.h \ include/alscfgnode.h include/cifdata.h include/cifnode.h \ include/cnfgdata.h include/colm.h include/optr.h \ include/selrowsnode.h include/setxpisysvar.h include/y_tab.h @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/brcaldb task #------------------------------------------------------------------------------- ${PKGLIB} :: ${CSRC} @${MAKE} ${?:.c=.o} ${PKGLIB} :: ${LHEA_INC}/cfitsio.h @${MAKE} brcaldb.o ${PKGLIB} :: ${LHEA_INC}/ftools.h @${MAKE} brcaldb.o bryfuncs.o copy_cmd.o show_cmd.o y_tab.o ${PKGLIB} :: ${LHEA_INC}/ftoolstruct.h @${MAKE} brcaldb.o ${PKGLIB} :: ${LHEA_INC}/xpi.h @${MAKE} brcaldb.o ${PKGLIB} :: include/alscfgnode.h @${MAKE} brcaldb.o ${PKGLIB} :: include/cifdata.h @${MAKE} brcaldb.o bryfuncs.o copy_cmd.o show_cmd.o y_tab.o ${PKGLIB} :: include/cifnode.h @${MAKE} brcaldb.o ${PKGLIB} :: include/cnfgdata.h @${MAKE} brcaldb.o ${PKGLIB} :: include/colm.h @${MAKE} brcaldb.o show_cmd.o ${PKGLIB} :: include/optr.h @${MAKE} brcaldb.o bryfuncs.o lex_cb.o show_cmd.o y_tab.o ${PKGLIB} :: include/selrowsnode.h @${MAKE} brcaldb.o ${PKGLIB} :: include/setxpisysvar.h @${MAKE} brcaldb.o ${PKGLIB} :: include/y_tab.h @${MAKE} brcaldb.o lex_cb.o show_cmd.o brcaldb.o: ${LHEA_INC}/cfitsio.h ${LHEA_INC}/ftools.h \ ${LHEA_INC}/ftoolstruct.h ${LHEA_INC}/xpi.h include/alscfgnode.h \ include/cifdata.h include/cifnode.h include/cnfgdata.h \ include/colm.h include/optr.h include/selrowsnode.h \ include/setxpisysvar.h include/y_tab.h bryfuncs.o: ${LHEA_INC}/ftools.h include/cifdata.h include/optr.h copy_cmd.o: ${LHEA_INC}/ftools.h include/cifdata.h lex_cb.o: include/optr.h include/y_tab.h show_cmd.o: ${LHEA_INC}/ftools.h include/cifdata.h include/colm.h \ include/optr.h include/y_tab.h y_tab.o: ${LHEA_INC}/ftools.h include/cifdata.h include/optr.h install: ${LHEASOFT}/syspfiles/${TASK}.par ${LHEA_HELP}/${TASK}.hlp \ ${LHEA_HELP}/${TASK}.txt ${LHEA_BIN}/brcaldb.cmd \ ${LHEA_BIN}/brcaldb.cmd1 ${LHEA_BIN}/brcaldb.key \ ${LHEA_BIN}/brcaldb.kw ${LHEA_BIN}/brcaldb.shf ${LHEA_BIN}/brcaldb.udc1 @lhea-install ${BLDBIN}/${TASK}${BIN_EXT} ${LHEA_BIN}/${TASK}${BIN_EXT} mv ${LHEASOFT}/syspfiles/${TASK}.par: ${TASK}.par @lhea-install $? $@ cp ${LHEA_BIN}/brcaldb.cmd: brcaldb.cmd @lhea-install $? $@ ${LHEA_BIN}/brcaldb.cmd1: brcaldb.cmd1 @lhea-install $? $@ ${LHEA_BIN}/brcaldb.key: brcaldb.key @lhea-install $? $@ ${LHEA_BIN}/brcaldb.kw: brcaldb.kw @lhea-install $? $@ ${LHEA_BIN}/brcaldb.shf: brcaldb.shf @lhea-install $? $@ ${LHEA_BIN}/brcaldb.udc1: brcaldb.udc1 @lhea-install $? $@ ${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 .o .c.o: ${CC} -c ${LOC_CFLAGS} ${CFLAGS} $< @echo $@ >> object-list #-------------------------------------------------------------------------------