ce4fefe
prefix=/usr
ce4fefe
srcdir=.
ce4fefe
libdir=$(prefix)/lib
ce4fefe
VPATH=$(srcdir):$(srcdir)/tools
ce4fefe
ce4fefe
ifeq "$(DATATYPE)" ""
ce4fefe
  DATATYPE=double
ce4fefe
endif
ce4fefe
ce4fefe
SUFFIX=_$(DATATYPE)
ce4fefe
TYPEFLAGS=-Dkiss_fft_scalar=$(DATATYPE)
ce4fefe
ifeq  "$(DATATYPE)" "int32"
ce4fefe
  TYPEFLAGS=-DFIXED_POINT=32
ce4fefe
endif
ce4fefe
ifeq  "$(DATATYPE)" "int16"
ce4fefe
  TYPEFLAGS=-DFIXED_POINT=16
ce4fefe
endif
ce4fefe
ifeq  "$(DATATYPE)" "simd"
ce4fefe
  TYPEFLAGS=-DUSE_SIMD=1 -msse
ce4fefe
endif
ce4fefe
ce4fefe
CFLAGS:=$(TYPEFLAGS) -W -Wall -static -fPIC -ffast-math -fomit-frame-pointer $(CFLAGS)
ce4fefe
HEADERS= \
ce4fefe
	$(srcdir)/kiss_fft.h \
ce4fefe
	$(srcdir)/kissfft.hh \
ce4fefe
	$(srcdir)/tools/kfc.h \
ce4fefe
	$(srcdir)/tools/kiss_fftnd.h \
ce4fefe
	$(srcdir)/tools/kiss_fftndr.h \
ce4fefe
	$(srcdir)/tools/kiss_fftr.h
ce4fefe
LIBRARIES= \
ce4fefe
	libkiss_fft$(SUFFIX).a \
ce4fefe
	libkiss_fftnd$(SUFFIX).a \
ce4fefe
	libkiss_fftndr$(SUFFIX).a \
ce4fefe
	libkiss_fftr$(SUFFIX).a \
ce4fefe
	libkiss_kfc$(SUFFIX).a
ce4fefe
ce4fefe
CC=gcc
ce4fefe
COMPILE=libtool --mode=compile $(CC) $(CFLAGS) $(CXXFLAGS)
ce4fefe
LINK=libtool --mode=link $(CC) $(CFLAGS) $(LDFLAGS)
ce4fefe
INSTALL=libtool --mode=install install -p
ce4fefe
CLEAN=libtool --mode=clean rm -f
ce4fefe
ce4fefe
all: $(LIBRARIES)
ce4fefe
ce4fefe
install: $(LIBRARIES)
ce4fefe
	-mkdir -p $(DESTDIR)$(libdir) $(DESTDIR)$(prefix)/include/kissfft
ce4fefe
	install -p -m 0644 $(HEADERS) $(DESTDIR)$(prefix)/include/kissfft
ce4fefe
	$(INSTALL) $+ $(DESTDIR)$(libdir)
ce4fefe
ce4fefe
clean:
ce4fefe
	$(CLEAN) *.o *.a *.lo *.la
ce4fefe
ce4fefe
%$(SUFFIX).o %$(SUFFIX).lo: %.c
ce4fefe
	$(COMPILE) -I$(srcdir) -o $@ -c $<
ce4fefe
ce4fefe
%.a %.la:
ce4fefe
	$(LINK) -o $@ $+
ce4fefe
ce4fefe
libkiss_fft$(SUFFIX).a: kiss_fft$(SUFFIX).lo
ce4fefe
libkiss_fftnd$(SUFFIX).a: kiss_fftnd$(SUFFIX).lo
ce4fefe
libkiss_fftndr$(SUFFIX).a: kiss_fftndr$(SUFFIX).lo
ce4fefe
libkiss_fftr$(SUFFIX).a: kiss_fftr$(SUFFIX).lo
ce4fefe
libkiss_kfc$(SUFFIX).a: kfc$(SUFFIX).lo
ce4fefe
ce4fefe
.PHONY: install clean all