CC=gcc
CFLAGS=-O3 -Wall -fomit-frame-pointer -fstrength-reduce -funroll-loops -ffast-math -fPIC -DPIC -g -msse -mfpmath=sse

LIBFLAGS=-nostartfiles -shared -Wl,-Bsymbolic

PLUGIN_LIBS=foo_limiter.so foo_transients.so foo_transients_mono.so foo_driver.so
PLUGIN_SOURCES=foo_limiter.c foo_transients.c foo_transients_mono.c foo_driver.so

all: plugins tester

%.so : %.o rms.o
	$(CC) $(LIBFLAGS) rms.o $< -o $@

%.c : %.xml makestub.pl
	./makestub.pl $< > $@


plugins: $(PLUGIN_LIBS)

tester.o: foo_limiter.xml foo_transients.xml

tester: tester.o rms.o $(PLUGIN_SOURCES)
	gcc tester.o rms.o -o tester -lm 

tester.o: $(PLUGIN_SOURCES)

$(PLUGIN_SOURCES): utils.h rms.h

rms.o: rms.h

install: plugins
	cp $(PLUGIN_LIBS) /usr/lib/ladspa/

clean:
	rm -f *.o *.so $(PLUGIN_SOURCES) tester plot/*


#
