diff --git a/test/Makefile b/test/Makefile index 5de5e56..aaac889 100644 --- a/test/Makefile +++ b/test/Makefile @@ -3,7 +3,7 @@ WARNINGS=-W -Wall -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return \ -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast \ -Wwrite-strings -CFLAGS=-O3 -I.. -I../tools $(WARNINGS) +CFLAGS+= -I.. -I../tools $(WARNINGS) CFLAGS+=-ffast-math -fomit-frame-pointer #CFLAGS+=-funroll-loops #CFLAGS+=-march=prescott @@ -55,31 +55,32 @@ else FFTWLIB=-lfftw3 endif -FFTWLIBDIR=-L/usr/local/lib/ +FFTWLIBDIR= +KISSFFT_LIBS=-L../build$(SUFFIX) -lkiss_fft$(SUFFIX) -lkiss_fftnd$(SUFFIX) -lkiss_fftr$(SUFFIX) -lkiss_fftndr$(SUFFIX) -SRCFILES=../kiss_fft.c ../tools/kiss_fftnd.c ../tools/kiss_fftr.c pstats.c ../tools/kfc.c ../tools/kiss_fftndr.c + +SRCFILES=pstats.c ../tools/kfc.c all: tools $(BENCHKISS) $(SELFTEST) $(BENCHFFTW) $(TESTREAL) $(TESTKFC) tools: cd ../tools && make all - $(SELFTEST): $(SELFTESTSRC) $(SRCFILES) - $(CC) -o $@ $(CFLAGS) $(TYPEFLAGS) $+ -lm + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TYPEFLAGS) $+ -lm $(KISSFFT_LIBS) $(TESTKFC): $(SRCFILES) - $(CC) -o $@ $(CFLAGS) -DKFC_TEST $(TYPEFLAGS) $+ -lm + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) -DKFC_TEST $(TYPEFLAGS) $+ -lm $(KISSFFT_LIBS) $(TESTREAL): test_real.c $(SRCFILES) - $(CC) -o $@ $(CFLAGS) $(TYPEFLAGS) $+ -lm + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TYPEFLAGS) $+ -lm $(KISSFFT_LIBS) $(BENCHKISS): benchkiss.c $(SRCFILES) - $(CC) -o $@ $(CFLAGS) $(TYPEFLAGS) $+ -lm + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TYPEFLAGS) $+ -lm $(KISSFFT_LIBS) $(BENCHFFTW): benchfftw.c pstats.c @echo "======attempting to build FFTW benchmark" - @$(CC) -o $@ $(CFLAGS) -DDATATYPE$(DATATYPE) $+ $(FFTWLIB) $(FFTWLIBDIR) -lm || echo "FFTW not available for comparison" + @$(CC) -o $@ $(CFLAGS) $(LDFLAGS) -DDATATYPE$(DATATYPE) $+ $(FFTWLIB) $(FFTWLIBDIR) -lm || echo "FFTW not available for comparison" test: all @./$(TESTKFC) @@ -93,9 +94,9 @@ test: all @echo "======higher dimensions type=$(DATATYPE))" @./testkiss.py -CXXFLAGS=-O3 -ffast-math -fomit-frame-pointer -I.. -I../tools -W -Wall -march=native -mtune=native +CXXFLAGS+= -ffast-math -fomit-frame-pointer -I.. -I../tools -W -Wall testcpp: testcpp.cc ../kissfft.hh - $(CXX) -o $@ $(CXXFLAGS) testcpp.cc -lm + $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) testcpp.cc -lm clean: rm -f *~ bm_* st_* tr_* kf_* tkfc_* ff_* ffr_* *.pyc *.pyo *.dat testcpp diff --git a/tools/Makefile b/tools/Makefile index ae7646b..7ed8cc9 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -27,6 +27,7 @@ ifneq ("$(KISS_FFT_USE_ALLOCA)","") endif CFLAGS+= $(CFLAGADD) +KISSFFT_LIBS=-L../build$(SUFFIX) FFTUTIL=fft_$(DATATYPE) FASTFILT=fastconv_$(DATATYPE) @@ -40,23 +41,23 @@ all: $(FFTUTIL) $(FASTFILT) $(FASTFILTREAL) #CFLAGS=-Wall -O3 -pedantic -march=pentiumpro -ffast-math -fomit-frame-pointer $(WARNINGS) # If the above flags do not work, try the following -CFLAGS=-Wall -O3 $(WARNINGS) +CFLAGS+= -Wall $(WARNINGS) # tip: try -openmp or -fopenmp to use multiple cores -$(FASTFILTREAL): ../kiss_fft.c kiss_fastfir.c kiss_fftr.c - $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) -DREAL_FASTFIR $+ -DFAST_FILT_UTIL -lm +$(FASTFILTREAL): kiss_fastfir.c + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) -I.. $(TYPEFLAGS) -DREAL_FASTFIR $+ -DFAST_FILT_UTIL -lm $(KISSFFT_LIBS) -lkiss_fftr$(SUFFIX) -lkiss_fft$(SUFFIX) -$(FASTFILT): ../kiss_fft.c kiss_fastfir.c - $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) $+ -DFAST_FILT_UTIL -lm +$(FASTFILT): kiss_fastfir.c + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) -I.. $(TYPEFLAGS) $+ -DFAST_FILT_UTIL -lm $(KISSFFT_LIBS) -lkiss_fft$(SUFFIX) -$(FFTUTIL): ../kiss_fft.c fftutil.c kiss_fftnd.c kiss_fftr.c kiss_fftndr.c - $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) $+ -lm +$(FFTUTIL): fftutil.c + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) -I.. $(TYPEFLAGS) $+ -lm $(KISSFFT_LIBS) -lkiss_fftnd$(SUFFIX) -lkiss_fftr$(SUFFIX) -lkiss_fftndr$(SUFFIX) -lkiss_fft$(SUFFIX) -$(PSDPNG): ../kiss_fft.c psdpng.c kiss_fftr.c - $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) $+ -lpng -lm +$(PSDPNG): psdpng.c + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) -I.. $(TYPEFLAGS) $+ -lpng -lm $(KISSFFT_LIBS) -lkiss_fftr$(SUFFIX) -lkiss_fft$(SUFFIX) -$(DUMPHDR): ../kiss_fft.c dumphdr.c - $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) $+ -lm +$(DUMPHDR): dumphdr.c + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) -I.. $(TYPEFLAGS) $+ -lm $(KISSFFT_LIBS) -lkiss_fft$(SUFFIX) clean: rm -f *~ fft fft_* fastconv fastconv_* fastconvr fastconvr_* psdpng psdpng_*