BUNDLE = mmPlugins.lv2
INSTALL_DIR = /usr/local/lib/lv2
GTKMM = gtkmm-2.4
	
	
$(BUNDLE): manifest.ttl mmMS.ttl mmMS.so mmMSGUI.so mmStereoToMS.ttl mmStereoToMS.so mmStereoToMSGUI.so mmMSToStereo.ttl mmMSToStereo.so mmMSToStereoGUI.so mmSaturator.ttl mmSaturator.so mmSaturatorGUI.so
	rm -rf $(BUNDLE)
	mkdir $(BUNDLE)
	cp manifest.ttl mmMS.ttl mmMS.so mmMSGUI.so mmStereoToMS.ttl mmStereoToMS.so mmStereoToMSGUI.so mmMSToStereo.ttl mmMSToStereo.so mmMSToStereoGUI.so mmSaturator.ttl mmSaturator.so mmSaturatorGUI.so $(BUNDLE)

mmMS.so: mmMS.cpp mmMS.h mmCommon.h mm_saturation.h mm_saturation.cpp mm_biquad.h mm_biquad.cpp
	g++ -shared -fPIC -DPIC mmMS.cpp mm_biquad.cpp mm_saturation.cpp `pkg-config --cflags --libs lv2-plugin` -o mmMS.so

mmStereoToMS.so: mmStereoToMS.cpp mmStereoToMS.h mmCommon.h
	g++ -shared -fPIC -DPIC mmStereoToMS.cpp `pkg-config --cflags --libs lv2-plugin` -o mmStereoToMS.so

mmMSToStereo.so: mmMSToStereo.cpp mmMSToStereo.h mmCommon.h
	g++ -shared -fPIC -DPIC mmMSToStereo.cpp `pkg-config --cflags --libs lv2-plugin` -o mmMSToStereo.so

mmSaturator.so: mmSaturator.cpp mmSaturator.h mmCommon.h mm_saturation.h mm_saturation.cpp
	g++ -shared -fPIC -DPIC mm_saturation.cpp mmSaturator.cpp `pkg-config --cflags --libs lv2-plugin` -o mmSaturator.so

mmMSGUI.so: mmMSGUI.h mmMSGUI.cpp mmMS.h mmMS.cpp mm_widget.h mm_widget.cpp mmCommon.h
	g++ -O3 -shared -fPIC -DPIC  mmMSGUI.cpp mm_widget.cpp `pkg-config --cflags --libs lv2-gui $(GTKMM)`  -o mmMSGUI.so
	
mmSaturatorGUI.so: mmSaturatorGUI.h mmSaturatorGUI.cpp mmSaturator.h mmSaturator.cpp mm_widget.h mm_widget.cpp mmCommon.h
	g++ -O3 -shared -fPIC -DPIC  mmSaturatorGUI.cpp mm_widget.cpp `pkg-config --cflags --libs lv2-gui $(GTKMM)`  -o mmSaturatorGUI.so
	
mmStereoToMSGUI.so: mmStereoToMSGUI.h mmStereoToMSGUI.cpp mmStereoToMS.h mmStereoToMS.cpp mm_widget.h mm_widget.cpp mmCommon.h
	g++ -O3 -shared -fPIC -DPIC  mmStereoToMSGUI.cpp mm_widget.cpp `pkg-config --cflags --libs lv2-gui $(GTKMM)`  -o mmStereoToMSGUI.so

mmMSToStereoGUI.so: mmMSToStereoGUI.h mmMSToStereoGUI.cpp mmMSToStereo.h mmMSToStereo.cpp mm_widget.h mm_widget.cpp mmCommon.h
	g++ -O3 -shared -fPIC -DPIC  mmMSToStereoGUI.cpp mm_widget.cpp `pkg-config --cflags --libs lv2-gui $(GTKMM)`  -o mmMSToStereoGUI.so

install: $(BUNDLE)
	mkdir -p $(INSTALL_DIR)
	rm -rf $(INSTALL_DIR)/$(BUNDLE)/*
	cp -R $(BUNDLE) $(INSTALL_DIR)
	cp -R png/* $(INSTALL_DIR)/$(BUNDLE)/

clean:
	rm -rf $(BUNDLE) *.so
	
#uninstall:
#	rm -rf $(INSTALL_DIR)/$(BUNDLE)

test1:
	/usr/bin/lv2rack http://malessa.pl/lv2/mmStereoToMS

test2:
	g++ -O3 `pkg-config --cflags --libs $(GTKMM)` test.cpp -o test
	
	