Running make should show you the commands it runs, so you can compare that to the command you run by hand. But this
$(CC) $(LDFLAGS) $(LDLIBS) -g -o $@ $^
Should rather make the libraries to link in come after the files to compile:
$(CC) -g -o $@ $^ $(LDFLAGS) $(LDLIBS)
You can't use $VARIABLE_NAME in a makefile for shell variables, the syntax in a makefile is $(VARIABLE_NAME), so
CFLAGS := -O3 -I$(TACC_FFTW3_INC)
LDFLAGS := -L$(TACC_FFTW3_LIB)
Make sure the TACC_FFTW3_LIB and TACC_FFTW3_INC are exported from the shell too. (Note that you spelled TACC_FFTW3_LI wrong)