SRCDIR=src BUILD=build LIBS := \ fftw3 \ fftw3f \ jack \ liburiparser \ samplerate \ x11 \ xrender \ libvlc CC := g++ CFLAGS := -Wall -g -DUTILNAMESPACE=BitVisUtil -Ofast -flto -funroll-loops -funswitch-loops -fmodulo-sched -fmodulo-sched-allow-regmoves -funsafe-loop-optimizations -ftracer -fivopts -ftree-loop-ivcanon -ftree-loop-im -ftree-loop-distribution -floop-parallelize-all -floop-block -floop-strip-mine -floop-interchange -fassociative-math -freciprocal-math -fno-trapping-math -fno-signed-zeros LDFLAGS := -flto CFLAGS += $(shell pkg-config --cflags $(LIBS)) -I ${SRCDIR} LDFLAGS += $(shell pkg-config --libs $(LIBS)) $(BUILD)/%.o: $(SRCDIR)/%.cpp @echo [CC] $@ @mkdir -p `dirname $@` @$(CC) -o $@ -c $< $(CFLAGS) ${BUILD}/bin/bitvis: $(patsubst $(SRCDIR)/%.cpp, $(BUILD)/%.o, $(shell find $(SRCDIR)/util $(SRCDIR)/bitvis -name '*.cpp')) @echo [LD] $@ @mkdir -p `dirname $@` @$(CC) -o $@ $^ $(LDFLAGS) ${BUILD}/bin/bitvlc: $(patsubst $(SRCDIR)/%.cpp, $(BUILD)/%.o, $(shell find $(SRCDIR)/util $(SRCDIR)/bitvlc -name '*.cpp')) @echo [LD] $@ @mkdir -p `dirname $@` @$(CC) -o $@ $^ $(LDFLAGS) ${BUILD}/bin/bitx11: $(patsubst $(SRCDIR)/%.cpp, $(BUILD)/%.o, $(shell find $(SRCDIR)/util $(SRCDIR)/bitvlc -name '*.cpp')) @echo [LD] $@ @mkdir -p `dirname $@` @$(CC) -o $@ $^ $(LDFLAGS) .PHONY: all clean all: ${BUILD}/bin/bitvis ${BUILD}/bin/bitvlc ${BUILD}/bin/bitx11 clean: @rm -rf $(BUILD)