1) Generate the config file: autoconf ./configure --disable-linuxmodule --host=arm-angstrom-linux-gnueabi --build=i386-bsd --enable-tools=mixed 2) Add include paths to libstdc++ headers: Edit the following two lines in these files - tools/lib/Makefile - tools/click-align/Makefile - userlevel/Makefile DEFS = -DHAVE_CONFIG_H -DHAVE_NEW_HDR INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(srcdir) -I/usr/include/c++/4.2.4 -I/usr/include/c++/4.2.4/i486-linux-gnu 3) Build click tools (i386 binary) make tools elementmap.xml 4) Create a click script called MY_CONFIG eg. FromDevice(eth0) -> Print(ok) -> Discard; 5) Build click (compiles only the elements used in MY_CONFIG): ./tools/click-mkmindriver/click-mkmindriver -C . -u -A -d./userlevel --elements "Print" -p MY_PKG -f MY_CONFIG make -C ./userlevel/ MINDRIVER=MY_PKG arm-angstrom-linux-gnueabi-strip ./tools/click-align/click-align arm-angstrom-linux-gnueabi-strip ./userlevel/MY_PKGclick