The HAFAGPS source contains the following files:  hafagps.cpp acqfile.cpp acqfile.h fft.cpp fft.h, which is tested on g++ and msvc.
The precompiled executable hafagps.exe is for Windows platform.

To compile the files in gnu, the following command is expected to work fine:
g++ -Wall -o hafagps hafagps.cpp fft.cpp acqfile.cpp

To run the program, just type the following command
./hafagps <ACQ file name> [<time start> [<time stop> [<time step>]]]
say:
./hafagps ../Untitled10408-EGTA.acq 5 555 5
Which is, the .acq file you should specified first, followed by( optional) time interval specified.

The output data is in CSV format, xxx.spectrum.csv contains the spectrum data, and xxx.peak.csv contains the top 8 peak positions and the corresponding values.  A sample visualization in Mathematica:
sp = Import["Untitled10408-EGTA.spectrum.csv"];
pk = Import["Untitled10408-EGTA.peak.csv"];

Animate[ ListPlot[ sp[[n, 2 ;; -1]], PlotRange -> {0, 1},
  Epilog -> {Red, PointSize[Large], 
    Point[Partition[pk[[n, 2 ;; -1]], 2]]}], {n, 1, 111, 1}]
