Added dummy functions and now the error is in those functions. I'm sure I followed your instructions step by step. mice.o(.text+0x1c9d): In function `M_alps_ps2': /tmp/gpm-1.20.1/src/mice.c:1214: undefined reference to `alps_process_ps2_data' mice.o(.text+0x30c6): In function `I_alps2': /tmp/gpm-1.20.1/src/mice.c:1966: undefined reference to `alps_ps2_init' collect2: ld returned 1 exit status make[1]: *** [prog/mouse-test] Error 1 rm prog/hltest.o prog/mev.o prog/mouse-test.o make[1]: Leaving directory `/tmp/gpm-1.20.1/src' make: *** [do-all] Error 1