So, just to clarify, you propose to create a d3dx9.dll dll, putting its code in dlls/d3dx9. Does this dll exist on Windows? If not, then we should call it wined3dx9 (and its code would go in dlls/wined3dx9).
Well, it shouldn't even be a dll, just a folder were put in all the d3dx9 code and let the d3dx9_xx.dlls just export the functions they need. I don't know of how much the makefile system is capable, but maybe we can put all the d3dx9_xx.spec files in the same directory to improve overviewability, I don't like these 13 dlls/d3dx9 directories that much :D Anyways, what are the concrete differences between the d3dx9_xx.dlls?