Header file extension is ".h". Files with ".cpp" are ususally compiled as separate compilation units into the object file. If you have any function definition (= declaration + implementation) or any global variable in more object files, it'll fail to link.
No definitions in headers - variables and functions will cause this error if you ...
After you edit your boards.txt file to incorporate the Arduino Uno Pro section from near the end of that Arduino Uno Pro webpage at hobbytronics.co.uk that you referenced, the board tag list produced by make show_boards will include the following line:
uno_pro Arduino Uno*Pro
indicating the tag should be uno_pro.