view Lib/fftw-3.2.1/support/Makefile.codelets @ 1:e86e9c111b29

Updates stuff that potentially fixes the memory leak and also makes it work on Windows and Linux (Need to test). Still have to fix fftw include for linux in Jucer.
author David Ronan <d.m.ronan@qmul.ac.uk>
date Thu, 09 Jul 2015 15:01:32 +0100
parents 25bf17994ef1
children
line wrap: on
line source
# -*- makefile -*-
# This file contains special make rules to generate codelets.
# Most of this file requires GNU make .

COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CODELET_OPTIM)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS) $(CODELET_OPTIM)

CODLIST = codlist.c
CODELET_NAME=codelet_

# rule to build codlist
$(CODLIST): Makefile
	(								\
	echo "#include \"ifftw.h\"";					\
	echo;								\
	for i in $(ALL_CODELETS) NIL; do				\
	   if test "$$i" != NIL; then					\
	     j=`basename $$i | sed -e 's/[.][cS]$$//g'`;		\
             echo "extern void X($(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(X($(CODELET_NAME)$$j)),";			\
	   fi								\
	done;								\
	echo "   SOLVTAB_END";						\
	echo "};";							\
	) >$@

# 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

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
GEN_NOTW_C = ${GENFFTDIR}/gen_notw_c
GEN_TWIDDLE = ${GENFFTDIR}/gen_twiddle
GEN_TWIDDLE_C = ${GENFFTDIR}/gen_twiddle_c
GEN_TWIDSQ = ${GENFFTDIR}/gen_twidsq
GEN_TWIDSQ_C = ${GENFFTDIR}/gen_twidsq_c
GEN_R2CF = ${GENFFTDIR}/gen_r2cf
GEN_R2CB = ${GENFFTDIR}/gen_r2cb
GEN_HC2HC = ${GENFFTDIR}/gen_hc2hc
GEN_HC2C = ${GENFFTDIR}/gen_hc2c
GEN_HC2CDFT = ${GENFFTDIR}/gen_hc2cdft
GEN_HC2CDFT_C = ${GENFFTDIR}/gen_hc2cdft_c
GEN_R2R = ${GENFFTDIR}/gen_r2r
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