There are library archive files in /lnx, but I suspect they are 32 bit - are you using 64 bit?
Adding gcc parameter "-m32" should compile all in 32 bit, but I don't think that worked for me.
I think I ended up installing full versions of libusb and ftd2xx for my distribution (Ubuntu and/or Debian) to get it to compile but didn't actually use the usb options.
There are opensource libraries for the ftdi chips, but also closed source modules from
http://www.ftdichip.com/Drivers/D2XX.htm
the latter needed a later libc than I had so I had to upgrade the whole OS...
Sure there was a cleaner way, must try again sometime and feedback into the project.
===============
Just tried compiling on a Linux server I have access to.
For a dynamic linked executable you do need the correct .so files for your distribution installed in system locations, these are not supplied with the zjtag source.
The .a files in the /lnx folder are 32 bit, without installing anything you can compile a static binary on a 64 bit linux by
1. adding "-m32" to the CFLAGS in the makefile
CFLAGS = -Wall -g -I. -I./lnx -m32
(make clean after this if something already compiled 64 bit)
and 2, compile the static version with
2. make zjtag.a
There are lots of compiler warnings but it does produce a zjtag.a which can be tested with
3. ./zjtag.a
with default help output...
==============================================
zJTAG EJTAG Debrick Utility v1.8 RC3
==============================================
ABOUT: This program reads/writes flash memory on the Broadcom MIPS(LE)
Chip and compatible routers via EJTAG using either DMA Access
routines or PrAcc routines (slower/more compatible). Processor chips
supported in this version include the following chips:
...