cannam@167: # -*- makefile -*- cannam@167: # This file contains special make rules to generate codelets. cannam@167: # Most of this file requires GNU make . cannam@167: cannam@167: CODLIST = codlist.c cannam@167: CODELET_NAME=codelet_ cannam@167: cannam@167: # only delete codlist.c in maintainer-mode, since it is included in the dist cannam@167: # FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? cannam@167: maintainer-clean-local: cannam@167: rm -f $(CODLIST) cannam@167: cannam@167: if MAINTAINER_MODE cannam@167: cannam@167: # rule to build codlist cannam@167: $(CODLIST): Makefile cannam@167: ( \ cannam@167: echo "#include \"kernel/ifftw.h\""; \ cannam@167: echo $(INCLUDE_SIMD_HEADER); \ cannam@167: echo; \ cannam@167: for i in $(ALL_CODELETS) NIL; do \ cannam@167: if test "$$i" != NIL; then \ cannam@167: j=`basename $$i | sed -e 's/[.][cS]$$//g'`; \ cannam@167: echo "extern void $(XRENAME)($(CODELET_NAME)$$j)(planner *);"; \ cannam@167: fi \ cannam@167: done; \ cannam@167: echo; \ cannam@167: echo; \ cannam@167: echo "extern const solvtab $(SOLVTAB_NAME);"; \ cannam@167: echo "const solvtab $(SOLVTAB_NAME) = {"; \ cannam@167: for i in $(ALL_CODELETS) NIL; do \ cannam@167: if test "$$i" != NIL; then \ cannam@167: j=`basename $$i | sed -e 's/[.][cS]$$//g'`; \ cannam@167: echo " SOLVTAB($(XRENAME)($(CODELET_NAME)$$j)),"; \ cannam@167: fi \ cannam@167: done; \ cannam@167: echo " SOLVTAB_END"; \ cannam@167: echo "};"; \ cannam@167: ) >$@ cannam@167: cannam@167: #INDENT = indent -kr -cs -i5 -l800 -fca -nfc1 -sc -sob -cli4 -TR -Tplanner -TV cannam@167: TWOVERS = sh ${top_srcdir}/support/twovers.sh cannam@167: GENFFTDIR = ${top_builddir}/genfft cannam@167: GEN_NOTW = ${GENFFTDIR}/gen_notw.native cannam@167: GEN_NOTW_C = ${GENFFTDIR}/gen_notw_c.native cannam@167: GEN_TWIDDLE = ${GENFFTDIR}/gen_twiddle.native cannam@167: GEN_TWIDDLE_C = ${GENFFTDIR}/gen_twiddle_c.native cannam@167: GEN_TWIDSQ = ${GENFFTDIR}/gen_twidsq.native cannam@167: GEN_TWIDSQ_C = ${GENFFTDIR}/gen_twidsq_c.native cannam@167: GEN_R2CF = ${GENFFTDIR}/gen_r2cf.native cannam@167: GEN_R2CB = ${GENFFTDIR}/gen_r2cb.native cannam@167: GEN_HC2HC = ${GENFFTDIR}/gen_hc2hc.native cannam@167: GEN_HC2C = ${GENFFTDIR}/gen_hc2c.native cannam@167: GEN_HC2CDFT = ${GENFFTDIR}/gen_hc2cdft.native cannam@167: GEN_HC2CDFT_C = ${GENFFTDIR}/gen_hc2cdft_c.native cannam@167: GEN_R2R = ${GENFFTDIR}/gen_r2r.native cannam@167: PRELUDE_DFT = ${top_srcdir}/support/codelet_prelude.dft cannam@167: PRELUDE_RDFT = ${top_srcdir}/support/codelet_prelude.rdft cannam@167: ADD_DATE = sed -e s/@DATE@/"`date`"/ cannam@167: cannam@167: COPYRIGHT=${top_srcdir}/COPYRIGHT cannam@167: CODELET_DEPS=$(COPYRIGHT) $(PRELUDE) cannam@167: PRELUDE_COMMANDS_DFT=cat $(COPYRIGHT) $(PRELUDE_DFT) cannam@167: PRELUDE_COMMANDS_RDFT=cat $(COPYRIGHT) $(PRELUDE_RDFT) cannam@167: cannam@167: FLAGS_COMMON = -compact -variables 4 cannam@167: DFT_FLAGS_COMMON = $(FLAGS_COMMON) -pipeline-latency 4 cannam@167: RDFT_FLAGS_COMMON = $(FLAGS_COMMON) -pipeline-latency 4 cannam@167: cannam@167: # cancel the hideous builtin rules that cause an infinite loop cannam@167: %: %.o cannam@167: %: %.s cannam@167: %: %.c cannam@167: %: %.S cannam@167: cannam@167: endif # MAINTAINER_MODE