Add phony target to avoid classic 'executable called clean exists' problem
Add optional to the table extension to prevent build error