We start with the revision 30610 of svn repository of openwrt

  mkdir ~/openwrt
  cd ~/openwrt
  svn co -r30610 svn://svn.openwrt.org/openwrt/trunk r30610
  cd r30610
  ./scripts/feeds update -a
  ./scripts/feeds install -a

We have as a requirement to use glibc as the C library of the system (instead of uClibc)
We apply a patch that appears to be needed in order to build with glibc
(https://dev.openwrt.org/ticket/9483#comment:16)

in file: package/base-files/files/lib/upgrade/common.sh
at row: 61
- install_file /etc/resolv.conf /etc/functions.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA
+ install_file /etc/resolv.conf /etc/functions.sh /lib/* /lib/upgrade/*.sh $RAMFS_COPY_DATA

First build, we just select the platform

    make menuconfig
      (Select Target System (Atheros AR7xxx/AR9xxx) Subtarget (Generic) and Profile (TP-LINK TL-WR1043N/ND)
      [*] Advanced configuration options (for developers)  --->
        [*]   Toolchain Options  --->
          [*]   glibc 2.14

    make defconfig
    make download

    time ionice -c 3 nice -n 20 make   # WARNING do not use -j 2
       (it takes about 3 hours)

Second build, we select the needed packages

    make menuconfig
      [*] Advanced configuration options (for developers)  --->
        [*]   Toolchain Options  --->
          [*]   Build gdb
      [*] Build the OpenWrt SDK
      [*] Build the OpenWrt based Toolchain
      Base system  --->
        --- libpthread
        <*> librt
      Libraries  --->
        <*> libffi
        <*> libgcrypt
        --- libgpg-error
        <*> libiconv-full
        <*> libintl-full
        <*> libpcre
        <*> zlib
      LuCI  --->
        Collections  --->
          <M> luci
      Network  --->
        Firewall  --->
          --- iptables  --->
            ---   iptables-mod-conntrack
            <*>   iptables-mod-conntrack-extra
            <*>   iptables-mod-ipopt
            ---   iptables-mod-nat
        Routing and Redirection  --->
          <*> ip
      Kernel modules  --->
        Netfilter Extensions  --->
          --- kmod-ipt-core
          ---   kmod-ipt-conntrack
          ---   kmod-ipt-conntrack-extra
          --- kmod-ipt-ipopt

    time ionice -c 3 nice -n 20 make -j 2
       (it takes about 32 min)  [if the compiler bails here try without the -j 2 option]
    time ionice -c 3 nice -n 20 make toolchain/install -j 2
       (it takes about 9 min)

We cross-compile the libraries needed by netsukuku: pth, glib, libgee

export NTK_TOOLCHAIN=~/openwrt/r30610/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_glibc-2.14
export NTK_TARGET=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14
export NTK_SDK_HOST=~/openwrt/r30610/build_dir/target-mips_r2_glibc-2.14/OpenWrt-SDK-ar71xx-for-Linux-i686-gcc-4.6-linaro_glibc-2.14/staging_dir/host
export NTK_ROOT=~/openwrt/r30610/build_dir/target-mips_r2_glibc-2.14/root-ar71xx
# set path for executables mips-openwrt-linux-gcc and the like
export PATH=${NTK_TOOLCHAIN}/bin:${PATH}
# The following variable is necessary for this toolchain, it has to be set at configure-time and at make-time
export STAGING_DIR=~/openwrt/r30610/staging_dir


We enter the directory where we unzipped pth-2.0.7


STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \
PKG_CONFIG_PATH=${NTK_TARGET}/usr/lib/pkgconfig \
PATH=${NTK_SDK_HOST}/bin:$PATH \
CPPF0="-I${NTK_TARGET}/usr/include" \
CPPF1="" \
CPPF2="" \
CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \
CF0="-I${NTK_TARGET}/usr/include" \
CF1="" \
CF2="" \
CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \
L0="-L${NTK_TARGET}/usr/lib" \
L1="" \
L2="" \
LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \
./configure \
     --host=mips-openwrt-linux-gnu \
     --prefix=/opt/pth-2.0.7

make &&
make install DESTDIR=~/pre-pkg/mips-glibc

export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/pth-2.0.7
export FINAL_DIR=~/pkg/mips-glibc/pth-2.0.7
export FINAL_DIR_DEV=~/pkg/mips-glibc/pth-2.0.7-dev

mkdir -p ${FINAL_DIR_DEV}
cp -a ${PKG_INSTALL_DIR}/* ${FINAL_DIR_DEV}

mkdir -p ${FINAL_DIR}/lib
cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib
mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1`


We enter the directory where we unzipped glib-2.28.8
# apply the patches provided by openwrt
 for i in ~/openwrt/r30610/feeds/packages/libs/glib2/patches/*.patch
 do cat $i | patch -p1
 done

STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \
PKG_CONFIG_PATH=${NTK_TARGET}/usr/lib/pkgconfig \
PATH=${NTK_SDK_HOST}/bin:$PATH \
CPPF0="-I${NTK_TARGET}/usr/include" \
CPPF1="-I${NTK_TARGET}/usr/lib/libintl-full/include" \
CPPF2="-I${NTK_TARGET}/usr/lib/libiconv-full/include" \
CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \
CF0="-I${NTK_TARGET}/usr/include" \
CF1="-I${NTK_TARGET}/usr/lib/libintl-full/include" \
CF2="-I${NTK_TARGET}/usr/lib/libiconv-full/include" \
CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \
L0="-L${NTK_TARGET}/usr/lib" \
L1="-L${NTK_TARGET}/usr/lib/libintl-full/lib" \
L2="-L${NTK_TARGET}/usr/lib/libiconv-full/lib" \
LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \
glib_cv_stack_grows=no \
glib_cv_uscore=no \
ac_cv_func_posix_getpwuid_r=yes \
ac_cv_func_posix_getgrgid_r=yes \
./configure \
     --host=mips-openwrt-linux-gnu \
     --with-libiconv=gnu \
     --enable-shared \
     --enable-static \
     --disable-selinux \
     --disable-fam \
     --prefix=/opt/glib-2.28.8

make &&
make install DESTDIR=~/pre-pkg/mips-glibc

export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/glib-2.28.8
export FINAL_DIR=~/pkg/mips-glibc/glib-2.28.8
export FINAL_DIR_DEV=~/pkg/mips-glibc/glib-2.28.8-dev

mkdir -p ${FINAL_DIR_DEV}/include/glib-2.0
cp -a ${PKG_INSTALL_DIR}/include/glib-2.0/* ${FINAL_DIR_DEV}/include
cp -a ${PKG_INSTALL_DIR}/lib/glib-2.0/include/*.h ${FINAL_DIR_DEV}/include/glib-2.0
cp -a ${PKG_INSTALL_DIR}/include/gio-unix-2.0/* ${FINAL_DIR_DEV}/include
mkdir -p ${FINAL_DIR_DEV}/lib
cp -a ${PKG_INSTALL_DIR}/lib/glib-2.0 ${FINAL_DIR_DEV}/lib
cp -a ${PKG_INSTALL_DIR}/lib/*.{so*,a,la} ${FINAL_DIR_DEV}/lib
mkdir -p ${FINAL_DIR_DEV}/lib/pkgconfig
cp -a ${PKG_INSTALL_DIR}/lib/pkgconfig/*.pc ${FINAL_DIR_DEV}/lib/pkgconfig
mkdir -p ${FINAL_DIR_DEV}/share/aclocal
cp -a ${PKG_INSTALL_DIR}/share/aclocal/*.m4 ${FINAL_DIR_DEV}/share/aclocal

mkdir -p ${FINAL_DIR}/lib
cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib
mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1`


We enter the directory where we unzipped libgee-0.6.1

STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \
PKG_CONFIG_PATH=/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/pkgconfig:${NTK_TARGET}/usr/lib/pkgconfig \
PATH=${NTK_SDK_HOST}/bin:$PATH \
CPPF0="-I${NTK_TARGET}/usr/include" \
CPPF1="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/include" \
CPPF2="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include" \
CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \
CF0="-I${NTK_TARGET}/usr/include" \
CF1="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/include" \
CF2="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include" \
CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \
L0="-L${NTK_TARGET}/usr/lib" \
L1="-L/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib" \
L2="" \
LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \
./configure \
     --host=mips-openwrt-linux-gnu \
     --prefix=/opt/libgee-0.6.1

# We need that glib-2 could be found on the dir where it was configured to be:
sudo ln -s $HOME/pre-pkg/mips-glibc/opt/glib-2.28.8 /opt

make &&
make install DESTDIR=~/pre-pkg/mips-glibc

sudo rm /opt/glib-2.28.8

export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/libgee-0.6.1
export FINAL_DIR=~/pkg/mips-glibc/libgee-0.6.1
export FINAL_DIR_DEV=~/pkg/mips-glibc/libgee-0.6.1-dev

mkdir -p ${FINAL_DIR_DEV}/include
cp -a ${PKG_INSTALL_DIR}/include/* ${FINAL_DIR_DEV}/include
mkdir -p ${FINAL_DIR_DEV}/lib/pkgconfig
cp -a ${PKG_INSTALL_DIR}/lib/*.{so*,a,la} ${FINAL_DIR_DEV}/lib
cp -a ${PKG_INSTALL_DIR}/lib/pkgconfig/*.pc ${FINAL_DIR_DEV}/lib/pkgconfig

mkdir -p ${FINAL_DIR}/lib
cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib
mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1`




Back to the directory where we build openwrt. We create a folder
"files" to prepare files that have to be placed in the firmware.

cd ~/openwrt/r30610
mkdir -p files/opt
cp -a ~/pkg/mips-glibc/pth-2.0.7 files/opt/pth-2.0.7
cp -a ~/pkg/mips-glibc/glib-2.28.8 files/opt/glib-2.28.8
cp -a ~/pkg/mips-glibc/libgee-0.6.1 files/opt/libgee-0.6.1

Build again the firmware
    time ionice -c 3 nice -n 20 make -j 2
       (it takes about 6 min)


We now cross-build netsukuku

export NTK_TOOLCHAIN=${HOME}/openwrt/r30610-full-glibc/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_glibc-2.14
export NTK_TARGET=${HOME}/openwrt/r30610-full-glibc/staging_dir/target-mips_r2_glibc-2.14
export NTK_SDK_HOST=${HOME}/openwrt/r30610-full-glibc/build_dir/target-mips_r2_glibc-2.14/OpenWrt-SDK-ar71xx-for-Linux-i686-gcc-4.6-linaro_glibc-2.14/staging_dir/host
export NTK_ROOT=${HOME}/openwrt/r30610-full-glibc/build_dir/target-mips_r2_glibc-2.14/root-ar71xx

export NTK_NTKD_SRC=${HOME}/savannahnongnu/task
export NTK_GCC='mips-openwrt-linux-gnu-gcc '
export NTK_CFLAGS_GLIB20="-pthread -I${HOME}/pkg/mips-glibc/glib-2.28.8-dev/include -I${HOME}/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include -I${NTK_TARGET}/usr/include "
export NTK_LIBS_GLIB20="-Wl,-rpath-link,${NTK_TARGET}/usr/lib/libintl-full/lib -Wl,-rpath-link,${NTK_TARGET}/usr/lib/libiconv-full/lib -Wl,-rpath-link,${NTK_TARGET}/usr/lib -Wl,-rpath-link,${HOME}/pkg/mips-glibc/glib-2.28.8-dev/lib -L${HOME}/pkg/mips-glibc/glib-2.28.8-dev/lib -L${NTK_TARGET}/usr/lib/libintl-full/lib -L${NTK_TARGET}/usr/lib/libiconv-full/lib -L${NTK_TARGET}/usr/lib -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 "
export NTK_CFLAGS_GEE10="-pthread -I${HOME}/pkg/mips-glibc/libgee-0.6.1-dev/include/gee-1.0 "
export NTK_LIBS_GEE10="-Wl,-rpath-link,${HOME}/pkg/mips-glibc/libgee-0.6.1-dev/lib -L${HOME}/pkg/mips-glibc/libgee-0.6.1-dev/lib -pthread -lgee "
export NTK_CFLAGS_PTH2="-I${HOME}/pkg/mips-glibc/pth-2.0.7-dev/include "
export NTK_LIBS_PTH2="-L${HOME}/pkg/mips-glibc/pth-2.0.7-dev/lib -lpth "
export NTK_CFLAGS_GCRYPT="-I${NTK_TARGET}/usr/include "
export NTK_LIBS_GCRYPT="-L${NTK_TARGET}/usr/lib -lgcrypt -lgpg-error "
export NTK_VALA_DEF='-D linux -D bigendian '

export PATH=${NTK_TOOLCHAIN}/bin:${PATH}

export STAGING_DIR=${HOME}/openwrt/r30610-full-glibc/staging_dir

mkdir build
cd build

ln -s ${NTK_NTKD_SRC}/*.vapi .
ln -s ${NTK_NTKD_SRC}/ntkd.vala
ln -s ${NTK_NTKD_SRC}/ntk_node.vala
ln -s ${NTK_NTKD_SRC}/networkinterfaces.vala
ln -s ${NTK_NTKD_SRC}/networkinterface_manager.vala
ln -s ${NTK_NTKD_SRC}/neighbour.vala
ln -s ${NTK_NTKD_SRC}/radar.vala
ln -s ${NTK_NTKD_SRC}/inet_ends.vala
ln -s ${NTK_NTKD_SRC}/tasklet_blocking_sockets.vala
ln -s ${NTK_NTKD_SRC}/nic_generic.vala
ln -s ${NTK_NTKD_SRC}/route_generic.vala
ln -s ${NTK_NTKD_SRC}/metrics.vala
ln -s ${NTK_NTKD_SRC}/rpc.vala
ln -s ${NTK_NTKD_SRC}/messages.vala
ln -s ${NTK_NTKD_SRC}/remotable_interfaces.vala
ln -s ${NTK_NTKD_SRC}/serializer.vala
ln -s ${NTK_NTKD_SRC}/settings.vala
ln -s ${NTK_NTKD_SRC}/network_linux.vala
ln -s ${NTK_NTKD_SRC}/microfunc.vala
ln -s ${NTK_NTKD_SRC}/addresses.vala
ln -s ${NTK_NTKD_SRC}/krnl_route.vala
ln -s ${NTK_NTKD_SRC}/address_manager.vala
ln -s ${NTK_NTKD_SRC}/auxiliary.vala
ln -s ${NTK_NTKD_SRC}/bnodetunneling.vala
ln -s ${NTK_NTKD_SRC}/rpc_clients.vala
ln -s ${NTK_NTKD_SRC}/tunnel.vala
ln -s ${NTK_NTKD_SRC}/border_nodes.vala
ln -s ${NTK_NTKD_SRC}/migration.vala
ln -s ${NTK_NTKD_SRC}/coord.vala
ln -s ${NTK_NTKD_SRC}/counter.vala
ln -s ${NTK_NTKD_SRC}/andna.vala
ln -s ${NTK_NTKD_SRC}/peer_to_peer.vala
ln -s ${NTK_NTKD_SRC}/qspn.vala
ln -s ${NTK_NTKD_SRC}/aggregated_neighbour.vala
ln -s ${NTK_NTKD_SRC}/maproute.vala
ln -s ${NTK_NTKD_SRC}/incoming_nodes.vala
ln -s ${NTK_NTKD_SRC}/hook.vala
ln -s ${NTK_NTKD_SRC}/networkid.vala
ln -s ${NTK_NTKD_SRC}/crypto.vala
ln -s ${NTK_NTKD_SRC}/inet_utils.vala
ln -s ${NTK_NTKD_SRC}/map.vala
ln -s ${NTK_NTKD_SRC}/topology.vala
ln -s ${NTK_NTKD_SRC}/tasklet.vala
ln -s ${NTK_NTKD_SRC}/channel.vala
ln -s ${NTK_NTKD_SRC}/time_utils.vala
ln -s ${NTK_NTKD_SRC}/logger.vala
ln -s ${NTK_NTKD_SRC}/libwrappth.vala
ln -s ${NTK_NTKD_SRC}/use_with_libpth_vapi.vala

valac ${NTK_VALA_DEF} -D log_tasklet -C --main=Ntk.Core.Ntkd.main \
         ntkd.vala \
         ntk_node.vala \
         networkinterfaces.vala \
         networkinterface_manager.vala \
         neighbour.vala \
         radar.vala \
         inet_ends.vala \
         tasklet_blocking_sockets.vala \
         nic_generic.vala \
         route_generic.vala \
         metrics.vala \
         rpc.vala \
         messages.vala \
         remotable_interfaces.vala \
         serializer.vala \
         settings.vala \
         network_linux.vala \
         microfunc.vala \
         addresses.vala \
         address_manager.vala \
         auxiliary.vala \
         bnodetunneling.vala \
         krnl_route.vala \
         rpc_clients.vala \
         tunnel.vala \
         border_nodes.vala \
         migration.vala \
         coord.vala \
         counter.vala \
         andna.vala \
         peer_to_peer.vala \
         qspn.vala \
         aggregated_neighbour.vala \
         maproute.vala \
         incoming_nodes.vala \
         hook.vala \
         networkid.vala \
         crypto.vala \
         inet_utils.vala \
         map.vala \
         topology.vala \
         tasklet.vala \
         channel.vala \
         time_utils.vala \
         logger.vala \
         libwrappth.vala \
         use_with_libpth_vapi.vala \
         --pkg gcrypt \
         --pkg gee-1.0 --pkg gio-2.0 --pkg posix --pkg posix_extras --pkg linux --pkg libpth --vapidir .

${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c ntkd.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c ntk_node.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c networkinterfaces.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c networkinterface_manager.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c neighbour.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c radar.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c inet_ends.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c tasklet_blocking_sockets.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c nic_generic.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c route_generic.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c metrics.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c rpc.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c messages.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c remotable_interfaces.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c serializer.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c settings.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c network_linux.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c microfunc.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c addresses.c
${NTK_GCC} ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c address_manager.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c auxiliary.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c bnodetunneling.c
${NTK_GCC} ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c krnl_route.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c rpc_clients.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c tunnel.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c border_nodes.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c migration.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c coord.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c counter.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c andna.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c peer_to_peer.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c qspn.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c aggregated_neighbour.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c maproute.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c incoming_nodes.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c hook.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c networkid.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c crypto.c
${NTK_GCC} ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c inet_utils.c
${NTK_GCC} ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c map.c
${NTK_GCC} ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c topology.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c tasklet.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c channel.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c time_utils.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c logger.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c libwrappth.c
${NTK_GCC} -Os ${NTK_CFLAGS_GLIB20} ${NTK_CFLAGS_GEE10} ${NTK_CFLAGS_PTH2} ${NTK_CFLAGS_GCRYPT} -c use_with_libpth_vapi.c
${NTK_GCC} -Os -o ntkd -Wl,-z,origin,-rpath,\$ORIGIN \
       ntkd.o \
       ntk_node.o \
       networkinterfaces.o \
       networkinterface_manager.o \
       neighbour.o \
       radar.o \
       inet_ends.o \
       tasklet_blocking_sockets.o \
       nic_generic.o \
       route_generic.o \
       metrics.o \
       rpc.o \
       messages.o \
       remotable_interfaces.o \
       serializer.o \
       settings.o \
       network_linux.o \
       microfunc.o \
       addresses.o \
       address_manager.o \
       auxiliary.o \
       bnodetunneling.o \
       krnl_route.o \
       rpc_clients.o \
       tunnel.o \
       border_nodes.o \
       migration.o \
       coord.o \
       counter.o \
       andna.o \
       peer_to_peer.o \
       qspn.o \
       aggregated_neighbour.o \
       maproute.o \
       incoming_nodes.o \
       hook.o \
       networkid.o \
       crypto.o \
       inet_utils.o \
       map.o \
       topology.o \
       tasklet.o \
       channel.o \
       time_utils.o \
       logger.o \
       libwrappth.o \
       use_with_libpth_vapi.o \
       -lm \
  ${NTK_LIBS_GLIB20} \
  ${NTK_LIBS_GEE10} \
  ${NTK_LIBS_PTH2} \
  ${NTK_LIBS_GCRYPT}

rm -f *.vapi *.vala *.c *.o