Hi Sitsofe - Seems the commit in the subject broke builds with --dynamic-libengines: make: *** No rule to make target 'engines/libpmem.so', needed by 'all'. Stop. make: *** Waiting for unfinished jobs.... It moved the rule for building the .so's out of the template: ifdef CONFIG_DYNAMIC_ENGINES DYNAMIC_ENGS := $(ENGINES) define engine_template = $(1)_OBJS := $$($(1)_SRCS:.c=.o) -$$($(1)_OBJS): CFLAGS := -fPIC $$($(1)_CFLAGS) $(CFLAGS) -engines/lib$(1).so: $$($(1)_OBJS) - $$(QUIET_LINK)$(CC) -shared -rdynamic -fPIC -Wl,-soname,lib$(1).so.1 $$($(1)_LIBS) -o $$@ $$< +$$($(1)_OBJS): FIO_CFLAGS += -fPIC $$($(1)_CFLAGS) ENGS_OBJS += engines/lib$(1).so -all install: $(ENGS_OBJS) ... to later in the makefile ... +ifdef CONFIG_DYNAMIC_ENGINES +engines/lib$(1).so: $$($(1)_OBJS) + $$(QUIET_LINK)$(CC) -shared -rdynamic -fPIC -Wl,-soname,lib$(1).so.1 $$($(1)_LIBS) -o $$@ $$< +endif this is supposed to be part of a template though, so this break things. i.e. $(1) has no meaning here. I was going to try to fix it, but Make makes my brain hurt and presumably you moved it to try to make sure all the FIO_CFLAGS get built or something so ... figured I'd punt this back to you? Thanks, -Eric