While building:
gcc -o driver_garmin.os -c -D_GNU_SOURCE -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -pthread -Wmissing-prototypes -Wmissing-declarations -O2 -fPIC driver_garmin.c
driver_garmin.c:736:13: warning: 'Build_Send_USB_Packet' defined but not used [-Wunused-function]
static void Build_Send_USB_Packet(struct gps_device_t *session,
^
This is on a Linux, so __linux__ should be defined.