Thanks, RT, but no joy...
I'm pretty sure the include path is OK because all other DX symbols are being resolved; I'd get a heap-o-errors rather than just 3. And I did grep for the unreolved symbols, and they're not there.
Maybe I'll try and get a newer DX SDK. I might be running 8.0 (not 8.1), I'm not sure, and I don't know how to find out. And the oh-so-helpful online MSDN doesn't tell you when a symbol was introduced, just that it's present in version 9.
FWIW, here are the undefs I'm getting:
graphics/grd3d.cpp:2191: `D3DFMT_A2B10G10R10' undeclared (first use this function)
make: *** [grd3d.o] Error 1
graphics/grd3drender.cpp:2921: `D3DXIFF_BMP' undeclared (first use this function)
graphics/grd3drender.cpp:2921: `D3DXSaveSurfaceToFile' undeclared (first use this function)
make: *** [grd3drender.o] Error 1
make: Target `all' not remade because of errors.