gccでmakfileを使用するなら、makefile中でコンパイラオプションに下記を与えるといけるかもしれません。
-DFILE_NAME=$(*F)
ただ、まったくもってお勧めしません。
ファイル名変更時の修正を最小化したいのなら、下記の方法もできなくはないです。
①クラスをすべてインラインで書く
クラス名の変更だけでいけるが、実装が丸見え。
②decltypeを使う
クラス名の変更とextern 宣言の変更でいける。
FILE_NAME.hpp
コード:
class FILE_NAME {
void funcA();
};
extern FILE_NAME dummy;
FILE_NAME.hpp
コード:
void_decltype(dummy)::funcA(){}
これも、まったくもってお勧めしません。