The same for the .so file generation. These should be seperate rules to be clean.
The bpmcount makefile contains the following line. Clearly each program that is generated should be its own line, so should libbpm-example bpmcount: bpmcount.o bpmCounter.o libbpm.o common.o files.o memory.o signals.o types.o $(LINK) $^ -o $@ $(LINK) -dynamiclib -o libbpm.so $^ $(LINK) libbpm-example.cpp libbpm.so -o libbpm-example