1VERSION = 0.9.26 2 3PREFIX = /usr/local 4DESTDIR = 5 6CXX ?= g++ 7STRIP ?= strip 8 9ifdef DEBUG 10OPTS = -fPIC -DPIC -g -DDEBUG 11else 12# OPTS = -O2 -Wall -fPIC -DPIC 13OPTS = -O3 -ffast-math -funroll-loops -Wall -fPIC -DPIC -fdata-sections -ffunction-sections 14ifndef MACOS 15LDFLAGS += -Wl,--strip-all 16endif 17endif 18 19CXXFLAGS += $(OPTS) -I../.. -fvisibility=hidden -fvisibility-inlines-hidden 20LDFLAGS += -fdata-sections -ffunction-sections 21ifdef MACOS 22LDFLAGS += -dynamiclib -Wl,-dead_strip -Wl,-dead_strip_dylibs 23else 24LDFLAGS += -shared -Wl,--gc-sections -Wl,--no-undefined 25endif 26 27SOURCES = ../../Noisegate.cc ../../dsp/polynomials.cc interface.cc 28OBJECTS = $(SOURCES:.cc=.o) 29 30PLUG = Noisegate 31BUNDLE = mod-caps-$(PLUG).lv2 32ifndef LV2_DEST 33LV2DEST = $(PREFIX)/lib/lv2/$(BUNDLE) 34else 35LV2DEST = $(LV2_DEST)/$(BUNDLE) 36endif 37 38# targets following ------------------------------------------------------------- 39 40all: .depend $(PLUG).so 41 42$(PLUG).so: $(OBJECTS) 43 $(CXX) $(OBJECTS) $(LDFLAGS) -o $@ 44 45.cc.s: 46 $(CXX) $< $(CXXFLAGS) -S 47 48.cc.o: .depend 49 $(CXX) $< $(CXXFLAGS) -o $@ -c 50 51install: all 52 install -d $(DESTDIR)$(LV2DEST) 53 install -m 644 *.ttl *.so $(DESTDIR)$(LV2DEST) 54 cp -r modgui $(DESTDIR)$(LV2DEST) 55 56uninstall: 57 -rm -rf $(LV2DEST) 58 59clean: 60 rm -f $(OBJECTS) $(PLUG).so *.s .depend 61 62.depend: $(SOURCES) 63 $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend 64 65-include .depend 66