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