Donker, таки использование некоторой библиотеки подразумевает изначально знакомство с ее устройством. Тут она предстаёт перед Вами в исходном виде. Изучаете все #define #ifdef ,… и получаете необходимые параметры для настройки.
Можно воспользоваться ещё и имеющимися описаниями.
Ну а потом уже соответствующие #include.
Сами файлы можно и не перекладывать, тут вполне работает указание пути - как относительного, так и абсолютного.
Ну и разница между разными скобками в #include.
Если случайно не обнаружится где-то пересечение имён и нет ошибок в использовании функций - должно заработать сразу

Собственно проверялось большое количество раз с разными компиляторами и не только с HAL - если компиляция завершилась успешно и не было косяков в объявлениях и использовании…
Отдельная песьня про что-то специфичное для конкретного компилятора - тут отдельная история и разговор уже будет не об использовании, а о портировании…