Note that these macros only works with ANSI C.
#if INCLUDE == 'H'
#define SameFunc(Name) extern Name();
#define Function(Ename,Cname) extern Cname();
#define SpecialF(Ename,Type,Cname) extern Type Cname();
#define RealFunc(Ename,Cname) extern double Cname();
#define SameReal(Name) extern double Name();
#endif
#if INCLUDE == 'T'
#define SameFunc(Name) {#Name,Name},
#define Function(Ename,Cname) {#Ename,Cname},
#define SpecialF(Ename,Type,Cname){#Ename,(int(*)())Cname},
#define RealFunc(Ename,Cname)
#define SameReal(Name)
#endif
#if INCLUDE == 'R'
#define SameFunc(Name)
#define Function(Ename,Cname)
#define SpecialF(Ename,Type,Cname)
#define RealFunc(Ename,Cname) {#Ename,Cname},
#define SameReal(Name) {#Name,Name},
#endif