77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			77 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
 |