CFLAGS=-Wall -O3 -shared -fomit-frame-pointer
OUTPUT = LibSDRSharpDSP.dll
OBJECTS = Vfo.o VfoTest.o Oscillator.o IQFirFilter.o FMDetector.o FirFilter.o FirFilterTest.o FilterBuilderTest.o \
		FilterBuilder.o DecimatorsTest.o Decimators.o DecimationKernels.o Complex.o \
		AutomaticGain.o  DcRemover.o  DsbDetector.o LsbDetector.o StereoDecoder.o UsbDetector.o AmDetector.o


all: LibSDRSharpDSP

LibSDRSharpDSP:	$(OBJECTS)
		g++ $(CFLAGS) $(OBJECTS) -o $(OUTPUT) 
Vfo.o:	Vfo.cpp
	g++ $(CFLAGS) -c Vfo.cpp
VfoTest.o:
	g++ $(CFLAGS) -c VfoTest.cpp
Oscillator.o:
	g++ $(CFLAGS) -c Oscillator.cpp
IQFirFilter.o:
	g++ $(CFLAGS) -c IQFirFilter.cpp
FMDetector.o:
	g++ $(CFLAGS) -c FMDetector.cpp
FirFilter.o:
	g++ $(CFLAGS) -c FirFilter.cpp
FirFilterTest.o:
	g++ $(CFLAGS) -c FirFilterTest.cpp
FilterBuilderTest.o:
	g++ $(CFLAGS) -c FilterBuilderTest.cpp
FilterBuilder.o:
	g++ $(CFLAGS) -c FilterBuilder.cpp
DecimatorsTest.o:
	g++ $(CFLAGS) -c DecimatorsTest.cpp
Decimators.o:
	g++ $(CFLAGS) -c Decimators.cpp
DecimatonKernels.o:
	g++ $(CFLAGS) -c DecimationKernels.cpp
Complex.o:
	g++ $(CFLAGS) -c Complex.cpp
AutomaticGain.o:
	g++ $(CFLAGS) -c AutomaticGain.cpp
DcRemover.o:
	g++ $(CFLAGS) -c DcRemover.cpp
DsbDetector.o:
	g++ $(CFLAGS) -c DsbDetector.cpp
LsbDetector.o:
	g++ $(CFLAGS) -c LsbDetector.cpp
StereoDecoder.o:
	g++ $(CFLAGS) -c StereoDecoder.cpp
UsbDetector.o:
	g++ $(CFLAGS) -c UsbDetector.cpp
AmDetector.o:
	g++ $(CFLAGS) -c AmDetector.cpp

clean:
	rm -f *.o