When using new, I pass in create_makefile_pl => 'passthrough' which I would think is all that is needed to create a makefile. Perhaps I am naive, and hope to receive enlightenment.
I'm guessing you're thinking that create_build_script() creates the Makefile.PL. It doesn't :-)
The make file is created by ACTION_distmeta(), so you'll need to run this explicitly using the command like (via ./Build distmeta or one of the other actions that call this like ./Build dist) or by calling it in explicitly in your Build.PL