You need to build all prerequisites with PIC too.
It would be better to extend `CFLAGS` and `DFLAGS` for the target.

```
$(DRUNTIMESO): CFLAGS+= -fPIC
$(DRUNTIMESO): DFLAGS+= -fPIC
$(DRUNTIMESO): $(OBJS) $(SRCS)
	$(DMD) -shared -of$(DRUNTIMESO) -Xfdruntime.json $(DFLAGS) $(SRCS) $(OBJS)
```