cannam@167
|
1 # -*- makefile -*-
|
cannam@167
|
2 # This file contains special make rules to generate codelets.
|
cannam@167
|
3 # Most of this file requires GNU make .
|
cannam@167
|
4
|
cannam@167
|
5 CODLIST = codlist.c
|
cannam@167
|
6 CODELET_NAME=codelet_
|
cannam@167
|
7
|
cannam@167
|
8 # only delete codlist.c in maintainer-mode, since it is included in the dist
|
cannam@167
|
9 # FIXME: is there a way to delete in 'make clean' only when builddir != srcdir?
|
cannam@167
|
10 maintainer-clean-local:
|
cannam@167
|
11 rm -f $(CODLIST)
|
cannam@167
|
12
|
cannam@167
|
13 if MAINTAINER_MODE
|
cannam@167
|
14
|
cannam@167
|
15 # rule to build codlist
|
cannam@167
|
16 $(CODLIST): Makefile
|
cannam@167
|
17 ( \
|
cannam@167
|
18 echo "#include \"kernel/ifftw.h\""; \
|
cannam@167
|
19 echo $(INCLUDE_SIMD_HEADER); \
|
cannam@167
|
20 echo; \
|
cannam@167
|
21 for i in $(ALL_CODELETS) NIL; do \
|
cannam@167
|
22 if test "$$i" != NIL; then \
|
cannam@167
|
23 j=`basename $$i | sed -e 's/[.][cS]$$//g'`; \
|
cannam@167
|
24 echo "extern void $(XRENAME)($(CODELET_NAME)$$j)(planner *);"; \
|
cannam@167
|
25 fi \
|
cannam@167
|
26 done; \
|
cannam@167
|
27 echo; \
|
cannam@167
|
28 echo; \
|
cannam@167
|
29 echo "extern const solvtab $(SOLVTAB_NAME);"; \
|
cannam@167
|
30 echo "const solvtab $(SOLVTAB_NAME) = {"; \
|
cannam@167
|
31 for i in $(ALL_CODELETS) NIL; do \
|
cannam@167
|
32 if test "$$i" != NIL; then \
|
cannam@167
|
33 j=`basename $$i | sed -e 's/[.][cS]$$//g'`; \
|
cannam@167
|
34 echo " SOLVTAB($(XRENAME)($(CODELET_NAME)$$j)),"; \
|
cannam@167
|
35 fi \
|
cannam@167
|
36 done; \
|
cannam@167
|
37 echo " SOLVTAB_END"; \
|
cannam@167
|
38 echo "};"; \
|
cannam@167
|
39 ) >$@
|
cannam@167
|
40
|
cannam@167
|
41 #INDENT = indent -kr -cs -i5 -l800 -fca -nfc1 -sc -sob -cli4 -TR -Tplanner -TV
|
cannam@167
|
42 TWOVERS = sh ${top_srcdir}/support/twovers.sh
|
cannam@167
|
43 GENFFTDIR = ${top_builddir}/genfft
|
cannam@167
|
44 GEN_NOTW = ${GENFFTDIR}/gen_notw.native
|
cannam@167
|
45 GEN_NOTW_C = ${GENFFTDIR}/gen_notw_c.native
|
cannam@167
|
46 GEN_TWIDDLE = ${GENFFTDIR}/gen_twiddle.native
|
cannam@167
|
47 GEN_TWIDDLE_C = ${GENFFTDIR}/gen_twiddle_c.native
|
cannam@167
|
48 GEN_TWIDSQ = ${GENFFTDIR}/gen_twidsq.native
|
cannam@167
|
49 GEN_TWIDSQ_C = ${GENFFTDIR}/gen_twidsq_c.native
|
cannam@167
|
50 GEN_R2CF = ${GENFFTDIR}/gen_r2cf.native
|
cannam@167
|
51 GEN_R2CB = ${GENFFTDIR}/gen_r2cb.native
|
cannam@167
|
52 GEN_HC2HC = ${GENFFTDIR}/gen_hc2hc.native
|
cannam@167
|
53 GEN_HC2C = ${GENFFTDIR}/gen_hc2c.native
|
cannam@167
|
54 GEN_HC2CDFT = ${GENFFTDIR}/gen_hc2cdft.native
|
cannam@167
|
55 GEN_HC2CDFT_C = ${GENFFTDIR}/gen_hc2cdft_c.native
|
cannam@167
|
56 GEN_R2R = ${GENFFTDIR}/gen_r2r.native
|
cannam@167
|
57 PRELUDE_DFT = ${top_srcdir}/support/codelet_prelude.dft
|
cannam@167
|
58 PRELUDE_RDFT = ${top_srcdir}/support/codelet_prelude.rdft
|
cannam@167
|
59 ADD_DATE = sed -e s/@DATE@/"`date`"/
|
cannam@167
|
60
|
cannam@167
|
61 COPYRIGHT=${top_srcdir}/COPYRIGHT
|
cannam@167
|
62 CODELET_DEPS=$(COPYRIGHT) $(PRELUDE)
|
cannam@167
|
63 PRELUDE_COMMANDS_DFT=cat $(COPYRIGHT) $(PRELUDE_DFT)
|
cannam@167
|
64 PRELUDE_COMMANDS_RDFT=cat $(COPYRIGHT) $(PRELUDE_RDFT)
|
cannam@167
|
65
|
cannam@167
|
66 FLAGS_COMMON = -compact -variables 4
|
cannam@167
|
67 DFT_FLAGS_COMMON = $(FLAGS_COMMON) -pipeline-latency 4
|
cannam@167
|
68 RDFT_FLAGS_COMMON = $(FLAGS_COMMON) -pipeline-latency 4
|
cannam@167
|
69
|
cannam@167
|
70 # cancel the hideous builtin rules that cause an infinite loop
|
cannam@167
|
71 %: %.o
|
cannam@167
|
72 %: %.s
|
cannam@167
|
73 %: %.c
|
cannam@167
|
74 %: %.S
|
cannam@167
|
75
|
cannam@167
|
76 endif # MAINTAINER_MODE
|