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