Argumentos variables dentro de una macro

Tengo dos funciones foo1 (a, b) y foo2 (a, b, c) y una macro

#define add(a,b) foo(a,b)

Necesito redefinir la macro para lograrlo,

1.si se llama a add () con 2 parámetros, luego llame a foo1

si se llama a add () con 3 parámetros, llame a foo2

Soy nuevo en la opción VA_ARGS. Cómo puedo hacer eso