To include the code to the binary (to output it with the '--source' option), compile with a crc16_nk.c.h header file that has all changes of the main.c by: xxd -i crc16_nk.c > crc16_nk.c.h ; gcc -o crc16_nk crc16_nk.c ; rm crc16_nk.c.h Removing the header file after compilation, ensures the included source has all changes. By removing gcc will refuse compiling without new reproduction.